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
Maybe Matching 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"
- [LLVMdev] radr://12777299, "potential pthread/eh bug exposed by libsanitizer"
- [LLVMdev] radr://12777299, "potential pthread/eh bug exposed by libsanitizer"