[Bug libgcj/10746] [3.3/3.4 regression] [win32] garbage collection crash in GCJ

oyvind dot harboe at zylin dot com gcc-bugzilla@gcc.gnu.org
Thu Aug 21 07:21:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10746


oyvind dot harboe at zylin dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rmathew at hotmail dot com


------- Additional Comments From oyvind dot harboe at zylin dot com  2003-08-21 07:20 -------
>FWIW, the test program does not crash for me even after repeated
>attempts. I am using GCC 3.4 snapshot for Win32 dated 20030802 as 
>available on Mohan's GCJ site: http://www.thisiscool.com/gcc_mingw.htm
>(This snapshot has Boehm-GC 6.3 alpha 1.)

Arrgghh.... :-)

Note that it *is* very hard to reproduce. 

Would it be helpful if I set up a VNC server on a Windows machine and provided 
access?

Also, look out for other manifistations of the problem(see end for example).

>I would also like to point out that getting a SEGV in the GC
>while running inside a debugger is common and expected as
>noted in this GCJ FAQ entry:
>
>    http://gcc.gnu.org/java/faq.html#5_2
>
>I quote:
>------------------------------- 8< -------------------------------
>5.2 When I run the debugger I get a SEGV in the GC! What's going on?
>
>    This is "normal"; the Garbage Collector (GC) uses it to determine 
>stack boundaries. It is ordinarily caught and handled by the GC -- you 
>can see this in the debugger by using cont to continue to the "real" 
>segv. 
>------------------------------- 8< -------------------------------

This is not the case that I've found. "cont" does not work from the debugger. 
Presumably one should be on the lookout for this so as not to get confused 
though. I'll attach a picture from the debug session...

Another manifistation of the problem:

When running this session from the debugger, then debugger didn't stop....

second thread 5685000 bbbabaffdd
second thread 5686000 ccfaag
second thread 5687000 dddbbdag
second thread 5688000 aaeaadddf
first thread 3178000          cecgb
first thread 3179000          ffccgcd
second thread 5689000 gfeaeae
second thread 5690000 fffdgcg
second thread 5691000 eeeaca
second thread 5692000 eeeacd
second thread 5693000 ebababa
second thread 5694000 dggfage
second thread 5695000 ggfe
second thread 5696000 cccadda
second thread 5697000 eefgca
second thread 5698000 bbdcdceaa
second thread 5699000 gggcdf
Exception in thread "main" second thread 5700000 ffffffaeb
second thread 5701000 dfffdcdf
second thread 5702000 cccccbff
second thread 5703000 gdcg
second thread 5704000 fggg
second thread 5705000 ecbcc
second thread 5706000 cfbcedd
second thread 5707000 ggfgcff
second thread 5708000 ccddcee
second thread 5709000 cccdcdd
second thread 5710000 eaebcc
second thread 5711000 feffegcffd
second thread 5712000 adadgeeb
second thread 5713000 ddcgddca
second thread 5714000 ccdae
second thread 5715000 ggfagcc
second thread 5716000 bbbbbbfd
second thread 5717000 ccccccdad
second thread 5718000 cacacaabbba
second thread 5719000 cccdcbg
second thread 5720000 cgabff
second thread 5721000 ggddf
second thread 5722000 gdadgcb
second thread 5723000 cabd
second thread 5724000 aaacgaa
second thread 5725000 gffgfcb
second thread 5726000 fffffef
second thread 5727000 cgcbcff
second thread 5728000 gcgcgd
second thread 5729000 gbabda
second thread 5730000 bbbcbgcb
second thread 5731000 bddcag
second thread 5732000 ccccbcceb
second thread 5733000 bbacd
second thread 5734000 aaaddaacacadbgcad
second thread 5735000 fedgfc
second thread 5736000 efcfa
second thread 5737000 ggacaadc
second thread 5738000 gggggggfefcc
second thread 5739000 eedbaaafbdc
second thread 5740000 eabdffd
second thread 5741000 gdfgfdgcagdc
second thread 5742000 eeecgeead
second thread 5743000 dedgega
second thread 5744000 ffeeba
second thread 5745000 dedcdcfda
second thread 5746000 acacaea
second thread 5747000 eeeefaea
java.lang.ArrayStoreException
   at Test.replaceAll(java.lang.String, java.lang.String, java.lang.String) (C:\
cygwin\home\oharboe\Test.java:17)
   at Test.stressGB(java.lang.String) (C:\cygwin\home\oharboe\Test.java:63)
   at Test.main(java.lang.String[]) (C:\cygwin\home\oharboe\Test.java:39)
second thread 5748000 eedadeg
second thread 5749000 bbadfc
second thread 5750000 cagg
second thread 5751000 bbbfgbfe
second thread 5752000 dgfege
second thread 5753000 bbbbbbcd
second thread 5754000 ccc



More information about the Gcc-bugs mailing list