Control: reassign -1 fakeroot
Hello,
On Thu, 12 Sep 2013 18:38:35 +0200
Artur Rona ari-tc...@tlen.pl wrote:
The package fails to build in a test rebuild on at least i386.
Thanks. That seems to be a bug in fakeroot package which is used to
build Debian packages.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x40396dc0 (LWP 28255)]
0x4002b379 in cpyfakemstat (f=0xbfe0c38c, st=0xb0001) at ../communicate.c:94
94if(s *s)
(gdb) bt
#0 0x4002b379 in cpyfakemstat (f=0xbfe0c38c, st=0xb0001) at ../communicate.c:94
#1 0x4002be87 in send_get_stat (st=0xb0001) at ../communicate.c:94
#2 0x4002b2c5 in fts_read (ftsp=0x89f5598) at ../libfakeroot.c:819
#3 0x4013dc24 in TraverseUnixTree () from /usr/lib/i386-linux-gnu/libtcl8.5.so
#4 0x089f5598 in ?? ()
#5 0x0026 in ?? ()
#6 0xbfe0c560 in ?? ()
#7 0x0003 in ?? ()
#8 0xbfe0c600 in ?? ()
#9 0x40181d04 in tclFreeObjList () from /usr/lib/i386-linux-gnu/libtcl8.5.so
#10 0x0001 in ?? ()
#11 0x40130514 in Tcl_StringCaseMatch () from
/usr/lib/i386-linux-gnu/libtcl8.5.so
#12 0x in ?? ()
Apparently, fakeroot ignores the fact that ‘The contents of the fts_statp field
are undefined’
(as manpage says). Somehow this code is disabled on non-Apple systems, which is
(per my opinion)
wrong. A patch which fixes this segfault is attached.
--
WBR, Andrew
--- a/libfakeroot.c
+++ b/libfakeroot.c
@@ -1938,11 +1938,9 @@
}
#endif /* LIBFAKEROOT_DEBUGGING */
r=next_fts_read(ftsp);
-#ifdef __APPLE__
if (r ((ftsp-fts_options FTS_NOSTAT)
|| r-fts_info == FTS_NS || r-fts_info == FTS_NSOK))
r-fts_statp = NULL; /* Otherwise fts_statp may be a random pointer */
-#endif
if(r r-fts_statp) { /* Should we bother checking fts_info here? */
SEND_GET_STAT(r-fts_statp, _STAT_VER);
}
signature.asc
Description: PGP signature