dylan-lang / opendylan

Open Dylan compiler and IDE
http://opendylan.org/
Other
456 stars 69 forks source link

Infinite loop during initialization #220

Closed waywardmonkeys closed 12 years ago

waywardmonkeys commented 12 years ago

This happens on OS X now and didn't before:

#0  0x000d1c64 in dyld_stub_pthread_getspecific ()
#1  0x0002afcd in get_teb () at posix-threads.c:78
#2  0x00037f26 in Kend_locking_object_cellYdispatch_engine_internalVdylanI (cell_=0xd34f0) at new-dispatch.c:7145
#3  0x0003b843 in Kend_locking_multiple_objectsYdispatch_engine_internalVdylanI (hd_=0x1adccc0, tl_=0x1adccc0) at new-dispatch.c:6878
#4  0x0003c4ce in Khandle_missed_dispatch_1VKgI (d_=0xd3b94, parent_=0xd524c, args_=0xbfffce44) at new-dispatch.c:14386
#5  0x0003c5c7 in Khandle_missed_dispatchVKgI (d_=0xd3b94, parent_=0xd524c, args_=0xbfffce44) at new-dispatch.c:14190
#6  0x0003c5e8 in KPgf_dispatch_absentVKgI (mepargs_=0xbfffce44, e_=0xd3b94, parent_=0xd524c) at new-dispatch.c:3125
#7  0x000c45ea in general_engine_node_n_engine (a1=0x1ae1f40) at /Users/bruce/Development/opendylan/sources/dfmc/c-run-time/run-time.c:2674
#8  0x000436bc in Kupgrade_gf_cache_infoXYdispatch_engine_internalVdylanI (new_=0x1ae3fa8, ds_=0x1ae5fc0, users_=0xd3484) at dispatch-caches.c:1562
#9  0x0004370c in Kupgrade_simple_typechecked_gf_cache_infoXYdispatch_engine_internalVdylanI (new_=0x1ae3fa8, ds_=0x1ae5fc0, argmask_=0x21, entries_=0xd3484, users_=0xd3484) at dispatch-caches.c:1687
#10 0x000438cf in Kupgrade_to_simple_typechecked_gf_cache_infoYdispatch_engine_internalVdylanI (old_=0x21, ds_=0x1ae5fc0) at dispatch-caches.c:1648
#11 0x00043dd0 in Khandle_simple_typechecked_cache_headYdispatch_engine_internalVdylanI (ds_=0x1ae5fc0, cache_=0x21, old_=0x123cf8) at dispatch-caches.c:1074
#12 0x00041f16 in Kcompute_dispatch_engineYdispatch_engine_internalVdylanI (ds_=0x1ae5fc0) at discrimination.c:1765
#13 0x0003c4b8 in Khandle_missed_dispatch_1VKgI (d_=0xd3b94, parent_=0x123cf8, args_=0xbfffd254) at new-dispatch.c:14378
#14 0x0003c5c7 in Khandle_missed_dispatchVKgI (d_=0xd3b94, parent_=0x123cf8, args_=0xbfffd254) at new-dispatch.c:14190
#15 0x0003c5e8 in KPgf_dispatch_absentVKgI (mepargs_=0xbfffd254, e_=0xd3b94, parent_=0x123cf8) at new-dispatch.c:3125
#16 0x000c45ea in general_engine_node_n_engine (a1=0x110078) at /Users/bruce/Development/opendylan/sources/dfmc/c-run-time/run-time.c:2674
#17 0x00021588 in Kallocate_instance_iVKiI (iclass_=0x110c80, init_args_=0xbfffd384) at class.c:10120
#18 0x0002162b in Kallocate_instanceVKeI (class_=0x110078, init_args_=0xbfffd384) at class.c:5472
#19 0x0001e649 in KLstretchy_object_vector_representationGZ32ZconstructorVKiMM0I (class_=0x110078, init_args_=0xbfffd384, Uunique_Psize_=0x1, Uunique_size_=0x1) at stretchy-vector.c:4039
#20 0x0001e6d6 in _Init_dylan__X_stretchy_vector_for_user () at stretchy-vector.c:6710
#21 0x0001b427 in _Init_dylan_ () at _glue.c:325
#22 0x8fe0ed6d in __dyld__ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE ()
#23 0x8fe0d31e in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj ()
#24 0x8fe0d2c2 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj ()
#25 0x8fe0d2c2 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj ()
#26 0x8fe0d3d1 in __dyld__ZN11ImageLoader15runInitializersERKNS_11LinkContextE ()
#27 0x8fe024a9 in __dyld__ZN4dyld24initializeMainExecutableEv ()
#28 0x8fe07950 in __dyld__ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_ ()
#29 0x8fe018b1 in __dyld__ZN13dyldbootstrap5startEPK12macho_headeriPPKcl ()
#30 0x8fe01057 in __dyld__dyld_start ()
hannesm commented 12 years ago

very same as on FreeBSD-64. for some reason my compiler on macosx is still happy.

I suspect some typist change is guilty.

waywardmonkeys commented 12 years ago

I would also consider potential candidates to be the threading changes in the C backend or optimization levels.

OS X is fine for me on my Lion (xcode4) box, but not on Snow Leopard (xcode3, my laptop).

waywardmonkeys commented 12 years ago

This was due to the setjmp / longjmp changes. Fixed now.

hannesm commented 12 years ago

oh cool, will retry the FreeBSD-64 once I've some spare time! Thanks a lot, @waywardmonkeys