buildbot failure in ASF Buildbot on openoffice-linux64-rat-aoo410
The Buildbot has detected a failed build on builder openoffice-linux64-rat-aoo410 while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/openoffice-linux64-rat-aoo410/builds/138 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: tethys_ubuntu Build Reason: The Nightly scheduler named 'openoffice-linux64-rat-aoo410' triggered this build Build Source Stamp: [branch openoffice/branches/AOO410] HEAD Blamelist: BUILD FAILED: failed Sincerely, -The Buildbot
svn commit: r1716788 - /openoffice/trunk/main/sal/osl/unx/backtrace.c
Author: damjan Date: Fri Nov 27 04:01:03 2015 New Revision: 1716788 URL: http://svn.apache.org/viewvc?rev=1716788=rev Log: Use the ptrdiff_t printf format code for backtracing on FreeBSD. Patch by: me Modified: openoffice/trunk/main/sal/osl/unx/backtrace.c Modified: openoffice/trunk/main/sal/osl/unx/backtrace.c URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/osl/unx/backtrace.c?rev=1716788=1716787=1716788=diff == --- openoffice/trunk/main/sal/osl/unx/backtrace.c (original) +++ openoffice/trunk/main/sal/osl/unx/backtrace.c Fri Nov 27 04:01:03 2015 @@ -19,7 +19,7 @@ * */ - +#include "sal/types.h" #ifdef SOLARIS @@ -184,20 +184,12 @@ void backtrace_symbols_fd( void **buffer if ( dli.dli_fname && dli.dli_fbase ) { offset = (ptrdiff_t)*pFramePtr - (ptrdiff_t)dli.dli_fbase; -#if defined X86_64 - fprintf( fp, "%s+0x%lx", dli.dli_fname, offset ); -#else - fprintf( fp, "%s+0x%x", dli.dli_fname, offset ); -#endif + fprintf( fp, "%s+0x%" SAL_PRI_PTRDIFFT "x", dli.dli_fname, offset ); } if ( dli.dli_sname && dli.dli_saddr ) { offset = (ptrdiff_t)*pFramePtr - (ptrdiff_t)dli.dli_saddr; -#if defined X86_64 - fprintf( fp, "(%s+0x%lx)", dli.dli_sname, offset ); -#else - fprintf( fp, "(%s+0x%x)", dli.dli_sname, offset ); -#endif + fprintf( fp, "(%s+0x%" SAL_PRI_PTRDIFFT "x)", dli.dli_sname, offset ); } } fprintf( fp, "[0x%p]\n", *pFramePtr );
buildbot success in ASF Buildbot on openoffice-fbsd-nightly
The Buildbot has detected a passing build on builder openoffice-fbsd-nightly while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/openoffice-fbsd-nightly/builds/144 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-fbsd2_64bit Build Reason: The Nightly scheduler named 'openoffice-fbsd-nightly' triggered this build Build Source Stamp: [branch openoffice/trunk] HEAD Blamelist: Build succeeded! Sincerely, -The Buildbot
buildbot success in ASF Buildbot on openoffice-linux64-nightly
The Buildbot has detected a passing build on builder openoffice-linux64-nightly while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/openoffice-linux64-nightly/builds/153 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: tethys_ubuntu Build Reason: The Nightly scheduler named 'openoffice-linux64-nightly' triggered this build Build Source Stamp: [branch openoffice/trunk] HEAD Blamelist: Build succeeded! Sincerely, -The Buildbot
buildbot success in ASF Buildbot on openoffice-linux64-rat
The Buildbot has detected a passing build on builder openoffice-linux64-rat while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/openoffice-linux64-rat/builds/142 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: tethys_ubuntu Build Reason: The Nightly scheduler named 'openoffice-linux64-rat' triggered this build Build Source Stamp: [branch openoffice/trunk] HEAD Blamelist: Build succeeded! Sincerely, -The Buildbot
svn commit: r1716755 - /openoffice/trunk/main/sal/osl/unx/backtrace.h
Author: damjan Date: Thu Nov 26 18:33:01 2015 New Revision: 1716755 URL: http://svn.apache.org/viewvc?rev=1716755=rev Log: Fix the stack frame layout for backtraces on FreeBSD. Patch by: me Modified: openoffice/trunk/main/sal/osl/unx/backtrace.h Modified: openoffice/trunk/main/sal/osl/unx/backtrace.h URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/osl/unx/backtrace.h?rev=1716755=1716754=1716755=diff == --- openoffice/trunk/main/sal/osl/unx/backtrace.h (original) +++ openoffice/trunk/main/sal/osl/unx/backtrace.h Thu Nov 26 18:33:01 2015 @@ -37,8 +37,6 @@ void backtrace_symbols_fd( void **buffer /* no frame.h on FreeBSD */ #if defined FREEBSD struct frame { - longarg0[8]; - longarg1[6]; struct frame *fr_savfp; longfr_savpc; };
svn commit: r1716759 - in /openoffice/trunk/main/sal/osl/unx: backtrace.c diagnose.c
Author: damjan Date: Thu Nov 26 19:02:59 2015 New Revision: 1716759 URL: http://svn.apache.org/viewvc?rev=1716759=rev Log: Implement osl_diagnose_backtrace_Impl() on FreeBSD. Also fix the value of FRAME_PTR_OFFSET in both backtrace.c and diagnose.c - it's 3 because of the EBP/RBP register's position in the jmp_buf (https://github.com/freebsd/freebsd/blob/master/lib/libc/amd64/gen/_setjmp.S and https://github.com/freebsd/freebsd/blob/master/lib/libc/i386/gen/_setjmp.S). This gets backtracing to fully work on FreeBSD. Patch by: me Modified: openoffice/trunk/main/sal/osl/unx/backtrace.c openoffice/trunk/main/sal/osl/unx/diagnose.c Modified: openoffice/trunk/main/sal/osl/unx/backtrace.c URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/osl/unx/backtrace.c?rev=1716759=1716758=1716759=diff == --- openoffice/trunk/main/sal/osl/unx/backtrace.c (original) +++ openoffice/trunk/main/sal/osl/unx/backtrace.c Thu Nov 26 19:02:59 2015 @@ -143,7 +143,7 @@ void backtrace_symbols_fd( void **buffer #include #include "backtrace.h" -#define FRAME_PTR_OFFSET 1 +#define FRAME_PTR_OFFSET 3 #define FRAME_OFFSET 0 int backtrace( void **buffer, int max_frames ) Modified: openoffice/trunk/main/sal/osl/unx/diagnose.c URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/osl/unx/diagnose.c?rev=1716759=1716758=1716759=diff == --- openoffice/trunk/main/sal/osl/unx/diagnose.c (original) +++ openoffice/trunk/main/sal/osl/unx/diagnose.c Thu Nov 26 19:02:59 2015 @@ -26,9 +26,9 @@ #ifndef HAVE_DLFCN_H -#if defined(LINUX) || defined(SOLARIS) +#if defined(LINUX) || defined(SOLARIS) || defined(FREEBSD) #define HAVE_DLFCN_H -#endif /* LINUX || SOLARIS */ +#endif /* LINUX || SOLARIS || FREEBSD */ #endif /* HAVE_DLFCN_H */ @@ -73,7 +73,7 @@ static void osl_diagnose_backtrace_Impl #define OSL_DIAGNOSE_OUTPUTMESSAGE(f, s) \ ((f != 0) ? (*(f))((s)) : (void)fprintf(stderr, "%s", (s))) -#if defined (LINUX) || defined (SOLARIS) +#if defined (LINUX) || defined (SOLARIS) || defined(FREEBSD) // /* osl_diagnose_frame_Impl */ // @@ -194,14 +194,46 @@ static void osl_diagnose_backtrace_Impl } } -#else /* (LINUX || SOLARIS) */ +#elif defined(FREEBSD) + +#include +#include "backtrace.h" /* for struct frame */ + +#if defined(X86) || defined(X86_64) + +#define FRAME_PTR_OFFSET 3 +#define FRAME_OFFSET 0 + +#endif /* (X86 || X86_64) */ + +static void osl_diagnose_backtrace_Impl (oslDebugMessageFunc f) +{ + struct frame * fp; + jmp_bufctx; + inti; + + setjmp (ctx); + fp = (struct frame*)(((long*)(ctx))[FRAME_PTR_OFFSET]); + + for (i = 0; (i < FRAME_OFFSET) && (fp != 0); i++) + fp = fp->fr_savfp; + + for (i = 0; (fp != 0) && (fp->fr_savpc != 0); i++) + { + struct frame * prev = fp->fr_savfp; + osl_diagnose_frame_Impl (f, i, (void*)(fp->fr_savpc)); + fp = (prev > fp) ? prev : 0; + } +} + +#else /* (LINUX || SOLARIS || FREEBSD) */ static void osl_diagnose_backtrace_Impl (oslDebugMessageFunc f) { /* not yet implemented */ } -#endif /* (LINUX || SOLARIS) */ +#endif /* (LINUX || SOLARIS || FREEBSD) */ // /* osl_assertFailedLine */