Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


Hi Caolan!

On Fri, Oct 22, 2010 at 02:44:47PM +0100, Caolán McNamara wrote:
Here's where porting gets hard unfortunately. 

This is just a generic error, and from an exception. What might help you
out there is find exactly where the exceptions is being thrown and see
what the exact error is at the throw point. Which might be rather
painful with exceptions being caught, and something else thrown instead.

e.g. adding the attached patch
and export GDBREGCOMPTRACE=1
you get the picture, even if I've typos etc in this.

The other (horror possibility) is that your uno bridge isn't working at
all. Running the basic part of the uno bridge test might be already
possible for you if you try...

cd testtools/source/bridgetest
dmake

I used "build" with the variable set for my original error and got:

..../build/libreoffice-3.2.99.2/solenv/bin/gdbtrycatchtrace:2: Error in sourced command file:
Function "__cxa_throw" not defined.

and further on

Program received signal SIGSEGV, Segmentation fault.
0x00007f7ffbc738fa in ___lwp_park50 () from /usr/lib/libc.so.12
(gdb) bt
#0  0x00007f7ffbc738fa in ___lwp_park50 () from /usr/lib/libc.so.12
#1  0x00007f7ffc4089d0 in pthread_cond_timedwait (cond=0x7f7ffdbe6760, mutex=0x7f7ffdbe64e0, 
abstime=0x7f7ffa3ffd70) at /archive/cvs/src/lib/libpthread/pthread_cond.c:148
#2  0x00007f7ffd84f3ce in rtl_cache_wsupdate_all () from 
..../build/libreoffice-3.2.99.2/solver/330/unxbsdx3.pro/lib/libuno_sal.so.3
#3  0x00007f7ffc40aec9 in pthread__create_tramp (cookie=<value optimized out>) at 
/archive/cvs/src/lib/libpthread/pthread.c:471
#4  0x00007f7ffbc73910 in ___lwp_park50 () from /usr/lib/libc.so.12
#5  0x00010102464c457f in ?? ()
#6  0x0000000000000000 in ?? ()

Then I tried build in bridgetest as suggested above:
Starting program: ..../build/libreoffice-3.2.99.2/solver/330/unxbsdx3.pro/bin/regcomp -register -r 
../../unxbsdx3.pro/misc/bridgetest/bootstrap.rdb -c javaloader.uno.so -c javavm.uno.so -c 
stocservices.uno.so
javaloader.uno.so
javavm.uno.so
stocservices.uno.so

Program received signal SIGSEGV, Segmentation fault.
0x00007f7ffbc738fa in ___lwp_park50 () from /usr/lib/libc.so.12
(gdb) bt
#0  0x00007f7ffbc738fa in ___lwp_park50 () from /usr/lib/libc.so.12
#1  0x00007f7ffc4089d0 in pthread_cond_timedwait (cond=0x7f7ffdbe6760, mutex=0x7f7ffdbe64e0, 
abstime=0x7f7ffa3ffd70) at /archive/cvs/src/lib/libpthread/pthread_cond.c:148
#2  0x00007f7ffd84f3ce in rtl_cache_wsupdate_all () from 
..../build/libreoffice-3.2.99.2/solver/330/unxbsdx3.pro/lib/libuno_sal.so.3
#3  0x00007f7ffc40aec9 in pthread__create_tramp (cookie=<value optimized out>) at 
/archive/cvs/src/lib/libpthread/pthread.c:471
#4  0x00007f7ffbc73910 in ___lwp_park50 () from /usr/lib/libc.so.12
#5  0x00010102464c457f in ?? ()
#6  0x0000000000000000 in ?? ()

Perhaps some introductory questions:
What is uno?
What is this registering step doing?
What parts of the tree affect this or could cause this?
(What needs to be rebuilt on changes?)

Thanks,
 Thomas

P.S.: Patch used is attached.
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index 8d29cfb..ecb460e 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -1048,19 +1048,24 @@ MAXPROCESS!:=1
 # allow seperate handling
 EXTMAXPROCESS*=$(MAXPROCESS)
 
+
+GDBTRACE=gdb --command=$(SOLARENV)/bin/gdbtrycatchtrace --args
+.IF "$(DEBUGCPPUNIT)" != ""
+GDBCPPUNITTRACE=$(GDBTRACE)
+.ENDIF
+.IF "$(GDBREGCOMPTRACE)" != ""
+GDBREGCOMPTRACE=$(GDBTRACE)
+.ENDIF
+
 IDLC*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/idlc
 REGMERGE*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regmerge
 REGCOMPARE*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regcompare
-REGCOMP*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regcomp
+REGCOMP*=$(AUGMENT_LIBRARY_PATH) $(GDBREGCOMPTRACE) $(SOLARBINDIR)/regcomp
 CPPUMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cppumaker
 JAVAMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/javamaker
 RDBMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/rdbmaker
 CLIMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/climaker
 
-.IF "$(DEBUGCPPUNIT)" != ""
-GDBCPPUNITTRACE=gdb --command=$(SOLARENV)/bin/gdbtrycatchtrace --args
-.ENDIF
-
 CPPUNITTESTER=$(AUGMENT_LIBRARY_PATH_LOCAL) $(GDBCPPUNITTRACE) $(SOLARBINDIR)/cppunittester
 HELPEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/helpex
 LNGCONVEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/lngconvex

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.