Issue 101278 - unxlngx6 smoketest jvmfwk crash
Summary: unxlngx6 smoketest jvmfwk crash
Status: CLOSED DUPLICATE of issue 103585
Alias: None
Product: udk
Classification: Code
Component: code (show other issues)
Version: DEV300m46
Hardware: PC (x86_64) Linux, all
: P2 Trivial (vote)
Target Milestone: OOo 3.2
Assignee: joachim.lingner
QA Contact: issues@udk
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-22 14:58 UTC by Stephan Bergmann
Modified: 2009-07-16 10:05 UTC (History)
5 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
stack trace (11.26 KB, text/plain)
2009-04-22 14:59 UTC, Stephan Bergmann
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description Stephan Bergmann 2009-04-22 14:58:38 UTC
The Ubuntu-8.04-amd64 tinderbox build of (DEV300m46 based) CWS sb107 failed
during smoketest
(<http://tinderbox.go-oo.org/tinder.cgi?tree=sb107&start-time=1240117802&display-hours=50>).
 However, all of the Ubuntu-8.04-amd64 builds 768, 771--774 failed during
smoketest with the very same error

---8<---
TestLog -- Version: 1.6
error: Database: the test was not complete! open or services possibly failed!
smoketest: ERROR: Error during testing
no deinstallation from /tmp/OpenOffice/
FAILURE: smoketest aborted.
dmake:  Error code 5, while making 'make_test'
ERROR: Error 65280 occurred while making
/space/termite/slavedir/Ubuntu-64-Sun/workdir/smoketestoo_native
---8<---

Debugging this with a CWS sb107 based DEV300m46 unxlngx6.pro build on the
tinderbox machine showed that sometimes (ca. half the time) the call of
GetConnection at tags/DEV300_m46/smoketestoo_native/data/scripts/Test_DB.xba l.
37 causes a SIGSEGV with the attached stack.txt.
Comment 1 Stephan Bergmann 2009-04-22 14:59:50 UTC
Created attachment 61732 [details]
stack trace
Comment 2 christian.lins 2009-05-13 15:23:54 UTC
Also applies to m48.
Comment 3 kurt.zenker 2009-05-20 14:04:52 UTC
CCed: kz
Comment 4 joachim.lingner 2009-06-17 13:54:00 UTC
.
Comment 5 christian.lins 2009-07-03 12:15:09 UTC
This issue renders the test results of the Ubuntu-8.04 Buildbot unusable so
please fix this ASAP!
Comment 6 carsten.driesner 2009-07-13 16:24:05 UTC
cd: Set myself on CC.
Comment 7 lohmaier 2009-07-14 09:49:53 UTC
@cli:

Please disable smoketest on the box as long as this issue occurs.
Comment 8 joachim.lingner 2009-07-16 09:48:13 UTC

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.






Comment 9 joachim.lingner 2009-07-16 10:03:51 UTC
.

*** This issue has been marked as a duplicate of 103585 ***
Comment 10 joachim.lingner 2009-07-16 10:05:13 UTC
.