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