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 94 if(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 0x00000026 in ?? () #6 0xbfe0c560 in ?? () #7 0x00000003 in ?? () #8 0xbfe0c600 in ?? () #9 0x40181d04 in tclFreeObjList () from /usr/lib/i386-linux-gnu/libtcl8.5.so #10 0x00000001 in ?? () #11 0x40130514 in Tcl_StringCaseMatch () from /usr/lib/i386-linux-gnu/libtcl8.5.so #12 0x00000000 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