Bug 36312

Summary: Segmentation Fault in window.cxx: prioritize -headless over SAL_USE_VCLPLUGIN
Product: LibreOffice Reporter: Cyril Roelandt <tipecaml>
Component: LibreOfficeAssignee: David Tardon <dtardon>
Status: CLOSED FIXED    
Severity: blocker CC: caolan.mcnamara
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
Crash report or crash signature: Regression By:
Attachments: GDB trace.
extra debugging patch

Description Cyril Roelandt 2011-04-16 16:03:01 UTC
Created attachment 45720 [details]
GDB trace.

I am trying to build LibreOffice on OpenSuse 11.4.

The build fails in the lotuswordpro module, when running the first unit test in "../../unxlngi6.pro/lib/test_lotuswordpro.so".

I re-ran the build with DEBUGCPPUNIT set to TRUE, and got a file called gdbtrace.log in lotuswordpro/qa/cppunit/, which comes as an attachment. It seems like a segmentation fault occurs in clone/libs-gui/vcl/source/window/window.cxx.

Can anyone reproduce this bug ?



Additional information :
$ uname -a
Linux linux-e8ob.site 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 i686 i686 i386 GNU/Linux
Comment 1 Kohei Yoshida 2011-04-18 11:27:03 UTC
Looks like Caolan's area.
Comment 2 Caolán McNamara 2011-04-18 12:23:37 UTC
Your trace has GtkInstance::CreateFrame in it, which shouldn't happen. The regression tests are run with --headless so the headless plugin should be used...

so...

what's the output of 

echo $SAL_USE_VCLPLUGIN
echo $OOO_FORCE_DESKTOP

and you can try the attached debugging patch to get a little more info...

source ./Linux*Env.Set.sh
cd vcl
patch -p2 < this.debug.patch
build -P2 -- -P2
deliver -link
cd ../lotuswordpro
make -sr
cd ..
cat solver/300/unxlng*/workdir/CppunitTest/lotuswordpro_test_lotuswordpro.test.log
Comment 3 Caolán McNamara 2011-04-18 12:24:09 UTC
Created attachment 45780 [details]
extra debugging patch
Comment 4 Cyril Roelandt 2011-04-19 10:32:32 UTC
(In reply to comment #2)
> Your trace has GtkInstance::CreateFrame in it, which shouldn't happen. The
> regression tests are run with --headless so the headless plugin should be
> used...
> 
> so...
> 
> what's the output of 
> 
> echo $SAL_USE_VCLPLUGIN

$ echo $SAL_USE_VCLPLUGIN
gtk

> echo $OOO_FORCE_DESKTOP

It returns a blank line.

> 
> and you can try the attached debugging patch to get a little more info...
> 
> source ./Linux*Env.Set.sh
> cd vcl
> patch -p2 < this.debug.patch
> build -P2 -- -P2
> deliver -link

This went well.

> cd ../lotuswordpro
> make -sr

I couldnt run "make -sr" in the lotuswordpro directory ("no makefile found"), so I ran "build --all" instead, I hope it's ok.

The same unit test failed, printing out :

CreateSalInstance
Missing vcl resource. This indicates that files vital to localization are missing. You might have a corrupt installation.

A bunch of environment variables are also printed :

/bin/sh: line 1: 13639 Segmentation fault      LD_LIBRARY_PATH=/home/cyril/bootstrap/clone/filters/lotuswordpro/unxlngi6.pro/lib:/home/cyril/bootstrap/solver/300/unxlngi6.pro/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} /home/cyril/bootstrap/solver/300/unxlngi6.pro/bin/cppunit/cppunittester ../../unxlngi6.pro/lib/test_lotuswordpro.so --headless --invisible -env:UNO_SERVICES=file:///home/cyril/bootstrap/clone/filters/lotuswordpro/qa/cppunit/../../unxlngi6.pro/misc/qa_lotuswordpro/services.rdb -env:UNO_TYPES="file:///home/cyril/bootstrap/clone/filters/lotuswordpro/qa/cppunit/../../unxlngi6.pro/misc/qa_lotuswordpro/types.rdb file:///home/cyril/bootstrap/clone/filters/lotuswordpro/qa/cppunit/../../unxlngi6.pro/misc/qa_lotuswordpro/udkapi.rdb" -env:OOO_INBUILD_SHAREDLIB_DIR="file:///home/cyril/bootstrap/clone/filters/lotuswordpro/qa/cppunit/../../unxlngi6.pro/lib"

> cd ..
> cat
> solver/300/unxlng*/workdir/CppunitTest/lotuswordpro_test_lotuswordpro.test.log

This file cannot be found :/
Comment 5 Caolán McNamara 2011-04-19 12:09:27 UTC
$ echo $SAL_USE_VCLPLUGIN
gtk

I wonder where this came from, if you unset this it will probably work. I guess I need to tweak the plugin stuff to prioritise the -headless command line over any environmental variables
Comment 6 Cyril Roelandt 2011-04-21 17:09:34 UTC
(In reply to comment #5)
> $ echo $SAL_USE_VCLPLUGIN
> gtk
> 
> I wonder where this came from, if you unset this it will probably work. I guess
> I need to tweak the plugin stuff to prioritise the -headless command line over
> any environmental variables

Thanks, it works that way. I do not know whether this bug report should be closed though, since we do not know why this environment variable was set to this value.
Comment 7 Yury 2011-04-30 11:06:42 UTC
I'm getting the following. Is this related? I'm building on the machine with no monitor attached (Xvfb server):

test_lotuswordpro.cxx:123:Assertion
Test name: N12_GLOBAL__N_116LotusWordProTestE::test
assertion failed
- Expression: osl::FileBase::E_None == aDir.open()

Failures !!!
Run: 1   Failure total: 1   Failures: 1   Errors: 0
make[1]: *** [/d/home/ty/build/libo/git/libo/solver/300/unxlngi6.pro/workdir/CppunitTest/lotuswordpro_test_lotuswordpro.test] Error 1
Comment 8 Caolán McNamara 2011-05-01 03:35:28 UTC
#7 is unrelated, see the wiki for help on debugging it.

For this one, we need to do as per #5 when I get back from vacation
Comment 9 David Tardon 2011-05-03 01:29:13 UTC
done in commit eabd3602dce7e694123dd11e11b4ca7fce9f1acc
Comment 10 Caolán McNamara 2011-05-23 06:10:28 UTC
thanks dtardon