peter-toth commented on issue #9375:
URL: https://github.com/apache/datafusion/issues/9375#issuecomment-2469909998
> So I got curious and wanted to test #13310 on this example too. It doesn't
seem to resolve it, though now instead of a stack overflow I see a `bus error`
on Mac M2—anyone seeing that too?
Bus error is similar to stack overflow in this case. The stacktrace looks
like the following with the blowout2 example on latest `main`:
```
Process 31194 stopped
* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason =
EXC_BAD_ACCESS (code=2, address=0x16f607940)
frame #0: 0x0000000100ebc86c
datafusion-cli`_$LT$sqlparser..ast..Expr$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hece9cb577e66b52f(self=<unavailable>,
visitor=<unavailable>) at mod.rs:532
529 #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
530 #[cfg_attr(
531 feature = "visitor",
-> 532 derive(Visit, VisitMut),
533 visit(with = "visit_expr")
534 )]
535 pub enum Expr {
Target 0: (datafusion-cli) stopped.
(lldb) thread backtrace
* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason =
EXC_BAD_ACCESS (code=2, address=0x16f607940)
* frame #0: 0x0000000100ebc86c
datafusion-cli`_$LT$sqlparser..ast..Expr$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hece9cb577e66b52f(self=<unavailable>,
visitor=<unavailable>) at mod.rs:532
frame #1: 0x0000000100dc2bf4
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hf156d31d19b0b1a1(self=0x000005506c4bca28,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
frame #2: 0x0000000100ebcd28
datafusion-cli`_$LT$sqlparser..ast..Expr$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hece9cb577e66b52f(self=0x000005506c4bca00,
visitor=0x000000016fd8e3a0) at mod.rs:603:9
frame #3: 0x0000000100dc2bf4
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hf156d31d19b0b1a1(self=0x000005506c4bcf28,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
frame #4: 0x0000000100ebcd28
datafusion-cli`_$LT$sqlparser..ast..Expr$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hece9cb577e66b52f(self=0x000005506c4bcf00,
visitor=0x000000016fd8e3a0) at mod.rs:603:9
frame #5: 0x0000000100dc2bf4
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hf156d31d19b0b1a1(self=0x000005506c4bd428,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
... repeating frames...
frame #7575: 0x0000000100dc2bf4
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hf156d31d19b0b1a1(self=0x000005506cc46a28,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
frame #7576: 0x0000000100ebcd28
datafusion-cli`_$LT$sqlparser..ast..Expr$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hece9cb577e66b52f(self=0x000005506cc46a00,
visitor=0x000000016fd8e3a0) at mod.rs:603:9
frame #7577: 0x0000000100dc2bf4
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hf156d31d19b0b1a1(self=0x000005506cc46f28,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
frame #7578: 0x0000000100ebcd28
datafusion-cli`_$LT$sqlparser..ast..Expr$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hece9cb577e66b52f(self=0x000005506cc46f00,
visitor=0x000000016fd8e3a0) at mod.rs:603:9
frame #7579: 0x0000000100dc2bf4
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hf156d31d19b0b1a1(self=0x000005506c260550,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
frame #7580: 0x0000000100ebcd28
datafusion-cli`_$LT$sqlparser..ast..Expr$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hece9cb577e66b52f(self=0x000005506c260528,
visitor=0x000000016fd8e3a0) at mod.rs:603:9
frame #7581: 0x0000000100c6d070
datafusion-cli`_$LT$core..option..Option$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::h0e35f5cc1d3482a7(self=0x000005506c260528,
visitor=0x000000016fd8e3a0) at visitor.rs:51:13
frame #7582: 0x0000000100c4c96c
datafusion-cli`_$LT$sqlparser..ast..query..Select$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::h7328cfc81f60a4d1(self=0x000005506c260400,
visitor=0x000000016fd8e3a0) at query.rs:290:5
frame #7583: 0x0000000100dc2ad4
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::h9d95e625eaf3c604(self=0x000005506cc50208,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
frame #7584: 0x0000000100c4ce10
datafusion-cli`_$LT$sqlparser..ast..query..SetExpr$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::h188e4027db64c4f9(self=0x000005506cc50200,
visitor=0x000000016fd8e3a0) at query.rs:136:12
frame #7585: 0x0000000100dc2a44
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::h1ad78804abfe3e37(self=0x000005506c0d1280,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
frame #7586: 0x0000000100c4c3f0
datafusion-cli`_$LT$sqlparser..ast..query..Query$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::h57b8fe7313e25a1f(self=0x000005506c0d0e00,
visitor=0x000000016fd8e3a0) at query.rs:33:5
frame #7587: 0x0000000100dc2b94
datafusion-cli`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::he5ad221bedc68f4e(self=0x000005506cc51008,
visitor=0x000000016fd8e3a0) at visitor.rs:68:9
frame #7588: 0x0000000100ebf70c
datafusion-cli`_$LT$sqlparser..ast..Statement$u20$as$u20$sqlparser..ast..visitor..Visit$GT$::visit::hf760c8f9e44438fb(self=0x000005506cc51000,
visitor=0x000000016fd8e3a0) at mod.rs:2189:11
frame #7589: 0x0000000100c4be50
datafusion-cli`datafusion::catalog_common::resolve_table_references::visit_statement::he584f15ccc7bb0e6(statement=0x000005506c1d54d0,
visitor=0x000000016fd8e3a0) at mod.rs:181:25
frame #7590: 0x0000000100c4b50c
datafusion-cli`datafusion::catalog_common::resolve_table_references::h514b49e9b68ba0eb(statement=0x000005506c1d54d0,
enable_ident_normalization=true) at mod.rs:198:5
frame #7591: 0x0000000100afe9e8
datafusion-cli`datafusion::execution::session_state::SessionState::resolve_table_references::h86bbf64d45254dee(self=0x000005506c1d4890,
statement=0x000005506c1d54d0) at session_state.rs:523:31
frame #7592: 0x000000010002b6f8
datafusion-cli`datafusion::execution::session_state::SessionState::statement_to_plan::_$u7b$$u7b$closure$u7d$$u7d$::hfaecfb2dc677af56((null)=0x000000016fdec970)
at session_state.rs:535:26
frame #7593: 0x000000010008dc3c
datafusion-cli`datafusion_cli::exec::create_plan::_$u7b$$u7b$closure$u7d$$u7d$::h67927c394fa1e801((null)=0x000000016fdec970)
at exec.rs:309:69
frame #7594: 0x000000010008eedc
datafusion-cli`datafusion_cli::exec::exec_and_print::_$u7b$$u7b$closure$u7d$$u7d$::h5dfb40af5fb21031((null)=0x000000016fdec970)
at exec.rs:231:48
frame #7595: 0x000000010009250c
datafusion-cli`datafusion_cli::exec::exec_from_lines::_$u7b$$u7b$closure$u7d$$u7d$::h8deef9186caf1cbf((null)=0x000000016fdec970)
at exec.rs:83:69
frame #7596: 0x0000000100091f8c
datafusion-cli`datafusion_cli::exec::exec_from_files::_$u7b$$u7b$closure$u7d$$u7d$::h3d4217517257fe10((null)=0x000000016fdec970)
at exec.rs:119:58
frame #7597: 0x00000001000077d8
datafusion-cli`datafusion_cli::main_inner::_$u7b$$u7b$closure$u7d$$u7d$::hab6d74ec69080026((null)=0x000000016fdec970)
at main.rs:224:60
frame #7598: 0x000000010000879c
datafusion-cli`datafusion_cli::main::_$u7b$$u7b$closure$u7d$$u7d$::h697d34ccd1e284f7((null)=0x000000016fdec970)
at main.rs:131:34
frame #7599: 0x0000000100015d54
datafusion-cli`_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h9ab635cc6d96255f(self=Pin<&mut
core::pin::Pin<alloc::boxed::Box<datafusion_cli::main::{async_block_env#0},
alloc::alloc::Global>>> @ 0x000000016fdec860, cx=0x000000016fdec970) at
future.rs:123:9
frame #7600: 0x0000000100096bdc
datafusion-cli`tokio::runtime::park::CachedParkThread::block_on::_$u7b$$u7b$closure$u7d$$u7d$::hcd3f5dd7af5ce2ca
at park.rs:281:63
frame #7601: 0x00000001000962a8
datafusion-cli`tokio::runtime::park::CachedParkThread::block_on::h4d185a378e617ce3
at coop.rs:107:5
frame #7602: 0x0000000100096250
datafusion-cli`tokio::runtime::park::CachedParkThread::block_on::h4d185a378e617ce3
[inlined]
tokio::runtime::coop::budget::h4645f10741670d69(f={closure_env#0}<core::pin::Pin<alloc::boxed::Box<datafusion_cli::main::{async_block_env#0},
alloc::alloc::Global>>> @ 0x000000016fdec9e8) at coop.rs:73:5
frame #7603: 0x00000001000961d0
datafusion-cli`tokio::runtime::park::CachedParkThread::block_on::h4d185a378e617ce3(self=0x000000016fdeca76,
f=(__pointer = 0x000005506c1d3000)) at park.rs:281:31
frame #7604: 0x000000010006e0e4
datafusion-cli`tokio::runtime::context::blocking::BlockingRegionGuard::block_on::hf507318e5fc00a2b(self=0x000000016fdecb40,
f=(__pointer = 0x000005506c1d3000)) at blocking.rs:66:9
frame #7605: 0x00000001000a2004
datafusion-cli`tokio::runtime::scheduler::multi_thread::MultiThread::block_on::_$u7b$$u7b$closure$u7d$$u7d$::hb0419ba227ee0cc1(blocking=0x000000016fdecb40)
at mod.rs:87:13
frame #7606: 0x00000001000b0384
datafusion-cli`tokio::runtime::context::runtime::enter_runtime::h5827c5aa2d755146(handle=0x000000016fdfa458,
allow_block_in_place=true,
f={closure_env#0}<core::pin::Pin<alloc::boxed::Box<datafusion_cli::main::{async_block_env#0},
alloc::alloc::Global>>> @ 0x000000016fdecaf8) at runtime.rs:65:16
frame #7607: 0x00000001000a1ea4
datafusion-cli`tokio::runtime::scheduler::multi_thread::MultiThread::block_on::h90c18f1478cd44ff(self=0x000000016fdfa430,
handle=0x000000016fdfa458, future=(__pointer = 0x000005506c1d3000)) at
mod.rs:86:9
frame #7608: 0x000000010008a594
datafusion-cli`tokio::runtime::runtime::Runtime::block_on_inner::ha6441b1a0292cd22(self=0x000000016fdfa428,
future=(__pointer = 0x000005506c1d3000), (null)=(_pd =
core::marker::PhantomData<void *> @ 0x000000016fdecc2f)) at runtime.rs:370:45
frame #7609: 0x000000010008a9f4
datafusion-cli`tokio::runtime::runtime::Runtime::block_on::h53200a97a01420ac(self=0x000000016fdfa428,
future={async_block_env#0} @ 0x000000016fdfa5b0) at runtime.rs:340:13
frame #7610: 0x000000010001b178
datafusion-cli`datafusion_cli::main::hf402cd722afe9c8d at main.rs:131:5
frame #7611: 0x0000000100061ca8
datafusion-cli`core::ops::function::FnOnce::call_once::hfd3d15becb98955b((null)=(datafusion-cli`datafusion_cli::main::hf402cd722afe9c8d
at main.rs:130), (null)=<unavailable>) at function.rs:250:5
frame #7612: 0x000000010001ca0c
datafusion-cli`std::sys::backtrace::__rust_begin_short_backtrace::hf7f21602a5b409b2(f=(datafusion-cli`datafusion_cli::main::hf402cd722afe9c8d
at main.rs:130)) at backtrace.rs:154:18
frame #7613: 0x00000001000b2c0c
datafusion-cli`std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h8d9a4a5fc7b2d781
at rt.rs:164:18
frame #7614: 0x0000000104c99590
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 [inlined]
core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$F$GT$::call_once::hf77a1752ba39c45f
at function.rs:284:13 [opt]
frame #7615: 0x0000000104c99588
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 [inlined]
std::panicking::try::do_call::hf02556a6b145ecfc at panicking.rs:554:40 [opt]
frame #7616: 0x0000000104c99584
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 [inlined]
std::panicking::try::h2bb23dba91be7e3b at panicking.rs:518:19 [opt]
frame #7617: 0x0000000104c99584
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 [inlined]
std::panic::catch_unwind::h1844bc6507215052 at panic.rs:345:14 [opt]
frame #7618: 0x0000000104c99584
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 [inlined]
std::rt::lang_start_internal::_$u7b$$u7b$closure$u7d$$u7d$::ha90e2c319598814e
at rt.rs:143:48 [opt]
frame #7619: 0x0000000104c99584
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 [inlined]
std::panicking::try::do_call::h7de69f625a47132a at panicking.rs:554:40 [opt]
frame #7620: 0x0000000104c99584
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 [inlined]
std::panicking::try::h2198f44c68c232f7 at panicking.rs:518:19 [opt]
frame #7621: 0x0000000104c99584
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 [inlined]
std::panic::catch_unwind::h40a34eeb64f44ac6 at panic.rs:345:14 [opt]
frame #7622: 0x0000000104c99584
datafusion-cli`std::rt::lang_start_internal::h9e88109c8deb8787 at rt.rs:143:20
[opt]
frame #7623: 0x00000001000b2bd8
datafusion-cli`std::rt::lang_start::hafc0eb4d69b5d0cb(main=(datafusion-cli`datafusion_cli::main::hf402cd722afe9c8d
at main.rs:130), argc=3, argv=0x000000016fdff170, sigpipe='\0') at rt.rs:163:17
frame #7624: 0x000000010001b224 datafusion-cli`main + 36
frame #7625: 0x00000001996eb154 dyld`start + 2476
```
So it seems this stack overflow comes from `sqlparser`:
https://github.com/apache/datafusion-sqlparser-rs/blob/v0.51.0/src/ast/visitor.rs#L68
Shall we add stacker/recursive there as well?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]