Skip to content
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

Crash when refreshing thumbnail #16785

Closed
ralfbrown opened this issue May 14, 2024 · 2 comments · Fixed by #16790
Closed

Crash when refreshing thumbnail #16785

ralfbrown opened this issue May 14, 2024 · 2 comments · Fixed by #16790
Labels
scope: image processing correcting pixels scope: UI user interface and interactions

Comments

@ralfbrown
Copy link
Collaborator

Describe the bug

I've been editing a large shoot at high speed (150-200 images per hour), and have experienced multiple crashes when advancing to the next image. The most common segfault location has been

#2  0x00007f6a7f5209e0 in <signal handler called> () at /lib64/libc.so.6
#3  0x00007f6a7f62fb2a in __memmove_avx_unaligned_erms () at /lib64/libc.so.6
#4  0x00007f6a834e4c34 in _event_image_draw (cr=0x354fb00, user_data=<optimized out>, widget=<optimized out>) at /home/ralf/src/darktable/src/dtgtk/thumbnail.c:656

While the memcpy() at that location in thumbnail.c is wrapped in a mutex to prevent the buffer it is copying from changing during the copy, the buffer dimensions it uses were previously read outside the critical section and thus might not be valid any more (easily the case if you've changed the crop aspect ratio).

Since width, height, and buffer address are tightly linked, they need to be read and especially updated atomically. So the point(s) where the buffer changes also need to include updates to width and height in the same critical section. I haven't had a chance to look for those locations to check whether that's the case.

Steps to reproduce

Will try to generate a reproducer after I deliver this shoot....

Expected behavior

No response

Logfile | Screenshot | Screencast

No response

Commit

No response

Where did you obtain darktable from?

self compiled

darktable version

4.7.0+1206~g9920ae7c1c (current master as of earlier today)

What OS are you using?

Linux

What is the version of your OS?

Mageia 9

Describe your system?

32C64T AMD ThreadRipper 3970X, 64 GB RAM, X11.

Are you using OpenCL GPU in darktable?

None

If yes, what is the GPU card and driver?

No response

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

No response

@ralfbrown ralfbrown added scope: UI user interface and interactions scope: image processing correcting pixels labels May 14, 2024
@jenshannoschwalm
Copy link
Collaborator

That would be while filmstrip is active in darkroom ?

@ralfbrown
Copy link
Collaborator Author

Yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: image processing correcting pixels scope: UI user interface and interactions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants