GCJ 3.3 crash with string handling reproduceable case

Ranjit Mathew rmathew@hotmail.com
Wed Feb 26 14:17:00 GMT 2003


>Ranjit Mathew writes:
>  >
>  > BTW, as Jeff had pointed out earlier, the "gctest" from the GC
>  > always crashes immediately for me as well with a GPF.
>
>Well, that's the thing to fix first, before doing _anything_ with gcj.
>If the gc isn't reliable, nothing is reliable.
>
>Andrew.

:-( Yes, it isn't encouraging at all, is it? Especially when
GCJ/Win32 *seems* to work otherwise...

I just downloaded Boehm GC 6.1 from:

   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/

and was easily able to compile it with MSYS/MinGW, including
the gctest application. Sure enough, gctest crashes on me
(consistently) and here's what DrMinGW (always) tells me:
------------------------------- 8< ----------------------------------
gctest.exe caused an Access Violation at location 77f85c41 in module 
ntdll.dll Writing to location 00000010.

Registers:
eax=00000000 ebx=00000000 ecx=0041e0d0 edx=00000050 esi=0041e0c0 
edi=00000000
eip=77f85c41 esp=0022fe30 ebp=0022fe90 iopl=0         nv up ei pl zr na po 
nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             
efl=00000246

Call stack:
77F85C41  ntdll.dll:77F85C41  RtlReAllocateHeap
77F85BD1  ntdll.dll:77F85BD1  RtlReAllocateHeap
00403362  gctest.exe:00403362  WinMain  test.c:1618
int WinMain(
	HINSTANCE instance = &{
		int i = 9460301
	},
	HINSTANCE prev = &{
		int i =
	},
	LPSTR cmd = &0,
	int n = 10
)
	...
	# endif
	# if NTEST > 0
>	   for (i = 0; i < NTEST; i++) {
	    h[i] = GC_CreateThread(NULL, 0, thr_run_one_test, 0, 0, &thread_id);
	    if (h[i] == (HANDLE)NULL) {
	...

00411573  gctest.exe:00411573  GC_register_dynamic_libraries  dyn_load.c:837
void GC_register_dynamic_libraries(

)
	...
	    base = p;
	}
>	limit = new_limit;
	    }
	}
	...

0040116B  gctest.exe:0040116B
00401013  gctest.exe:00401013
77EA847C  KERNEL32.dll:77EA847C  DebugBreak
------------------------------- 8< ----------------------------------

The standard output of gctest shows lots of lines like:
------------------------------- 8< ----------------------------------
Warning: changing type size from 8 to 64
Warning: changing type size from 8 to 64
Warning: changing type size from 2 to 16
Warning: changing type size from 2 to 16
Warning: changing type size from 1 to 8
Warning: changing type size from 1 to 8
Warning: changing type size from 8 to 64
Warning: changing type size from 8 to 64
Warning: changing type size from 2 to 16
Warning: changing type size from 2 to 16
...
------------------------------- 8< ----------------------------------

Ranjit.

_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE* 
http://join.msn.com/?page=features/virus



More information about the Java mailing list