[Gc] Win32 infinite loop
Mon, 18 Aug 2003 17:21:54 -0700
This doesn't sound familiar to me. Which compiler are you using? This is an infinite loop, not a bad memory access?
It would help if you could:
1) Try it with 6.3alpha1. (You may need to add a WINABI qualifier to GC_CreateThread. That's a known bug in this version on win32.)
2) Build the collector with debug information, and post a few stack traces with line numbers.
> -----Original Message-----
> From: Julian Hall [mailto:firstname.lastname@example.org]
> Sent: Friday, August 15, 2003 5:30 AM
> To: email@example.com
> Subject: [Gc] Win32 infinite loop
> I'm using GC 6.1 under Win32, built as a static library
> rather than a DLL.
> I have arranged for my programs to call threadAttach() and
> threadDetach() whenever threads are started / stopped.
> I have used this arrangement in a large number of programs,
> and it has
> been working quite well for me until now.
> My problem is that in one of my programs the collector gets stuck
> (apparently) inside GC_stopped_mark(). A typical stack trace
> if I break
> into the program when it freezes looks like this:
> GC_stopped_mark + 174 bytes
> GC_try_to_collect_inner + 231 bytes
> GC_try_to_collect + 76 bytes
> GC_gcollect + 15 bytes
> (there may be other functions above this in the list, but
> GC_stopped_mark is always there).
> I'm not certain as to what aspect of the program that causes
> the failure
> is the important one. The failure happens repeatably, early
> during the
> execution. The call to the garbage collector is a direct collection
> because just beforehand a large object has been allocated which is
> finished with at that point (a copy of an image file kept in
> memory for
> Any idea what might be going on?
> Gc mailing list