kkollsga commented on issue #50428:
URL: https://github.com/apache/arrow/issues/50428#issuecomment-4924006550

   Crash report (macOS crash reporter, fuller unwind than the earlier lldb 
capture):
   
   ```
   EXC_BAD_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS at 0x0000000000000017
   #0 libarrow.2400.dylib  _mi_theap_collect_retired + 124
   #1 libarrow.2400.dylib  mi_theap_collect_ex + 72
   #2 libarrow.2400.dylib  mi_process_done + 76
   #3 libsystem_c.dylib    __cxa_finalize_ranges + 480
   #4 libsystem_c.dylib    exit + 44
   #5 libdyld.dylib        dyld4::LibSystemHelpers::exit(int) const + 20
   #6 dyld                 dyld4::LibSystemHelpersWrapper::exit(int) const + 172
   #7 dyld                 start + 7232
   ```
   
   So it's libarrow's bundled mimalloc's `mi_process_done` atexit teardown 
dereferencing a corrupted thread-heap page pointer (`0x17` — near-null plus a 
field offset) during `__cxa_finalize`. For completeness: under heavy allocation 
the same corruption can also fire mid-operation (we have a second crash report 
with the fault inside the co-loaded extension during object construction, 
`KERN_PROTECTION_FAILURE` on a guard page) — teardown is just the most 
reproducible manifestation.
   
   Version matrix recap: crash requires pyarrow 24.0.0 + a co-loaded 
mimalloc-v3 extension on CPython ≥3.13 (which vendors mimalloc v3 itself); 
pyarrow 23.0.1/22.0.0 are clean, and switching the extension's copy to mimalloc 
v2 is also clean. Full `.ips` crash reports and the minimal reproducer wheel 
pair available if useful.
   


-- 
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]

Reply via email to