Closed TurboGit closed 8 months ago
@dterrahe : One for you I bet :) TIA.
So possible something wrong added after the mentioned commit which had fixed the slideshow.
I'm not sure what this sentence means. Slideshow seems to work fine for me on current master?
Weird, I can make it crashes consistently:
And I always get:
Thread 6 "worker 0" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffdfdbb6c0 (LWP 2706564)]
0x00007ffff7bb9e61 in dt_dev_process_image_job (dev=dev@entry=0x7fffdfda9980,
port=0x7fffdfda9920, pipe=pipe@entry=0x7fffd4000eb0,
signal=signal@entry=4294967295)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/develop/develop.c:392
392 if(port->pipe->loading || pipe_changed != DT_DEV_PIPE_UNCHANGED)
(gdb) bt
#0 0x00007ffff7bb9e61 in dt_dev_process_image_job
(dev=dev@entry=0x7fffdfda9980, port=0x7fffdfda9920, pipe=pipe@entry=0x7fffd4000eb0, signal=signal@entry=4294967295)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/develop/develop.c:392
#1 0x00007ffff7bbdf78 in dt_dev_image
(imgid=imgid@entry=20, width=<optimized out>, height=<optimized out>, history_end=history_end@entry=-1, processed_width=processed_width@entry=0x0, processed_height=processed_height@entry=0x0, buf=0x7fffdfdaa3e8, scale=0x0, buf_width=0x7fffdfdaa3d8, buf_height=0x7fffdfdaa3e0, zoom_x=0x0, zoom_y=0x0, snapshot_id=-1)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/develop/develop.c:3538
#2 0x00007fffdc00397e in _process_image
(d=d@entry=0x555557bb3930, slot=slot@entry=S_CURRENT)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/views/slideshow.c:206
#3 0x00007fffdc003c71 in _process_job_run (job=<optimized out>)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/views/slideshow.c:286
#4 0x00007ffff7b7932e in _control_job_execute (job=job@entry=0x5555599ac3d0)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/control/jobs.c:314
#5 0x00007ffff7b79bd0 in _control_run_job (control=<optimized out>)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/control/jobs.c:333
#6 _control_work (ptr=<optimized out>)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/control/jobs.c:582
#7 0x00007ffff78a63ec in start_thread (arg=<optimized out>)
at ./nptl/pthread_create.c:444
#8 0x00007ffff7926a4c in clone3 ()
at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
This is because port->pipe
is NULL:
(gdb) f 0
#0 0x00007ffff7bb9e61 in dt_dev_process_image_job (
dev=dev@entry=0x7fffdfda9980, port=0x7fffdfda9920,
pipe=pipe@entry=0x7fffd4000eb0, signal=signal@entry=4294967295)
at /home/obry/dev/builds/c-darktable/x86_64-linux-gnu-default/src/src/develop/develop.c:392
392 if(port->pipe->loading || pipe_changed != DT_DEV_PIPE_UNCHANGED)
(gdb) print port->pipe
$1 = (struct dt_dev_pixelpipe_t *) 0x0
And probably due to the fact that we don't initialize port->pipe
when zoomx
& zoomy
are not requested.
In dt_dev_image we have:
if(!zoom_x && !zoom_y)
port = &(dt_dev_viewport_t) { .zoom = DT_ZOOM_FIT,
.width = width,
.height = height,
.ppd = 1.0,
.pipe = pipe };
port->pipe
gets set to pipe
there (i.e. dev.full.pipe)
port->pipe
gets set topipe
there (i.e. dev.full.pipe)
Not inside port struct. It is set in port struct only if zoomx
or zoomy
are not NULL
, and that's where the issue occurs (in port->pipe
).
But since you cannot reproduce with current master there is probably some other context... Maybe a pref? I don't know, but on my side it crash consistently.
@jenshannoschwalm @wpferguson : Is this crashing for you too?
I'm on current master (1066) and I've tried twice and it's crashed twice.
EDIT: with and without opencl
Latest...
Thread 7 (Thread 0x7f46937fe640 (LWP 85624) "worker 3"):
#0 0x00007f46ac2ea42f in __GI___wait4 (pid=pid@entry=85964, stat_loc=stat_loc@entry=0x0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30
sc_ret = -512
sc_cancel_oldtype = 0
#1 0x00007f46ac2ea3ab in __GI___waitpid (pid=pid@entry=85964, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ./posix/waitpid.c:38
#2 0x00007f46ac77fae0 in _dt_sigsegv_handler (param=11) at /home/bill/src/darktable/darktable/src/common/system_signal_handling.c:101
pid = 85964
name_used = 0x7f467c0a86b0 "/tmp/darktable_bt_7QCTD2.txt"
fout = <optimized out>
delete_file = 0
datadir = "/opt/darktable45/share/darktable", '\000' <repeats 4063 times>
pid_arg = 0x7f467c0a8560 "85564"
comm_arg = 0x7f467c007250 "/opt/darktable45/share/darktable/gdb_commands"
logenable = 0x7f467c0a6e40 "set logging enabled on"
setlogfile = 0x7f467c0ae2b0 "set logging file /tmp/darktable_bt_7QCTD2.txt"
#3 0x00007f46ac242520 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007f46ac807458 in dt_dev_process_image_job (dev=dev@entry=0x7f46937ec940, port=0x7f46937ec8e0, pipe=pipe@entry=0x7f467c0016b0, signal=signal@entry=4294967295) at /home/bill/src/darktable/darktable/src/develop/develop.c:392
zoom = 2474559424
closeup = 31
start = {clock = 408335650.46920598, user = 31.708058999999999}
buf = {size = DT_MIPMAP_FULL, imgid = 78180, width = 7128, height = 4732, iscale = 1, buf = 0x7f44f7faa080 "\376\001\371\001\375\001\374\001", color_space = DT_COLORSPACE_NONE, cache_entry = 0x55d46b69fe40}
pipe_changed = <optimized out>
scale = 1
window_width = 2147483647
window_height = 2147483647
zoom_x = 0
zoom_y = 0
wd = <optimized out>
ht = <optimized out>
x = <optimized out>
y = <optimized out>
__FUNCTION__ = "dt_dev_process_image_job"
#5 0x00007f46ac80b62e in dt_dev_image (imgid=imgid@entry=78180, width=<optimized out>, height=<optimized out>, history_end=history_end@entry=-1, processed_width=processed_width@entry=0x0, processed_height=processed_height@entry=0x0, buf=0x7f46937ed3b0, scale=0x0, buf_width=0x7f46937ed3a0, buf_height=0x7f46937ed3a8, zoom_x=0x0, zoom_y=0x0, snapshot_id=-1) at /home/bill/src/darktable/darktable/src/develop/develop.c:3538
dev = {gui_attached = 0, gui_leaving = 0, gui_synch = 0, gui_previous_target = 0x0, gui_previous_time = 0, gui_previous_pipe_time = 0, focus_hash = 0, history_updating = 0, image_force_reload = 0, first_load = 0, autosaving = 0, image_invalid_cnt = 0, timestamp = 0, preview_average_delay = 0, gui_module = 0x0, preview_pipe = 0x7f467c002fb0, image_storage = {exif_inited = 1, orientation = ORIENTATION_NONE, exif_exposure = 0.00400000019, exif_exposure_bias = 0, exif_aperture = 4.5, exif_iso = 100, exif_focal_length = 17, exif_focus_distance = 5.38499975, exif_crop = 0, exif_maker = "Canon", '\000' <repeats 58 times>, exif_model = "Canon EOS R7", '\000' <repeats 51 times>, exif_lens = "Canon EF-S 17-55mm f/2.8 IS USM", '\000' <repeats 96 times>, exif_datetime_taken = 63833578304520000, exif_correction_type = CORRECTION_TYPE_NONE, exif_correction_data = {sony = {nc = 32582, distortion = {120, 53, 0, 0, 7882, 27735, 21972, 0, 1, 0, 0, 0, 132, 216, 32582, 0}, ca_r = {24760, 27902, 21972, 0, 2, 0, 32582, 0, 260, 140, 0, 0, 7886, 27735, 21972, 0}, ca_b = {1, 0, 0, 0, 567, 192, 32582, 0, 7887, 27735, 21972, 0, 5, 0, 32582, 0}, vignetting = {0, 0, 0, 0, 9816, -21502, 32582, 0, 0, 0, 0, 0, 4768, 26892, 21972, 0}}, fuji = {nc = 32582, cropf = 4.86744945e-39, knots = {0, 1.04025779e+27, 3.07893299e-41, 1.40129846e-45, 0, 1.98366521e-38, 4.56571066e-41, 2.4601912e+27, 3.07893299e-41, 2.80259693e-45, 4.56571066e-41}, distortion = {1.28573338e-38, 0, 1.04025809e+27, 3.07893299e-41, 1.40129846e-45, 0, 1.76332098e-38, 4.56571066e-41, 1.04025816e+27, 3.07893299e-41, 7.00649232e-45}, ca_r = {4.56571066e-41, 0, 0, -1.84953962e-12, 4.56571066e-41, 0, 0, 1.05835981e+25, 3.07893299e-41, 0, 0}, ca_b = {-1.84953962e-12, 4.56571066e-41, 0, 0, 1.05835981e+25, 3.07893299e-41, 0, 0, -1.84953962e-12, 4.56571066e-41, 0}, vignetting = {0, 1.05835981e+25, 3.07893299e-41, 0, 0, -1.84953962e-12, 4.56571066e-41, 0, 0, 1.05835981e+25, 3.07893299e-41}}, dng = {planes = 32582, cwarp = {{4.86744945e-39, 0, 1.04025779e+27, 3.07893299e-41, 1.40129846e-45, 0}, {1.98366521e-38, 4.56571066e-41, 2.4601912e+27, 3.07893299e-41, 2.80259693e-45, 4.56571066e-41}, {1.28573338e-38, 0, 1.04025809e+27, 3.07893299e-41, 1.40129846e-45, 0}}, centre_warp = {1.76332098e-38, 4.56571066e-41}, cvig = {1.04025816e+27, 3.07893299e-41, 7.00649232e-45, 4.56571066e-41, 0}, centre_vig = {0, -1.84953962e-12}, has_warp = 32582, has_vignette = 0}}, camera_maker = "Canon", '\000' <repeats 58 times>, camera_model = "EOS R7", '\000' <repeats 57 times>, camera_alias = "EOS R7", '\000' <repeats 57 times>, camera_makermodel = "Canon EOS R7", '\000' <repeats 115 times>, camera_missing_sample = 0, filename = "115EOSR7_2R4A1513.CR3", '\000' <repeats 234 times>, width = 7128, height = 4732, final_width = 0, final_height = 0, p_width = 6984, p_height = 4660, crop_x = 144, crop_y = 72, crop_right = 0, crop_bottom = 0, aspect_ratio = 1.5, num = 0, flags = 1600, film_id = 60, version = 0, id = 78180, group_id = 78180, import_timestamp = 63833618410028840, change_timestamp = -1, export_timestamp = -1, print_timestamp = -1, loader = LOADER_LIBRAW, buf_dsc = {channels = 1, datatype = TYPE_UINT16, filters = 2492765332, xtrans = {"\000\000\000\000\000", "\000\000\000\000\000", "\000\000\000\000\000", "\000\000\000\000\000", "\000\000\000\000\000", "\000\000\000\000\000"}, rawprepare = {raw_black_level = 0, raw_white_point = 0}, temperature = {enabled = 0, coeffs = {0, 0, 0, 0}}, processed_maximum = {0, 0, 0, 0}, cst = 0}, d65_color_matrix = {nan(0x400000), -3.28452081e+21, 3.33389737e-24, 2.46484807e-35, 1.39283272e-30, 2.39738284e+27, 1.21468402e-30, 1.85827591e-40, -2.0528255e+20}, profile = 0x0, profile_size = 0, colorspace = DT_IMAGE_COLORSPACE_NONE, legacy_flip = {legacy = 0, user_flip = 0}, geoloc = {longitude = nan(0x8000000000000), latitude = nan(0x8000000000000), elevation = nan(0x8000000000000)}, raw_black_level = 511, raw_black_level_separate = {511, 511, 511, 511}, raw_white_point = 13036, fuji_rotation_pos = 0, pixel_aspect_ratio = 1, wb_coeffs = {1986, 1024, 1481, 1024}, adobe_XYZ_to_CAM = {{1.0424, -0.313800007, -0.129999995}, {-0.422100008, 1.19379997, 0.258399993}, {-0.0546999983, 0.165800005, 0.618300021}, {0, 0, 0}}, usercrop = {0, 0, 1, 1}, dng_gain_maps = 0x0, cache_entry = 0x55d46b89d000}, requested_id = 78180, history_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, history_end = 11, history = 0x55d46b740b60 = {0x7f467c06b990, 0x7f467c06ba70, 0x7f467c068670, 0x7f467c068750, 0x7f467c069ab0, 0x7f467c069d40, 0x7f467c069fd0, 0x7f467c06a0b0, 0x7f467c06c990, 0x7f467c06cc20, 0x7f467c06ceb0}, history_postpone_invalidate = 0, history_last_module = 0x0, iop_instance = 87, iop = 0x55d46b7850a0 = {0x7f467c02a140, 0x7f467c060760, 0x7f467c04b5a0, 0x7f467c04c780, 0x7f467c043e80, 0x7f467c065280, 0x7f467c04a100, 0x7f467c011d40, 0x7f467c050660, 0x7f467c03f5e0, 0x7f467c063ce0, 0x7f467c02e6c0, 0x7f467c023740, 0x7f467c027020, 0x7f467c03dc20, 0x7f467c02bc00, 0x7f467c02dde0, 0x7f467c0297e0, 0x7f467c038f20, 0x7f467c0645c0, 0x7f467c058e20, 0x7f467c02aa40, 0x7f467c024c60, 0x7f467c025e40, 0x7f467c02d4a0, 0x7f467c027900, 0x7f467c05fe80, 0x7f467c025540, 0x7f467c038540, 0x7f467c03e500, 0x7f467c055bc0, 0x7f467c0281e0, 0x7f467c02efa0, 0x7f467c043520, 0x7f467c026720, 0x7f467c045920, 0x7f467c022e80, 0x7f467c046b00, 0x7f467c00ca10, 0x7f467c04ab00, 0x7f467c00c230, 0x7f467c048f40, 0x7f467c02cbc0, 0x7f467c04d0a0, 0x7f467c012ea0, 0x7f467c047d00, 0x7f467c042c00, 0x7f467c030540, 0x7f467c0565c0, 0x7f467c04f9a0, 0x7f467c041a00, 0x7f467c028b20, 0x7f467c03fec0, 0x7f467c00dc50, 0x7f467c0242c0, 0x7f467c031760, 0x7f467c011560, 0x7f467c02f880, 0x7f467c058520, 0x7f467c0410e0, 0x7f467c00b5d0, 0x7f467c062b20, 0x7f467c045040, 0x7f467c061920, 0x7f467c048660, 0x7f467c02b320, 0x7f467c030e80, 0x7f467c061040, 0x7f467c056f80, 0x7f467c046220, 0x7f467c057c40, 0x7f467c00ba50, 0x7f467c0125c0, 0x7f467c044760, 0x7f467c040800, 0x7f467c0110e0, 0x7f467c062200, 0x7f467c03d340, 0x7f467c054170, 0x7f467c01d7f0, 0x7f467c063400, 0x7f467c042320, 0x7f467c049820, 0x7f467c04be80, 0x7f467c0225a0, 0x7f467c054da0, 0x7f467c053990}, alliop = 0x0, iop_order_version = 0, iop_order_list = 0x55d46b756ac0 = {0x7f467c00e960, 0x7f467c00e9b0, 0x55d46d08df10, 0x7f467c002550, 0x7f467c006e40, 0x7f467c065b60, 0x7f467c065bb0, 0x7f467c065c00, 0x7f467c065c50, 0x7f467c065ca0, 0x7f467c065cf0, 0x7f467c065d40, 0x7f467c065d90, 0x7f467c065de0, 0x7f467c065e30, 0x7f467c065e80, 0x7f467c065ed0, 0x7f467c065f20, 0x7f467c065f70, 0x7f467c065fc0, 0x7f467c066010, 0x7f467c066060, 0x7f467c0660b0, 0x7f467c066100, 0x7f467c066150, 0x7f467c0661a0, 0x7f467c0661f0, 0x7f467c066240, 0x7f467c066290, 0x7f467c0662e0, 0x7f467c066330, 0x7f467c066380, 0x7f467c0663d0, 0x7f467c066420, 0x7f467c066470, 0x7f467c066910, 0x7f467c066960, 0x7f467c0669b0, 0x7f467c066a00, 0x7f467c066a50, 0x7f467c066aa0, 0x7f467c066af0, 0x7f467c066b40, 0x7f467c066b90, 0x7f467c066be0, 0x7f467c066c30, 0x7f467c066c80, 0x7f467c066cd0, 0x7f467c066d20, 0x7f467c066d70, 0x7f467c066dc0, 0x7f467c066e10, 0x7f467c066e60, 0x7f467c066eb0, 0x7f467c066f00, 0x7f467c066f50, 0x7f467c066fa0, 0x7f467c00a800, 0x7f467c066ff0, 0x7f467c067040, 0x7f467c067090, 0x7f467c0670e0, 0x7f467c067130, 0x7f467c067180, 0x7f467c0671d0, 0x7f467c067220, 0x7f467c067270, 0x7f467c0672c0, 0x7f467c067310, 0x7f467c067360, 0x7f467c0673b0, 0x7f467c067400, 0x7f467c067450, 0x7f467c0674a0, 0x7f467c0674f0, 0x7f467c067540, 0x7f467c067590, 0x7f467c0675e0, 0x7f467c067630, 0x7f467c067680, 0x7f467c0676d0, 0x7f467c067720, 0x7f467c067770, 0x7f467c0677c0, 0x7f467c067810, 0x7f467c067860, 0x7f467c0678b0}, allprofile_info = 0x55d46b78f740 = {0x7f467c0a9880, 0x7f467c0addc0, 0x7f467c0ae340}, histogram_pre_tonecurve = 0x7f467c007f10, histogram_pre_levels = 0x7f467c008f20, histogram_pre_tonecurve_max = 4294967295, histogram_pre_levels_max = 4294967295, forms = 0x0, form_visible = 0x0, form_gui = 0x0, allforms = 0x0, full_preview = 0, full_preview_last_zoom = DT_ZOOM_FIT, full_preview_last_closeup = 0, full_preview_last_zoom_x = 0, full_preview_last_zoom_y = 0, full_preview_last_module = 0x0, full_preview_masks_state = 0, proxy = {exposure = {module = 0x0, set_exposure = 0x0, get_exposure = 0x0, set_black = 0x0, get_black = 0x0}, rotate = 0x0, modulegroups = {module = 0x0, set = 0x0, get = 0x0, get_activated = 0x0, test = 0x0, switch_group = 0x0, update_visibility = 0x0, test_visible = 0x0, basics_module_toggle = 0x0}, masks = {module = 0x0, list_change = 0x0, list_remove = 0x0, list_update = 0x0, selection_change = 0x0}}, chroma = {temperature = 0x7f467c04b5a0, adaptation = 0x0, wb_coeffs = {2.0058121681213379, 1, 1.3646310567855835, inf}, D65coeffs = {2.0058120725205377, 1, 1.3646311117793406, inf}, as_shot = {1.939453125, 1, 1.4462890625, 1}, late_correction = 0}, cropping = {exposer = 0x0, requester = 0x0}, overexposed = {floating_window = 0x0, button = 0x0, enabled = 0, colorscheme = DT_DEV_OVEREXPOSED_REDBLUE, lower = -12.6899996, upper = 99.9899979, mode = DT_CLIPPING_PREVIEW_LUMINANCE}, rawoverexposed = {floating_window = 0x0, button = 0x0, enabled = 0, mode = DT_DEV_RAWOVEREXPOSED_MODE_MARK_CFA, colorscheme = DT_DEV_RAWOVEREXPOSED_RED, threshold = 1}, iso_12646 = {button = 0x0}, profile = {floating_window = 0x0, softproof_button = 0x0, gamut_button = 0x0}, second_wnd = 0x0, second_wnd_button = 0x0, full = {widget = 0x55d46b58b450, orig_width = 0, orig_height = 0, width = -1, height = -1, border_size = 0, dpi = 120, dpi_factor = 1.25, ppd = 1, iso_12646 = 0, zoom = DT_ZOOM_FIT, closeup = 0, zoom_x = 0, zoom_y = 0, zoom_scale = 1, pipe = 0x7f467c0016b0}, preview2 = {widget = 0x0, orig_width = 0, orig_height = 0, width = 0, height = 0, border_size = 0, dpi = 0, dpi_factor = 0, ppd = 0, iso_12646 = 0, zoom = DT_ZOOM_FIT, closeup = 0, zoom_x = 0, zoom_y = 0, zoom_scale = 1, pipe = 0x7f467c0038a0}, mask_form_selected_id = 0, darkroom_skip_mouse_events = 0, darkroom_mouse_in_center_area = 0}
pipe = 0x7f467c0016b0
port = <optimized out>
bufsize = <optimized out>
#6 0x00007f46a1ae8e1f in _process_image (d=d@entry=0x55d46b5fdc90, slot=slot@entry=S_CURRENT) at /home/bill/src/darktable/darktable/src/views/slideshow.c:206
s_width = 3840
s_height = 2160
imgid = 78180
width = 0
height = 0
buf = 0x0
slt = <optimized out>
#7 0x00007f46a1ae9131 in _process_job_run (job=<optimized out>) at /home/bill/src/darktable/darktable/src/views/slideshow.c:286
d = 0x55d46b5fdc90
#8 0x00007f46ac7945e3 in _control_job_execute (job=job@entry=0x55d46ce20170) at /home/bill/src/darktable/darktable/src/control/jobs.c:314
#9 0x00007f46ac794ea8 in _control_run_job (control=0x55d46903b670) at /home/bill/src/darktable/darktable/src/control/jobs.c:333
job = 0x55d46ce20170
params = <optimized out>
control = 0x55d46903b670
name = "worker 3\000\000\000\000\000\000\000"
#10 _control_work (ptr=<optimized out>) at /home/bill/src/darktable/darktable/src/control/jobs.c:582
params = <optimized out>
control = 0x55d46903b670
name = "worker 3\000\000\000\000\000\000\000"
#11 0x00007f46ac294ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
ret = <optimized out>
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140726951681200, 435942448767770802, 139941099071040, 11, 139941512824784, 140726951681552, -539902380035989326, -539975613384810318}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#12 0x00007f46ac326a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Can't test for two days but didn't have a crash for some time...
@wpferguson : Thanks, you get the very same crash as me. At least I'm not alone :)
bisect is
5a678cd8505394008165bbc7391c4438c3d0e169 is the first bad commit
commit 5a678cd8505394008165bbc7391c4438c3d0e169
Author: Diederik ter Rahe <dterrahe@yahoo.com>
Date: Wed Oct 25 08:59:35 2023 -0400
fix export, thumbnails & slideshow
src/develop/develop.c | 29 ++++++++++-------
src/develop/pixelpipe.h | 1 +
src/develop/pixelpipe_hb.c | 14 ++++----
src/gui/accelerators.c | 8 +++--
src/views/slideshow.c | 58 +++++++++++++++++++---------------
src/views/view.c | 79 ++--------------------------------------------
6 files changed, 66 insertions(+), 123 deletions(-)
@TurboGit but I have another "feature". When I run slideshow no image appears, just a gray screen. I see the mouse cursor disappear when a new image "loads" so the screen is getting redrawn. My screen is 4K, so maybe that's the issue. I don't use slideshow ever, so no telling how long it's been this way (or maybe it's just me :))
@wpferguson : Yep, you came to the same conclusion as me, I wrote in original message:
This has been introduced in https://github.com/darktable-org/darktable/commit/5a678cd8505394008165bbc7391c4438c3d0e169 to fix export, thumbnails & slideshow.
Can reproduce when compiling with gcc 12.2. I'll produce a fix.
port->pipe
gets set topipe
there (i.e. dev.full.pipe)
Oups... sorry I see that I read the conditional in the opposite direction. I see that the bock:
if(!zoom_x && !zoom_y)
port = &(dt_dev_viewport_t) { .zoom = DT_ZOOM_FIT,
.width = width,
.height = height,
.ppd = 1.0,
.pipe = pipe };
Was indeed executed when zoomx
and zoomy
are NULL. My bad, at least now I understand the misunderstanding. Again, sorry about that.
Any call to
dt_dev_image()
withzoomx
&zoomy
set to NULL will crash darktable.This has been introduced in 5a678cd8505394008165bbc7391c4438c3d0e169 to fix export, thumbnails & slideshow.
It breaks the overlay module being worked on in
po/compose
(that's how I found about this issue).After looking at the code the slideshow also calling
dt_dev_image
withoutzoomx
&zoomy
and I can confirm that starting the slideshow also crashes darktable. So possibly something wrong added after the mentioned commit which had fixed the slideshow.