Bug#722596: critcl: FTBFS during override_dh_auto_install

2013-09-12 Thread Artur Rona

Package: critcl
Version: 3.1.9-1
Tags:sid
Usertags: ftbfs

The package fails to build in a test rebuild on at least i386.

 dpkg-source -b critcl-3.1.9
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building critcl using existing ./critcl_3.1.9.orig.tar.gz
dpkg-source: info: building critcl in critcl_3.1.9-1.debian.tar.gz
dpkg-source: info: building critcl in critcl_3.1.9-1.dsc
 debian/rules build
dh build
   dh_testdir
   dh_auto_configure
   dh_auto_build
   dh_auto_test
 fakeroot debian/rules binary
dh binary
   dh_testroot
   dh_prep
   debian/rules override_dh_auto_install
make[1]: Entering directory `/tmp/buildd/critcl-3.1.9'
./build.tcl install debian/critcl/usr/lib/tcltk
Installing into:
Packages:   debian/critcl/usr/lib/tcltk
Application:debian/critcl/usr/bin
make[1]: *** [override_dh_auto_install] Segmentation fault (core dumped)
make[1]: Leaving directory `/tmp/buildd/critcl-3.1.9'
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit 
status 2

E: Failed autobuilding of package


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#722596: critcl: FTBFS during override_dh_auto_install

2013-09-12 Thread Andrew Shadura
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