glibc error reports go to the bit bucket in koji

Mike Bonnet mikeb at redhat.com
Tue Aug 18 22:34:33 UTC 2009


On 08/18/2009 06:14 PM, Tom Lane wrote:
> I've been poking away at the mysql crashes I mentioned a few days ago,
> and have just realized something that explains why I've been at such a
> loss to interpret the failure reports from koji.  It seems that what
> has been getting triggered is glibc's malloc-error aborts, the ones that
> look like
>
> *** glibc detected *** /home/tgl/rpmwork/BUILD/mysql-5.1.37/client/.libs/lt-mysqlslap: free(): invalid pointer: 0x0000000001dc6eb0 ***
> ======= Backtrace: =========
> /lib64/libc.so.6[0x309a275a96]
> /home/tgl/rpmwork/BUILD/mysql-5.1.37/libmysql_r/.libs/libmysqlclient_r.so.16(my_thread_end+0x62)[0x7fb1910b9612]
> /home/tgl/rpmwork/BUILD/mysql-5.1.37/client/.libs/lt-mysqlslap(run_task+0x2df)[0x4033ef]
> /lib64/libpthread.so.0[0x309ae0686a]
> /lib64/libc.so.6(clone+0x6d)[0x309a2de39d]
> ======= Memory map: ========
> 00400000-00408000 r-xp 00000000 fd:01 1522370                            /home/tgl/rpmwork/BUILD/mysql-5.1.37/client/.libs/lt-mysqlslap
> 00608000-0060a000 rw-p 00008000 fd:01 1522370                            /home/tgl/rpmwork/BUILD/mysql-5.1.37/client/.libs/lt-mysqlslap
> .. etc etc ..
>
> **The build logs from koji do not contain this rather critical
> information**.  I haven't dug into the glibc sources, but what it
> looks like on my own machine is that these reports go to /dev/tty
> not to stderr (and thus not into any log file).
>
> I will not presume to question the sanity of the /dev/tty default,
> but surely this is a *completely* undesirable behavior within the
> koji environment.  Can't we fix things so that such reports show up
> in the build.log?

This is more of a mock issue, since mock is responsible for capturing 
the output of the build process and directing it to build.log, which 
koji simply stores.  Is this reproduceable in mock on a local machine?

How would mock go about capturing output sent directly to /dev/tty? 
Could we get away with hard/sym-linking it to /dev/stderr?  Does this 
have the potential to break other things?




More information about the devel mailing list