This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libgcj/10746] [3.3/3.4 regression] [win32] garbage collection crash in GCJ
- From: "oyvind dot harboe at zylin dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Sep 2003 07:04:49 -0000
- Subject: [Bug libgcj/10746] [3.3/3.4 regression] [win32] garbage collection crash in GCJ
- References: <20030512122601.10746.oyvind.harboe@zylin.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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
------- Additional Comments From oyvind dot harboe at zylin dot com 2003-09-09 07:04 -------
(My previous GCC build machine committed sucide after a power outage, and I
haven't put together a new one yet).
Would it be any help if this was reproducable w/WINE under Linux?
>I read the screen dump as saying that this died in _Jv_NewString because
>it found that the object returned by _Jv_AllocString had (presumably)
>both a zero data and zero boffset field. Thus it was trying to copy
>characters to a zero target address.
>
>This is strange since _Jv_AllocString sets both of these fields to
>nonzero values just before this.
I've only seen this once the AllocString problem once, but I'll be on the
lookout.
>I assume this is reproducible on a uniprocessor without "hyperthreading"?
Yes. At least three single CPU machines: AMD 1800, Pentium III 400, AMD 800.
>I just tried setting GC_PRINT_STATS in Windows 2000 with "set GC_PRINT_STATS=1"
>from the Windows command line. That does seem to work, at least with the
>standalone collector compiled with VC++, though the output ends up in the
>file "gc.log", not on the screen. I suspect that means the other environment
>variables will also do the right thing.
I suppose I need to build boehm-gc with this enabled...
C:\Temp\foo>\thisiscool-gcc-3.4\gcc-3.4\bin\gcj -g --main=Test Test.java -o test
C:\Temp\foo>dir
Volume in drive C has no label.
Volume Serial Number is 405F-43D6
Directory of C:\Temp\foo
09.09.2003 09:03 <DIR> .
09.09.2003 09:03 <DIR> ..
09.09.2003 09:03 3?804?032 test.exe
08.09.2003 13:28 784 Test.java
2 File(s) 3?804?816 bytes
2 Dir(s) 60?380?672?000 bytes free
C:\Temp\foo> set GC_PRINT_STATS=1
C:\Temp\foo>test
first thread 0
second thread 0
second thread 100000
first thread 100000
second thread 200000
first thread 200000
second thread 300000
first thread 300000
second thread 400000
second thread 500000
^C
C:\Temp\foo>dir
Volume in drive C has no label.
Volume Serial Number is 405F-43D6
Directory of C:\Temp\foo
09.09.2003 09:03 <DIR> .
09.09.2003 09:03 <DIR> ..
09.09.2003 09:03 3?804?032 test.exe
08.09.2003 13:28 784 Test.java
2 File(s) 3?804?816 bytes
2 Dir(s) 60?380?672?000 bytes free
C:\Temp\foo>