[pkg-firebird-general] Bug#840666: firebird3.0: FTBFS on powerpc, segfaults during build

Damyan Ivanov dmn at debian.org
Thu Oct 13 19:09:42 UTC 2016

-=| John Paul Adrian Glaubitz, 13.10.2016 18:35:31 +0200 |=-
> Source: firebird3.0
> Version:
> Severity: serious

Shouldn't this be important instead? According to 
https://release.debian.org/stretch/arch_qualify.html powerpc is not 
a release candidate.

Of course, I am eager to find solution to the crash regardless, just 
arguing about it affecting the potential migration of firebird3.0 to 

> Tags: upstream
> Justification: fails to build from source
> User: debian-powerpc at lists.debian.org
> Usertags: powerpc
> firebird3.0 currently fails to build from source since the gpre
> command segfaults during build:
> sh -x -c "lockfile -1 /«PKGBUILDDIR»/gen/Release/firebird/bin/build-db.lock && /«PKGBUILDDIR»/gen/Release/firebird/bin/gpre_current -m -z -n /«PKGBUILDDIR»/src/yvalve/blob.epp /«PKGBUILDDIR»/temp/Release/yvalve/blob.cpp; res=\$?; rm -f /«PKGBUILDDIR»/gen/Release/firebird/bin/build-db.lock; exit \$res"
> + lockfile -1 /«PKGBUILDDIR»/gen/Release/firebird/bin/build-db.lock
> + /«PKGBUILDDIR»/gen/Release/firebird/bin/gpre_current -m -z -n /«PKGBUILDDIR»/src/yvalve/blob.epp /«PKGBUILDDIR»/temp/Release/yvalve/blob.cpp
> gpre version LI-V3.0.1.32609 Firebird 3.0
> Segmentation fault
> + res=139
> + rm -f /«PKGBUILDDIR»/gen/Release/firebird/bin/build-db.lock
> + exit 139

Hmm. I have seen this on amd64 when gcc switched to version 6. Getting 
it built required adding -std=gnu++98 -fno-lifetime-dse 
-fno-delete-null-pointer-checks -fno-strict-aliasing to the compiler 
flags. Probably unrelated.

> I have done some debugging and from the backtrace it's obvious that
> the crash occurs in glibc:
> (sid_powerpc-dchroot)glaubitz at partch:~/firebird3.0-$ gdb /home/glaubitz/firebird3.0-
> GNU gdb (Debian 7.11.1-2) 7.11.1
> Copyright (C) 2016 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "powerpc-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from /home/glaubitz/firebird3.0-
> (gdb) run
> Starting program: /home/glaubitz/firebird3.0-
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library 
> "/lib/powerpc-linux-gnu/libthread_db.so.1".
> gpre:  no source file named.
> Program received signal SIGSEGV, Segmentation fault.
> 0x0fa79960 in _IO_wsetb () from /lib/powerpc-linux-gnu/libc.so.6
> (gdb) bt
> #0  0x0fa79960 in _IO_wsetb () from /lib/powerpc-linux-gnu/libc.so.6
> #1  0x0fa88dac in ?? () from /lib/powerpc-linux-gnu/libc.so.6
> #2  0x0fa3cd58 in ?? () from /lib/powerpc-linux-gnu/libc.so.6
> #3  0x0fa3ce30 in exit () from /lib/powerpc-linux-gnu/libc.so.6
> #4  0x10027f28 in CPR_exit (stat=263831632) at ./src/gpre/gpre.cpp:978
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
> (gdb)
> This looks similar to the FTBFS of lua5.3 on powerpc [1] which is
> triggered by the use of a version script for the linker and, in
> fact, firebird3.0 is using such scripts. Now, this actually reminded
> me of another similar problem we had on sparc back then [2] which
> is the missing _IO_stdin_used symbol in the version script. lua5.2
> was affected by that problem as well and Aurelien Jarno fixed that
> by adding that symbol to the version script [3].

This is interesting. I was trying to debug a similar issue today on 
the mips64el porterbox. One of the command-line utilities of firebird 
produces garbage upon exit breaking a database verification at the end 
of the build process. (Build log: 
There is random garbage emitted by the firebird source preprocessor 
(gpre) which is visible earlier in the build log.
Alpha is also affected.

> I tried the fix from [3] in firebird3.0, but unfortunately it
> doesn't help. Currently, I'm out of ideas but it would be great
> to see this fixed as this also affects m68k for which I have
> added platform support to firebird upstream [4,5].

Where did you add that _IO_stdin_used entry? There are several *.vers 
files in the source. I'll try with all of them and also 

(15 minutes later) Oh, it helps! The invocations of gpre no longer 
dump sources. Let's see how far this goes.

-- Damyan

> > [1] https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1570055
> > [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261
> > [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816059
> > [4] https://github.com/FirebirdSQL/firebird/pull/51
> > [5] https://github.com/FirebirdSQL/firebird/pull/52
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-firebird-general/attachments/20161013/00a086a8/attachment-0001.sig>

More information about the pkg-firebird-general mailing list