yamt opened a new issue, #15228:
URL: https://github.com/apache/nuttx/issues/15228

   ### Description / Steps to reproduce the issue
   
   libuv crashes (a NULL dereference) as the following on sim/macOS. (macOS 
15.2, x86-64, Xcode 16.1)
   that is, the constructor is called too early it seems.
   while we have a mechanism to defer constructor calls on sim,
   there are at least two problems:
   * the mechanism is tied to C++. (the code in question is in C, not C++)
   * it doesn't work for the latest macOS 
(https://github.com/apache/nuttx/issues/15208)
   
   ```
   (lldb) bt
   * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS 
(code=1, address=0xa8)
     * frame #0: 0x0000000100007f15 nuttx`nxsched_get_stackinfo(pid=0, 
stackinfo=0x00007ff7bfee96d8) at sched_get_stackinfo.c:103:38
       frame #1: 0x000000010002e0d9 nuttx`tls_get_info at tls_getinfo.c:64:9
       frame #2: 0x000000010002e0a6 nuttx`task_get_info at task_getinfo.c:52:33
       frame #3: 0x000000010002b92c nuttx`atexit_register(type=4, 
func=(nuttx`uv_library_shutdown at uv-common.c:941), arg=0x0000000000000000, 
dso=0x0000000100113328) at lib_atexit.c:70:36
       frame #4: 0x000000010002bc4a 
nuttx`__cxa_atexit(func=(nuttx`uv_library_shutdown at uv-common.c:941), 
arg=0x0000000000000000, dso_handle=0x0000000100113328) at lib_atexit.c:270:10
       frame #5: 0x00000001000fccb8 nuttx`__GLOBAL_init_65535 + 24
       frame #6: 0x00007ff8045d2729 dyld`invocation function for block in 
dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 241
       frame #7: 0x00007ff80460b4e9 dyld`invocation function for block in 
dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, 
dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) 
block_pointer, void const*) const + 241
       frame #8: 0x00007ff8045ffb73 dyld`invocation function for block in 
dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, 
bool, bool&) block_pointer) const + 543
       frame #9: 0x00007ff8045ba07b 
dyld`dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command 
const*, bool&) block_pointer) const + 249
       frame #10: 0x00007ff8045febe8 dyld`dyld3::MachOFile::forEachSection(void 
(dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 176
       frame #11: 0x00007ff80460b0d4 
dyld`dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, 
dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) 
block_pointer, void const*) const + 470
       frame #12: 0x00007ff8045d25c2 
dyld`dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 150
       frame #13: 0x00007ff8045d8af7 
dyld`dyld4::JustInTimeLoader::runInitializers(dyld4::RuntimeState&) const + 21
       frame #14: 0x00007ff8045d2928 
dyld`dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, 
dyld3::Array<dyld4::Loader const*>&, dyld3::Array<dyld4::Loader const*>&) const 
+ 276
       frame #15: 0x00007ff8045d6141 
dyld`dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&)
 const::$_0::operator()() const + 147
       frame #16: 0x00007ff8045d29bc 
dyld`dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&)
 const + 90
       frame #17: 0x00007ff8045ee1f7 
dyld`dyld4::APIs::runAllInitializersForMain() + 277
       frame #18: 0x00007ff8045bf52e dyld`dyld4::prepare(dyld4::APIs&, 
dyld3::MachOAnalyzer const*) + 3433
       frame #19: 0x00007ff8045be792 dyld`dyld4::start(dyld4::KernelArgs*, 
void*, void*)::$_0::operator()() const + 572
       frame #20: 0x00007ff8045be27f dyld`start + 1727
   (lldb)
   ```
   
   
   ### On which OS does this issue occur?
   
   [OS: Mac]
   
   ### What is the version of your OS?
   
   macOS 15.2
   
   ### NuttX Version
   
   master
   
   ### Issue Architecture
   
   [Arch: simulator]
   
   ### Issue Area
   
   [Area: Other]
   
   ### Verification
   
   - [X] I have verified before submitting the report.


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