Re: [Gc] "GC_is_visble_test failed" error on MS-W indows
Ivan Maidanski <ivmai-JGs/[email protected]> Wed, 11 Jun 2014 11:57:52 +0400
| Newsgroups | gmane.comp.programming.garbage-collection.boehmgc |
|---|---|
| Message-ID | <[email protected]> |
Hi Eli, The reason of failure seems to me pretty obvious - mingw variant does not "track" pthread threads by default, so they are not scanned. The question is why win32 threads support is on while you pass disable-threads. Please send me config.h and config.log Regards, Ivan -- Thu, 05 Jun 2014, 20:49 +04:00 from Eli Zaretskii <[email protected]>: Please CC me on any responses, as I'm not subscribed to the list, TIA. I see a strange error from libgc compiled for MS-Windows with the MinGW development tools. I tried both gc-7.2e and gc-7.4.0, and they both exhibit the same problem: the library compiles cleanly and passes all the tests, but when I build Guile with the resulting library, the Guile executable pops a fatal error dialog saying "GC_is_visble_test failed" and aborts. At first I thought that this was a problem with visibility of some symbols across shared libraries, something that is sometimes tricky with Windows DLLs. So I've linked Guile statically against libgc. This didn't help: the same popup was displayed again. After some trial and error, I found out that the problem seemed to be caused by the --disable-threads option I passed to the libgc configure script; if I leave that option out, the problem disappears, and Guile works as expected. The reason I specified --disable-threads is that Guile's threads support is currently broken on MS-Windows, and OTOH having a Guile that depends on a threading library pthreads is a nuisance on Windows (for some dull reasons I prefer not to enter into). So I wanted to make sure no threads support is compiled into libgc and into Guile. By looking inside the created libgc with and without that configure-time option, I understood that when --disable-threads is not given, libgc on Windows is built with win32 threading support. This is fine by me, as it doesn't pull in any external dependencies that aren't available on every Windows box. But it is still surprising that threading support must be available in order to pass the visibility test. Can someone please help me understand how these 2 aspects are related? There might be a bug in Guile that triggers this, but I'd like to at least understand the relations between threading and the visibility test, before I talk to the Guile people, or try debugging this myself. TIA _______________________________________________ bdwgc mailing list [email protected] https://lists.opendylan.org/mailman/listinfo/bdwgc _______________________________________________ bdwgc mailing list [email protected] https://lists.opendylan.org/mailman/listinfo/bdwgc