On Thu, 2010-12-16 at 12:57 +0100, Thomas Klausner wrote:

> The build on NetBSD currently fails with:
> 
> Entering /disk/2/archive/libreoffice/sc/qa/unit
> 
> ----------------------------------------------------------
> - start unit test #1 on library ../../unxbsdx3.pro/lib/libqa_unit.so
> ----------------------------------------------------------
> : &&     
> LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}/disk/2/archive/libreoffice/clone/calc/sc/unxbsdx3.pro/lib:/disk/2/archive/libreoffice/solver/330/unxbsdx3.pro/lib
>   /disk/2/archive/libreoffice/solver/330/unxbsdx3.pro/bin/cppunittester 
> ../../unxbsdx3.pro/lib/libqa_unit.so -headless -invisible \
>         
> -env:UNO_SERVICES=file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/services.rdb
>  \
>         
> -env:UNO_TYPES="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/types.rdb
>  
> file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/udkapi.rdb"
>  \
>         
> -env:OOO_BASE_DIR="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
>  \
>         
> -env:BRAND_BASE_DIR="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
>  \
>         
> -env:UNO_USER_PACKAGES_CACHE="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
> OK (3)
> /bin/bash: line 1: 21530 Segmentation fault      (core dumped) 
> LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}/disk/2/archive/libreoffice/clone/calc/sc/unxbsdx3.pro/lib:/disk/2/archive/libreoffice/solver/330/unxbsdx3.pro/lib
>  /disk/2/archive/libreoffice/solver/330/unxbsdx3.pro/bin/cppunittester 
> ../../unxbsdx3.pro/lib/libqa_unit.so -headless -invisible 
> -env:UNO_SERVICES=file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/services.rdb
>  
> -env:UNO_TYPES="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/types.rdb
>  
> file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit/udkapi.rdb"
>  
> -env:OOO_BASE_DIR="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
>  
> -env:BRAND_BASE_DIR="file:///disk/2/archive/libreoffice/clone/calc/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"
>  -env:UNO_USER_PACKAGES_CACHE="file:///disk/2/archive/libreoffice/clone/!
 cal
>  c/sc/qa/unit/../../unxbsdx3.pro/misc/qa_unit"

Is this still broken for you. Looking at this, it appears to be a crash
on exit seeing as it was able to print the "tests passed" line of OK.

One horrific temporary hack to test a theory would be to call _exit to
skip calling the massive dtor chain which OOo builds up. Though that's
not a cure, just a temp hack, but maybe it'll help isolate this.

C.
diff --git a/sal/inc/sal/main.h b/sal/inc/sal/main.h
index bf7a828..65ead5d 100644
--- a/sal/inc/sal/main.h
+++ b/sal/inc/sal/main.h
@@ -41,6 +41,19 @@ extern "C" {
 void SAL_CALL sal_detail_initialize(int argc, char ** argv);
 void SAL_CALL sal_detail_deinitialize();
 
+#if defined(AIX) || defined(NETBSD)
+//*Hurl*, *Puke*, temp fix only, will
+//cause other weirdness eventually
+#  define BROKEN_SHUTDOWN
+#  include <unistd.h>
+#endif
+
+#ifdef BROKEN_SHUTDOWN
+#  define MAINRET(x) _exit(x)
+#else
+#  define MAINRET(x) return x
+#endif
+
 #define SAL_MAIN_WITH_ARGS_IMPL \
 int SAL_CALL main(int argc, char ** argv) \
 { \
@@ -48,7 +61,7 @@ int SAL_CALL main(int argc, char ** argv) \
     sal_detail_initialize(argc, argv);   \
     ret = sal_main_with_args(argc, argv); \
     sal_detail_deinitialize(); \
-    return ret; \
+    MAINRET(ret); \
 }
 
 #define SAL_MAIN_IMPL \
@@ -58,7 +71,7 @@ int SAL_CALL main(int argc, char ** argv) \
     sal_detail_initialize(argc, argv); \
     ret = sal_main(); \
     sal_detail_deinitialize(); \
-    return ret; \
+    MAINRET(ret); \
 }
 
 /* Definition macros for CRT entries */
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to