[Clam-devel] Why CLAM windows binaries crash so much
David García Garzón
dgarcia at iua.upf.edu
Mon Mar 16 13:06:28 PDT 2009
By trying to make the tests run in windows again, i found that all the tests
that made them crash (not fail neither assert but a crash) are related to
exception handling and if that's true I guess that this could be the reason
for most crashes windows users reported lately. I found two possible sources
of the problem (and I guess both apply).
One is a bug reported at ubuntu mingw package:
The report says that some dlls missing in the package are needed in order to
exceptions go though dll boundaries. So any exception thrown from CLAM or a
third party will trigger that even if you do the proper 'catch'.
A second source could be combining different exception handling schemas due to
some pre-compiled external libs. SjLj schema used in current ubuntu package
cannot be mixed with code compiled using 'Dward2' schema.
Because most of the crashes hapen on XML exception code i guess that is about
precompiled libxml++ binaries. Instead of recompiling all the GTK+ stuff, I
succeded on crosscompiling Xerces-C (instructions at the wiki) and i should
try whether it still crashes.
Meanwhile I blacklisted in windows test fixtures using exception and reenabled
test checking in crossmingw testfarm
If we cannot workaround this, we should expect a new ubuntu croscompiler
version, recompiling mingw packages with a newer version, recompiling all the
third party libraries, or get a Windoze Box to compile. I don't know what
hurts me the less.
More information about the clam-devel