Mailinglist Archive: opensuse-factory (340 mails)
| < Previous | Next > |
Re: [opensuse-factory] gcc miscompilation on Factory i586?
- From: Marcus Meissner <meissner@xxxxxxx>
- Date: Tue, 21 Apr 2009 16:31:39 +0200
- Message-id: <20090421143139.GA11641@xxxxxxx>
On Tue, Apr 21, 2009 at 04:24:40PM +0200, Wolfgang Rosenauer wrote:
free (NULL); is a good operation and will not abort().
ptr is not NULL at this point in time I think, the backtrace is just a bit
erroneous.
However, you corrupted memory earlier somewhere.
Can you run this in valgrind?
Ciao, Marcus
--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-factory+help@xxxxxxxxxxxx
Hi,
I've got a real weird issue by trying to update mozilla-nss for Factory
what I can only interpret as compiler issue or very weird coding issue.
mozilla-nss is running a comprehensive test suite during build which
currently only seems to fail on openSUSE_Factory i586.
It apparently works on x86_64, all older distributions and also in
Factory_staging.
https://build.opensuse.org/package/show?package=mozilla-nss&project=mozilla%3AFactory
In the failing buildlog one can see that it's crashing on a tool called
signtool with free() on an invalid pointer. (search for "- FAILED").
When I build locally I also get those cores dumped and looked into two
of them which show the following stack:
(gdb) bt
#0 0xb7be39d6 in raise () from /lib/libc.so.6
#1 0xb7be52d8 in abort () from /lib/libc.so.6
#2 0xb7c1fa25 in ?? () from /lib/libc.so.6
#3 0xb7c259c5 in ?? () from /lib/libc.so.6
#4 0xb7c2727b in free () from /lib/libc.so.6
#5 0xb7d45ab7 in PR_Free () from /usr/lib/libnspr4.so
#6 0xb7d89f41 in PORT_Free_Util (ptr=0x0) at secport.c:152
#7 0x0805b146 in jar_extract_mf (jar=0x8091f90, format=<value optimized
out>,
fp=0x8092048, ext=0x806a210 "sf") at jarfile.c:737
#8 0x0805b5b2 in jar_extract_manifests (fp=<value optimized out>,
format=<value optimized out>, jar=<value optimized out>) at
jarfile.c:611
#9 JAR_pass_archive (jar=0x8091f90, format=jarArchZip,
filename=0x80795c8 "nojs.jar", url=0x806c5f1 "some-url") at
jarfile.c:134
#10 0x08057c32 in VerifyJar (filename=0x80795c8 "nojs.jar") at verify.c:74
#11 0x0804e7fe in main (argc=9, argv=0xbfa54424) at signtool.c:1007
Looking at secport.c:152 I find:
void
PORT_Free(void *ptr)
{
if (ptr) {
PR_Free(ptr);
}
}
I'm really confused how the above stack can happen at all if ptr=0x0.
That's the reason why I'm actually thinking about some weird toolchain
thing. That's a _bit_ important to me as I need to update NSS for
different reasons and I don't want to disable the testsuite.
Any pointers for me on that?
free (NULL); is a good operation and will not abort().
ptr is not NULL at this point in time I think, the backtrace is just a bit
erroneous.
However, you corrupted memory earlier somewhere.
Can you run this in valgrind?
Ciao, Marcus
--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-factory+help@xxxxxxxxxxxx
| < Previous | Next > |