[Mono-bugs] [Bug 79750][Nor] New - GC-related segfault when running winforms/updown/swf-updown.exe

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Oct 26 19:05:16 EDT 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by matt at use.net.

http://bugzilla.ximian.com/show_bug.cgi?id=79750

--- shadow/79750	2006-10-26 19:05:16.000000000 -0400
+++ shadow/79750.tmp.31068	2006-10-26 19:05:16.000000000 -0400
@@ -0,0 +1,236 @@
+Bug#: 79750
+Product: Mono: Runtime
+Version: 1.1
+OS: GNU/Linux [Other]
+OS Details: KUbuntu 6.06 x86
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: GC
+AssignedTo: lupus at ximian.com                            
+ReportedBy: matt at use.net               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: GC-related segfault when running winforms/updown/swf-updown.exe
+
+Steps to reproduce the problem:
+1. checkout the winforms dir from SVN
+2. cd winforms/updown; make
+3. mono ./swf-updown.exe
+(this happens with and without --debug, -O=-all, etc)
+
+Actual Results:
+Segmentation fault. valgrind gives the following information:
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810DC39: GC_promote_black_lists (blacklst.c:149)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810DC52: GC_promote_black_lists (blacklst.c:152)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111E03: GC_push_all_eager (mark.c:1469)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111E08: GC_push_all_eager (mark.c:1469)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8111C98: GC_mark_and_push_stack (mark.c:1353)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8111CA9: GC_mark_and_push_stack (mark.c:1353)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x810DA2C: GC_add_to_black_list_stack (blacklst.c:211)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x810DA3A: GC_add_to_black_list_stack (blacklst.c:211)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x810DA6C: GC_add_to_black_list_stack (blacklst.c:221)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8111D43: GC_mark_and_push_stack (mark.c:1364)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x81131D3: GC_base (misc.c:399)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x81131E4: GC_base (misc.c:399)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x810DA52: GC_add_to_black_list_stack (blacklst.c:211)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810DA5B: GC_add_to_black_list_stack (blacklst.c:211)
+==15648== 
+==15648== Invalid read of size 4
+==15648==    at 0x8111DFF: GC_push_all_eager (mark.c:1468)
+==15648==  Address 0x4C3F1F8 is on thread 3's stack
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8111CF8: GC_mark_and_push_stack (mark.c:1390)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111D02: GC_mark_and_push_stack (mark.c:1390)==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8111D0B: GC_mark_and_push_stack (mark.c:1391)==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8113210: GC_base (misc.c:416)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8113239: GC_base (misc.c:422)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x811324B: GC_base (misc.c:426)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111D95: GC_mark_and_push_stack (mark.c:1369)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x81111BE: GC_mark_from (mark.c:759)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81111DC: GC_mark_from (mark.c:766)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x81111E2: GC_mark_from (mark.c:769)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81113CF: GC_mark_from (mark.c:776)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111167: GC_mark_from (mark.c:634)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8111755: GC_mark_from (mark.c:711)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8111429: GC_mark_from (mark.c:686)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x811169D: GC_mark_from (mark.c:688)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81112D7: GC_mark_from (mark.c:791)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81114EB: GC_mark_from (mark.c:801)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111209: GC_mark_from (mark.c:780)
+==15648== 
+==15648== Use of uninitialised value of size 4
+==15648==    at 0x8111241: GC_mark_from (mark.c:787)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x811123B: GC_mark_from (mark.c:780)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x811131D: GC_mark_from (mark.c:780)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8112165: GC_push_marked (mark.c:1720)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111BE7: GC_mark_and_push (mark.c:1322)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111FED: GC_push_marked4 (mark.c:1651)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8111FFC: GC_push_marked4 (mark.c:1652)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81120A4: GC_push_marked4 (mark.c:1651)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8114DE0: GC_block_empty (reclaim.c:109)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810E788: GC_finalize (finalize.c:560)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810E7E6: GC_finalize (finalize.c:583)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810E90D: GC_finalize (finalize.c:600)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8114E22: GC_block_nearly_full1 (reclaim.c:175)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8114E61: GC_block_nearly_full3 (reclaim.c:199)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8114E73: GC_block_nearly_full3 (reclaim.c:202)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8114E85: GC_block_nearly_full3 (reclaim.c:205)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8115666: GC_reclaim_block (reclaim.c:769)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8114FC5: GC_reclaim_clear (reclaim.c:329)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81150B6: GC_reclaim_clear4 (reclaim.c:434)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81150F4: GC_reclaim_clear4 (reclaim.c:436)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8115114: GC_reclaim_clear4 (reclaim.c:437)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x811515A: GC_reclaim_clear4 (reclaim.c:439)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x811517D: GC_reclaim_clear4 (reclaim.c:440)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81151A0: GC_reclaim_clear4 (reclaim.c:441)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x81150D4: GC_reclaim_clear4 (reclaim.c:435)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x8115137: GC_reclaim_clear4 (reclaim.c:438)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810DAFB: GC_is_black_listed (blacklst.c:249)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810DB4C: GC_is_black_listed (blacklst.c:254)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x816B640: GC_allochblk_nth (allchblk.c:671)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810DB33: GC_is_black_listed (blacklst.c:249)
+==15648== 
+==15648== Conditional jump or move depends on uninitialised value(s)
+==15648==    at 0x810DB40: GC_is_black_listed (blacklst.c:254)
+==15648== Stack overflow in thread 1: can't grow stack to 0xBE2EEF7C
+==15648== Can't extend stack to 0xBE2EE970 during signal delivery for thread 1:
+==15648==   no stack segment
+==15648== 
+==15648== Process terminating with default action of signal 11 (SIGSEGV)
+==15648==  Access not within mapped region at address 0xBE2EE970
+==15648==    at 0xA1005F1: ???
+==15648== 
+
+
+Expected Results:
+Should execute as expected.
+
+How often does this happen? 
+All the time on some systems, other systems don't crash.
+
+Additional Information:
+xenomorph was mentioning this on the winforms IRC channel; I entered it as
+he had to sleep :)


More information about the mono-bugs mailing list