* Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
@ 2020-10-09 20:26 Jonny Grant
2020-10-13 9:22 ` Szabolcs Nagy
0 siblings, 1 reply; 4+ messages in thread
From: Jonny Grant @ 2020-10-09 20:26 UTC (permalink / raw)
To: libc-help
Hello
I added comment #23 here
https://sourceware.org/bugzilla/show_bug.cgi?id=19329
On my computer any C program compiled with assert(0) dumps a core file, but this glibc issue assert does not dump a core file. Is there an issue with this assert macro in glibc? The message output on the terminal is different from the standard macro.
This is what glibc was showing when I launched Chrome.
Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
Command exited with non-zero status 127
This is my test program
$ ./a
a: a.c:6: main: Assertion `0' failed.
Aborted (core dumped)
$ cat a.c
// gcc -Wall -o a a.c
#include <assert.h>
int main()
{
assert(0);
}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
2020-10-09 20:26 Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed! Jonny Grant
@ 2020-10-13 9:22 ` Szabolcs Nagy
2020-10-13 9:24 ` Florian Weimer
0 siblings, 1 reply; 4+ messages in thread
From: Szabolcs Nagy @ 2020-10-13 9:22 UTC (permalink / raw)
To: Jonny Grant; +Cc: libc-help, nd
The 10/09/2020 21:26, Jonny Grant wrote:
> Hello
> I added comment #23 here
> https://sourceware.org/bugzilla/show_bug.cgi?id=19329
>
> On my computer any C program compiled with assert(0) dumps a core file, but this glibc issue assert does not dump a core file. Is there an issue with this assert macro in glibc? The message output on the terminal is different from the standard macro.
>
> This is what glibc was showing when I launched Chrome.
>
>
> Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
> Command exited with non-zero status 127
yes the dynamic linker (ld*.so) has a different
assert implementation than libc.so:
https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/dl-minimal.c;h=b37abfaff919383a1f1217f94798c65a0a70f398;hb=HEAD#l280
it calls _dl_fatal_printf which uses _exit(127)
and that will not dump core.
it might make sense to make ld.so asserts dump
core, please open a bug report about it.
>
>
>
> This is my test program
>
> $ ./a
> a: a.c:6: main: Assertion `0' failed.
> Aborted (core dumped)
>
>
> $ cat a.c
> // gcc -Wall -o a a.c
> #include <assert.h>
>
> int main()
> {
> assert(0);
> }
--
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
2020-10-13 9:22 ` Szabolcs Nagy
@ 2020-10-13 9:24 ` Florian Weimer
2020-10-13 10:11 ` Jonny Grant
0 siblings, 1 reply; 4+ messages in thread
From: Florian Weimer @ 2020-10-13 9:24 UTC (permalink / raw)
To: Szabolcs Nagy via Libc-help; +Cc: Jonny Grant, Szabolcs Nagy, nd
* Szabolcs Nagy via Libc-help:
> The 10/09/2020 21:26, Jonny Grant wrote:
>> Hello
>> I added comment #23 here
>> https://sourceware.org/bugzilla/show_bug.cgi?id=19329
>>
>> On my computer any C program compiled with assert(0) dumps a core file, but this glibc issue assert does not dump a core file. Is there an issue with this assert macro in glibc? The message output on the terminal is different from the standard macro.
>>
>> This is what glibc was showing when I launched Chrome.
>>
>>
>> Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
>> Command exited with non-zero status 127
>
> yes the dynamic linker (ld*.so) has a different
> assert implementation than libc.so:
>
> https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/dl-minimal.c;h=b37abfaff919383a1f1217f94798c65a0a70f398;hb=HEAD#l280
>
> it calls _dl_fatal_printf which uses _exit(127)
> and that will not dump core.
>
> it might make sense to make ld.so asserts dump
> core, please open a bug report about it.
Right, and we have a framework to implement this in a fairly
straightforward manner (except nothing about abort is really
straightforward, see the other thread).
Thanks,
Florian
--
Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
2020-10-13 9:24 ` Florian Weimer
@ 2020-10-13 10:11 ` Jonny Grant
0 siblings, 0 replies; 4+ messages in thread
From: Jonny Grant @ 2020-10-13 10:11 UTC (permalink / raw)
To: Florian Weimer, Szabolcs Nagy via Libc-help; +Cc: Szabolcs Nagy, nd
On 13/10/2020 10:24, Florian Weimer wrote:
> * Szabolcs Nagy via Libc-help:
>
>> The 10/09/2020 21:26, Jonny Grant wrote:
>>> Hello
>>> I added comment #23 here
>>> https://sourceware.org/bugzilla/show_bug.cgi?id=19329
>>>
>>> On my computer any C program compiled with assert(0) dumps a core file, but this glibc issue assert does not dump a core file. Is there an issue with this assert macro in glibc? The message output on the terminal is different from the standard macro.
>>>
>>> This is what glibc was showing when I launched Chrome.
>>>
>>>
>>> Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
>>> Command exited with non-zero status 127
>>
>> yes the dynamic linker (ld*.so) has a different
>> assert implementation than libc.so:
>>
>> https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/dl-minimal.c;h=b37abfaff919383a1f1217f94798c65a0a70f398;hb=HEAD#l280
>>
>> it calls _dl_fatal_printf which uses _exit(127)
>> and that will not dump core.
>>
>> it might make sense to make ld.so asserts dump
>> core, please open a bug report about it.
>
> Right, and we have a framework to implement this in a fairly
> straightforward manner (except nothing about abort is really
> straightforward, see the other thread).
Hi Florian, Szabolcs
Thank you, I've raised this request as a bug report.
https://sourceware.org/bugzilla/show_bug.cgi?id=26728
Jonny
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-10-13 10:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-09 20:26 Inconsistency detected by ld.so: ../elf/dl-tls.c: 481: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed! Jonny Grant
2020-10-13 9:22 ` Szabolcs Nagy
2020-10-13 9:24 ` Florian Weimer
2020-10-13 10:11 ` Jonny Grant
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).