Fixed inconsistencies generated by _md_shrink.#1229
Conversation
CodSpeed Performance ReportMerging #1229 will not alter performanceComparing Summary
|
a5ddd4d to
2d022f5
Compare
2d022f5 to
c754121
Compare
|
@Romain-Geissler-1A could you confirm that the error was raised by |
|
Hi, Yes, in my case, the assert failure was exactly this one: multidict/multidict/_multilib/hashtable.h Line 1939 in 8ea6942 multidict/multidict/_multilib/hashtable.h Line 1313 in 8ea6942 md_post_update in multidict.c as well. I investigate all this with gdb.
Despite my effort, I was unable to reproduce this reliably any other way then building the rpm with fedora packaging tool, installing a local I can try your suggestion of zeroing out every trailing entries. |
c754121 to
26cc7a4
Compare
|
I pushed the new suggested implementation based on memset in this Fedora COPR https://copr.fedorainfracloud.org/coprs/romaingeissler1a/python-multidict/builds/:
The last remaining failure in httpie (tests/test_cli_utils.py::test_lazy_choices_help) is a known issue of the Python 3.14 upgrade, tracked in https://bugzilla.redhat.com/show_bug.cgi?id=2350335 With a stock multidict 6.6.2 RPM, some multi-header tests of httpie used to crash entirely, and abort the whole testing. |
This is causing assertion failures in ASSERT_CONSISTENT if an entry used to have a non null identity. Since the new entries will be concentrated at the beginning of the array, we shall "erase" the old entries that are at the end of the array and that won't be used anymore. This is enough to fix the core dump issues found in the testsuite of httpie in Fedora Rawhide.
26cc7a4 to
815ddff
Compare
|
@Romain-Geissler-1A, please confirm that the assertion failure appears in debug mode only ( |
|
That's one of the issue here: in the Fedora case, "normal" builds are built with assertion enabled, while it seems it's not your intention. You can see the complete build log of the So the CFLAGS found in |
|
Technically, if you run an OCI container 'quay.io/fedora/fedora:rawhide', and run this inside it: you can see that the symbol |
|
@Romain-Geissler-1A I wonder why Fedora doesn't respect CFLAGS from I would say that in a debug build, the library performs a self-check after every multidict operation; it sacrifices performance, but is acceptable for debugging purposes. This is not what distros want to have. |
This is causing assertion failures in ASSERT_CONSISTENT if an entry used to have a non null identity. Since the new entries will be concentrated at the beginning of the array, we shall "erase" the old entries that are at the end of the array and that won't be used anymore.
This is enough to fix the core dump issues found in the testsuite of httpie in Fedora Rawhide (see #1195 (comment))