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]

Reply via email to