Re: rpmbuild core dumps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Stephen Smoogen writes:

                   #1  0x00007f05dd8588ee raise (libc.so.6 + 0x3e8ee)
                   #2  0x00007f05dd8408ff abort (libc.so.6 + 0x268ff)
                   #3  0x00007f05dd8417d0 __libc_message.cold (libc.so.6 +
   0x277d0)
                   #4  0x00007f05dd8b47a5 malloc_printerr (libc.so.6 +
   0x9a7a5)
                   #5  0x00007f05dd8b6a3a _int_free (libc.so.6 + 0x9ca3a)
                   #6  0x00007f05dd8b93de free (libc.so.6 + 0x9f3de)
                   #7  0x00007f05dda984ec rpmugUid (librpm.so.10 + 0x584ec)
                   #8  0x00007f05dda84255 rpmfilesStat (librpm.so.10 +
   0x44255)
                   #9  0x00007f05dda8438f rpmfiStat (librpm.so.10 + 0x4438f)
                   #10 0x00007f05dda84444 rpmfiArchiveWriteHeader (librpm.so.
   10 + 0x44444)
                   #11 0x00007f05dda871c9 iterWriteArchiveNext (librpm.so.10
   + 0x471c9)


Thanks. I was wondering if it was dnf/rpm on the system or dnf/rpm in the chroot but it sounds like something changed between 4.19.0.1 (what I had on my system since September?)  and 4.19.1 ( December)



Looking at a diff between the 4.19.0 an 4.19.1 tags, a call to rpmfiStat() was added to fill_archive_entry(). The backtrace above shows the execution finding its way from rpmfiStat() into very-much-thread-unsafe code in rpmug.c

Further up the backtrace is packageBinaries() which, according to the backtrace, is being multithreaded via OMP. Looking at the core dump, I see a bunch of execution threads running packageBinaries().

I'm confident that this is the breakage. 4.19.1 needs to be fixed ASAP.

My humble suggestion for the simplest fix is to slap a __thread on all those static variables in rpmug.c. Or, perhaps, throw a mutex around them so that all execution thread share that micro-optimization those static variables are used for…

Hopefully that's the only thing that's thread unsafe in there…

Attachment: pgpuNPD3MwVOT.pgp
Description: PGP signature

--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux