-
-
Notifications
You must be signed in to change notification settings - Fork 699
segfault in python or libvips during approximate convolution of a short or ushort image #1162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Note that the segfault.txt link above is actually a .py file with the test program since github doesn't allow attaching .py files. |
Yes, |
I'm doing some issue gardening 🌱🌿 🌷 and came upon this issue. Since it's quite old I just wanted to ask if this is still relevant? If it isn't, maybe we can close this issue? By closing some old issues we reduce the list of open issues to a more manageable set. |
This is a bug that needs fixing, so this one should stay open, I think. |
{u,}{short,int} images should use {u,}short as an intermediate type when the length of the longest line is below 256. Resolves: libvips#1162.
I just opened PR #4055 for this. The above test script seems to pass ASan and UBSan now without any segfaults. |
{u,}{short,int} images should use {u,}short as an intermediate type when the length of the longest line is below 256. Resolves: libvips#1162.
{u,}{short,int} images should use {u,}short as an intermediate type when the length of the longest line is below 256. Resolves: libvips#1162.
Hi John,
I was experimenting with the approximate convolution you mentioned in #1160 and I came across a persistent segfault but only when convolving ushort images. I can make the segfault happen either in python or libvips depending on the size of the image, so I suppose this is might be a double free. Here is a test program with some experiments to see where the problem happens. Below that is a stack trace of the segfault location inside libvips.so.42.9.0 (without using a debugging build at the moment, so maybe not so helpful).
I'm running vips
vips-8.7.0-Sun Jan 28 17:23:05 UTC 2018
using the pyvips interface under pythonPython 2.7.15 :: Anaconda custom (64-bit)
Thanks in advance.
Note: actually a .py file:
segfault.txt
Possibly relevant stack trace when n=30000:
The text was updated successfully, but these errors were encountered: