Any way to incorporate patches into Debian that make libvigraimpex build again?
Omari Stephens
xsdg at xsdg.org
Wed Dec 29 08:56:27 GMT 2021
Here's an initial set of patches (attached). The first is copied
verbatim from the github bug I referenced. The second is motivated by
the reference, but fixes significant bugs in the original. The third is
something small that I found.
I'm still in the middle of tracking something down which is looking more
and more like a GCC optimizer bug, but could also be UB-related, and
ends up causing a segfault in one of the unit tests. In case anyone is
interested in helping debug, here's the summary:
This unit test line:
https://github.com/ukoethe/vigra/blob/master/test/utilities/test.cxx#L1507
ends up triggering this line:
https://github.com/ukoethe/vigra/blob/master/include/vigra/any.hxx#L400
The nullptr check for the precondition is deleted (i.e. always returns
not-null) by -fdelete-null-pointer-checks (which is enabled with -O2),
even in the case where the dynamic_cast fails (which will by design
return a nullptr). This causes a nullptr dereference on the following
line, with "ptr2->cast(...". In my case, I've found that specifying
`-fsanitize=null` will prevent the null-pointer check from being
deleted, which causes the crash to not manifest. Specifying
`-fno-delete-null-pointer-checks` also fixes the segfault, but with
unknown performance effects.
$gcc --version
gcc (Debian 11.2.0-13) 11.2.0
Cheers,
--xsdg
On 12/27/21 7:31 AM, Andreas Metzler wrote:
> On 2021-12-27 Omari Stephens <xsdg at xsdg.org> wrote:
> [...]
>> If I and/or others were able to get libvigraimpex compiling again, is there
>> any chance of those changes making it into Debian in some fashion, in order
>> to unstick the other people who depend on hugin/enfuse/enblend?
> [...]
>
> Good morning,
>
> if there existed clean patches (i.e. inter alia especially testsuite works
> again) I would apply them and upload to Debian.
>
> cu Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Remove-deprecated-binder1st-and-binder2nd-from-funct.patch
Type: text/x-patch
Size: 1120 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20211229/8abd1592/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Replaces-usages-of-std-bind1st-and-std-bind2nd-with-.patch
Type: text/x-patch
Size: 27523 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20211229/8abd1592/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Updates-doc-generation-config-for-Python-3-compatibi.patch
Type: text/x-patch
Size: 1459 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20211229/8abd1592/attachment-0005.bin>
More information about the debian-science-maintainers
mailing list