Jean-Daniel Dupas
2010-Apr-26 08:13 UTC
[LLVMdev] r102300 breaks Obj-C codegen on Darwin x86
After commit 102300, any obj-c software compiled with clang crashes at launch time with the following stack trace. Reverting this specific commit fix the issue. ------------------------------------------------------------------------------------------------ Date/Time: 2010-04-26 10:07:01.630 +0200 OS Version: Mac OS X 10.6.3 (10D573) Report Version: 6 Interval Since Last Report: 333376 sec Crashes Since Last Report: 5 Per-App Crashes Since Last Report: 1 Anonymous UUID: C67EBC9D-4A73-4DA7-B067-E5006618C178 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000074696e55 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libobjc.A.dylib 0x913d3348 _objc_search_builtins + 299 1 libobjc.A.dylib 0x913d313e __sel_registerName + 44 2 libobjc.A.dylib 0x913d6269 map_method_descs + 47 3 libobjc.A.dylib 0x913d4094 _read_images + 2116 4 libobjc.A.dylib 0x913e9933 map_images_nolock + 1545 5 libobjc.A.dylib 0x913d30d9 map_images + 72 6 dyld 0x8fe03ecc dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 698 7 dyld 0x8fe04359 dyld::registerImageStateBatchChangeHandler(dyld_image_states, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 452 8 libSystem.B.dylib 0x958d3892 dyld_register_image_state_change_handler + 98 9 libobjc.A.dylib 0x913d306d _objc_init + 77 10 dyld 0x8fe0ed6d ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 235 11 dyld 0x8fe0d31e ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 246 12 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 13 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 14 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 15 dyld 0x8fe0d3d1 ImageLoader::runInitializers(ImageLoader::LinkContext const&) + 61 16 dyld 0x8fe024a9 dyld::initializeMainExecutable() + 134 17 dyld 0x8fe07950 dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) + 4189 18 dyld 0x8fe018b1 dyldbootstrap::start(macho_header const*, int, char const**, long) + 779 19 dyld 0x8fe01057 _dyld_start + 39 -- Jean-Daniel
Jean-Daniel Dupas
2010-Apr-26 11:01 UTC
[LLVMdev] r102300 breaks Obj-C codegen on Darwin x86
I managed to build a reduced test case: ================== foo.m ================= #include <Foundation/Foundation.h> @interface BaseNode : NSObject <NSCoding, NSCopying> { } @end @implementation BaseNode @end int main(int argc, char **argv) { return 0; } ========================================= # clang -o foo -arch i386 -framework Foundation foo.m foo.m:8:1: warning: incomplete implementation @implementation BaseNode ^ 1 warning generated. # ./foo Segmentation fault Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x6e697970 #0 0x913d3348 in _objc_search_builtins () #1 0x913d313e in __sel_registerName () #2 0x913d6269 in map_method_descs () #3 0x913d4094 in _read_images () #4 0x913e9933 in map_images_nolock () #5 0x913d30d9 in map_images () #6 0x8fe03ecc in __dyld__ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE () #7 0x8fe04359 in __dyld__ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE () #8 0x958d3892 in dyld_register_image_state_change_handler () #9 0x913d306d in _objc_init () #10 0x8fe0ed6d in __dyld__ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE () #11 0x8fe0d31e in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj () #12 0x8fe0d2c2 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj () #13 0x8fe0d2c2 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj () #14 0x8fe0d3d1 in __dyld__ZN11ImageLoader15runInitializersERKNS_11LinkContextE () #15 0x8fe024a9 in __dyld__ZN4dyld24initializeMainExecutableEv () #16 0x8fe07950 in __dyld__ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_ () #17 0x8fe018b1 in __dyld__ZN13dyldbootstrap5startEPK12macho_headeriPPKcl () #18 0x8fe01057 in __dyld__dyld_start () Le 26 avr. 2010 à 10:13, Jean-Daniel Dupas a écrit :> After commit 102300, any obj-c software compiled with clang crashes at launch time with the following stack trace. > Reverting this specific commit fix the issue. > > ------------------------------------------------------------------------------------------------ > Date/Time: 2010-04-26 10:07:01.630 +0200 > OS Version: Mac OS X 10.6.3 (10D573) > Report Version: 6 > > Interval Since Last Report: 333376 sec > Crashes Since Last Report: 5 > Per-App Crashes Since Last Report: 1 > Anonymous UUID: C67EBC9D-4A73-4DA7-B067-E5006618C178 > > Exception Type: EXC_BAD_ACCESS (SIGSEGV) > Exception Codes: KERN_INVALID_ADDRESS at 0x0000000074696e55 > Crashed Thread: 0 Dispatch queue: com.apple.main-thread > > Thread 0 Crashed: Dispatch queue: com.apple.main-thread > 0 libobjc.A.dylib 0x913d3348 _objc_search_builtins + 299 > 1 libobjc.A.dylib 0x913d313e __sel_registerName + 44 > 2 libobjc.A.dylib 0x913d6269 map_method_descs + 47 > 3 libobjc.A.dylib 0x913d4094 _read_images + 2116 > 4 libobjc.A.dylib 0x913e9933 map_images_nolock + 1545 > 5 libobjc.A.dylib 0x913d30d9 map_images + 72 > 6 dyld 0x8fe03ecc dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 698 > 7 dyld 0x8fe04359 dyld::registerImageStateBatchChangeHandler(dyld_image_states, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 452 > 8 libSystem.B.dylib 0x958d3892 dyld_register_image_state_change_handler + 98 > 9 libobjc.A.dylib 0x913d306d _objc_init + 77 > 10 dyld 0x8fe0ed6d ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 235 > 11 dyld 0x8fe0d31e ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 246 > 12 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 > 13 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 > 14 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 > 15 dyld 0x8fe0d3d1 ImageLoader::runInitializers(ImageLoader::LinkContext const&) + 61 > 16 dyld 0x8fe024a9 dyld::initializeMainExecutable() + 134 > 17 dyld 0x8fe07950 dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) + 4189 > 18 dyld 0x8fe018b1 dyldbootstrap::start(macho_header const*, int, char const**, long) + 779 > 19 dyld 0x8fe01057 _dyld_start + 39 > > > > -- Jean-Daniel > > > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-- Jean-Daniel -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100426/034c71f7/attachment.html>
Eric Christopher
2010-Apr-26 15:14 UTC
[LLVMdev] r102300 breaks Obj-C codegen on Darwin x86
Sending to Chris explicitly since he checked it in :) -eric On Apr 26, 2010, at 4:01 AM, Jean-Daniel Dupas wrote:> I managed to build a reduced test case: > > ================== foo.m =================> > #include <Foundation/Foundation.h> > > @interface BaseNode : NSObject <NSCoding, NSCopying> { } > > @end > > @implementation BaseNode > > @end > > int main(int argc, char **argv) { > return 0; > } > > =========================================> > # clang -o foo -arch i386 -framework Foundation foo.m > foo.m:8:1: warning: incomplete implementation > @implementation BaseNode > ^ > 1 warning generated. > # ./foo > Segmentation fault > > Program received signal EXC_BAD_ACCESS, Could not access memory. > Reason: KERN_INVALID_ADDRESS at address: 0x6e697970 > > #0 0x913d3348 in _objc_search_builtins () > #1 0x913d313e in __sel_registerName () > #2 0x913d6269 in map_method_descs () > #3 0x913d4094 in _read_images () > #4 0x913e9933 in map_images_nolock () > #5 0x913d30d9 in map_images () > #6 0x8fe03ecc in __dyld__ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE () > #7 0x8fe04359 in __dyld__ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE () > #8 0x958d3892 in dyld_register_image_state_change_handler () > #9 0x913d306d in _objc_init () > #10 0x8fe0ed6d in __dyld__ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE () > #11 0x8fe0d31e in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj () > #12 0x8fe0d2c2 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj () > #13 0x8fe0d2c2 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj () > #14 0x8fe0d3d1 in __dyld__ZN11ImageLoader15runInitializersERKNS_11LinkContextE () > #15 0x8fe024a9 in __dyld__ZN4dyld24initializeMainExecutableEv () > #16 0x8fe07950 in __dyld__ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_ () > #17 0x8fe018b1 in __dyld__ZN13dyldbootstrap5startEPK12macho_headeriPPKcl () > #18 0x8fe01057 in __dyld__dyld_start () > > > Le 26 avr. 2010 à 10:13, Jean-Daniel Dupas a écrit : > >> After commit 102300, any obj-c software compiled with clang crashes at launch time with the following stack trace. >> Reverting this specific commit fix the issue. >> >> ------------------------------------------------------------------------------------------------ >> Date/Time: 2010-04-26 10:07:01.630 +0200 >> OS Version: Mac OS X 10.6.3 (10D573) >> Report Version: 6 >> >> Interval Since Last Report: 333376 sec >> Crashes Since Last Report: 5 >> Per-App Crashes Since Last Report: 1 >> Anonymous UUID: C67EBC9D-4A73-4DA7-B067-E5006618C178 >> >> Exception Type: EXC_BAD_ACCESS (SIGSEGV) >> Exception Codes: KERN_INVALID_ADDRESS at 0x0000000074696e55 >> Crashed Thread: 0 Dispatch queue: com.apple.main-thread >> >> Thread 0 Crashed: Dispatch queue: com.apple.main-thread >> 0 libobjc.A.dylib 0x913d3348 _objc_search_builtins + 299 >> 1 libobjc.A.dylib 0x913d313e __sel_registerName + 44 >> 2 libobjc.A.dylib 0x913d6269 map_method_descs + 47 >> 3 libobjc.A.dylib 0x913d4094 _read_images + 2116 >> 4 libobjc.A.dylib 0x913e9933 map_images_nolock + 1545 >> 5 libobjc.A.dylib 0x913d30d9 map_images + 72 >> 6 dyld 0x8fe03ecc dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 698 >> 7 dyld 0x8fe04359 dyld::registerImageStateBatchChangeHandler(dyld_image_states, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 452 >> 8 libSystem.B.dylib 0x958d3892 dyld_register_image_state_change_handler + 98 >> 9 libobjc.A.dylib 0x913d306d _objc_init + 77 >> 10 dyld 0x8fe0ed6d ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 235 >> 11 dyld 0x8fe0d31e ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 246 >> 12 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 >> 13 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 >> 14 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 >> 15 dyld 0x8fe0d3d1 ImageLoader::runInitializers(ImageLoader::LinkContext const&) + 61 >> 16 dyld 0x8fe024a9 dyld::initializeMainExecutable() + 134 >> 17 dyld 0x8fe07950 dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) + 4189 >> 18 dyld 0x8fe018b1 dyldbootstrap::start(macho_header const*, int, char const**, long) + 779 >> 19 dyld 0x8fe01057 _dyld_start + 39 >> >> >> >> -- Jean-Daniel >> >> >> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > -- Jean-Daniel > > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Thanks for the head's up. It looks like metadata is getting overaligned, making the runtime cranky. I'll revert it and fix the PR another way, thanks again! -Chris On Apr 26, 2010, at 1:13 AM, Jean-Daniel Dupas wrote:> After commit 102300, any obj-c software compiled with clang crashes at launch time with the following stack trace. > Reverting this specific commit fix the issue. > > ------------------------------------------------------------------------------------------------ > Date/Time: 2010-04-26 10:07:01.630 +0200 > OS Version: Mac OS X 10.6.3 (10D573) > Report Version: 6 > > Interval Since Last Report: 333376 sec > Crashes Since Last Report: 5 > Per-App Crashes Since Last Report: 1 > Anonymous UUID: C67EBC9D-4A73-4DA7-B067-E5006618C178 > > Exception Type: EXC_BAD_ACCESS (SIGSEGV) > Exception Codes: KERN_INVALID_ADDRESS at 0x0000000074696e55 > Crashed Thread: 0 Dispatch queue: com.apple.main-thread > > Thread 0 Crashed: Dispatch queue: com.apple.main-thread > 0 libobjc.A.dylib 0x913d3348 _objc_search_builtins + 299 > 1 libobjc.A.dylib 0x913d313e __sel_registerName + 44 > 2 libobjc.A.dylib 0x913d6269 map_method_descs + 47 > 3 libobjc.A.dylib 0x913d4094 _read_images + 2116 > 4 libobjc.A.dylib 0x913e9933 map_images_nolock + 1545 > 5 libobjc.A.dylib 0x913d30d9 map_images + 72 > 6 dyld 0x8fe03ecc dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 698 > 7 dyld 0x8fe04359 dyld::registerImageStateBatchChangeHandler(dyld_image_states, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 452 > 8 libSystem.B.dylib 0x958d3892 dyld_register_image_state_change_handler + 98 > 9 libobjc.A.dylib 0x913d306d _objc_init + 77 > 10 dyld 0x8fe0ed6d ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 235 > 11 dyld 0x8fe0d31e ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 246 > 12 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 > 13 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 > 14 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154 > 15 dyld 0x8fe0d3d1 ImageLoader::runInitializers(ImageLoader::LinkContext const&) + 61 > 16 dyld 0x8fe024a9 dyld::initializeMainExecutable() + 134 > 17 dyld 0x8fe07950 dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) + 4189 > 18 dyld 0x8fe018b1 dyldbootstrap::start(macho_header const*, int, char const**, long) + 779 > 19 dyld 0x8fe01057 _dyld_start + 39 > > > > -- Jean-Daniel > > > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Possibly Parallel Threads
- [LLVMdev] r102300 breaks Obj-C codegen on Darwin x86
- [LLVMdev] Strange crash with LLVM 3.3
- [LLVMdev] radr://12777299, "potential pthread/eh bug exposed by libsanitizer"
- Some suggestions for extra metadata
- [LLVMdev] radr://12777299, "potential pthread/eh bug exposed by libsanitizer"