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


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 */

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.