To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=101278
------- Additional comments from [email protected] Thu Jul 16 08:48:13 +0000 2009 ------- Setup to reproduce: Run the smoketest until it crashes. Then OOo will not be uninstalled and resider in /tmp/OpenOffice. Or can run dmake noremove=1 in smoketestoo_native. (I didn't try the latter). The smoketest will have several Basic macros installed in OOo. Open the macro dialog and run StartTestWithDefaultOptions. This can be repeated until the error occurs. In order to debug change the line in the soffice script which starts the soffice. - "$sd_prog/$sd_binary" "$@" & + gdb "$sd_prog/$sd_binary" "$@" __xmlParserInputBufferCreateFilename ( URI=0x7f1449b9eb58 "/tmp/OpenOffice/UserInstallation/user/config/javasettings_Linux_X86_64.xml", enc=XML_CHAR_ENCODING_NONE) at xmlIO.c:2408 2408 if (((z_stream *)context)->avail_in > 4) { (gdb) where #0 __xmlParserInputBufferCreateFilename ( URI=0x7f1449b9eb58 "/tmp/OpenOffice/UserInstallation/user/config/javasettings_Linux_X86_64.xml", enc=XML_CHAR_ENCODING_NONE) at xmlIO.c:2408 #1 0x00007f1441bbcdbb in xmlNewInputFromFile__internal_alias (ctxt=0x7f14280caeb8, filename=0x7f1449b9eb58 "/tmp/OpenOffice/UserInstallation/user/config/javasettings_Linux_X86_64.xml") at parserInternals.c:1462 #2 0x00007f1441bbfab4 in xmlCreateURLParserCtxt__internal_alias ( filename=0x7f1449b9eb58 "/tmp/OpenOffice/UserInstallation/user/config/javasettings_Linux_X86_64.xml", options=0) at parser.c:12308 #3 0x00007f1441bd53cd in xmlSAXParseFileWithData__internal_alias (sax=0x0, filename=0x7f1449b9eb58 "/tmp/OpenOffice/UserInstallation/user/config/javasettings_Linux_X86_64.xml", recovery=0, data=0x0) at parser.c:12368 #4 0x00007f1444a98921 in jfw::NodeJava::prepareSettingsDocument (this=0x7fff51d56a20) context in non-null, however accessing the member avail_in will bring a message in gdb, telling that this memory cannot be accessed. context will be obtained by for (i = xmlInputCallbackNr - 1;i >= 0;i--) { if ((xmlInputCallbackTable[i].matchcallback != NULL) && (xmlInputCallbackTable[i].matchcallback(URI) != 0)) { context = xmlInputCallbackTable[i].opencallback(URI); if (context != NULL) { break; } } } As it happens opencallback is xmlGzfileOpen (xmlIO.c in libxml2). See also xmlRegisterDefaultInputCallbacks(void) where the callbacks are registered in a determined way. xmlGzfileOpen calls xmlGzfileOpen_real where eventually gzdopen is called. static void * xmlGzfileOpen_real (const char *filename) { const char *path = NULL; gzFile fd; if (!strcmp(filename, "-")) { fd = gzdopen(dup(0), "rb"); return((void *) fd); } gzdopen returns then a pointer which represents the context. So the conclusion is that something goes wrong with libz.so which is used from the system. In this case its a libz.so.1.2.3.3. Changing this lib against one from a different system did not help. The other library had the same version but was different in size. If libxml2 is build without using libz then the gzdopen function is not used of course. This can be achieved by adding the configure switch --with-zlib=no in libxml2/makefile.mk. Using the libxml2 without libz made that I could not reproduce the crash anymore by running the smoketest. --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
