Project

General

Profile

Bug #9014

Crashes if numer is pressed while zoomed with Z key in lighttable

Added by F M almost 7 years ago. Updated over 6 years ago.

Status:
Fixed
Priority:
Medium
Category:
Lighttable
Start date:
11/29/2012
Due date:
% Done:

100%

Affected Version:
git development version
System:
unknown
bitness:
64-bit
hardware architecture:
amd64/x86

Description

If one tries to assign a star rating to an image while holding down the z key to zoom, dt hangs. Also the star ratings are only show for the first photo, if you scroll through photos using the up/downs keys the rating stars disappear.


Subtasks

Bug #9104: Scrolling images when zooming with z key doesn't update active imageFixed

History

#1 Updated by Christian Tellefsen almost 7 years ago

  • Affected Version changed from 1.0.5 to git development version
  • Status changed from New to Confirmed
  • Assignee set to Christian Tellefsen
  • Target version set to Candidate for next major release
  • % Done changed from 0 to 10

Thanks for reporting. Confirmed in git master.

#2 Updated by Christian Tellefsen almost 7 years ago

With Debug build, dt does not crash, but goes into a deadlock.

Backtrace:

(gdb) thread apply all bt

Thread 15 (Thread 0x756a6b40 (LWP 11380)):
#0  0x01676ba5 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#1  0x01676c3e in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#2  0x016754d8 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#3  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#4  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 12 (Thread 0xb23fab40 (LWP 11377)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212a64 in dt_control_work_res (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1142
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 11 (Thread 0xb2bfbb40 (LWP 11376)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212a64 in dt_control_work_res (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1142
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 10 (Thread 0xb33fcb40 (LWP 11375)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212a64 in dt_control_work_res (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1142
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 9 (Thread 0xb3bfdb40 (LWP 11374)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
---Type <return> to continue, or q <return> to quit---
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212a64 in dt_control_work_res (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1142
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 8 (Thread 0xb43feb40 (LWP 11373)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212a64 in dt_control_work_res (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1142
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 7 (Thread 0xb4bffb40 (LWP 11372)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
---Type <return> to continue, or q <return> to quit---
#3  0x00212a64 in dt_control_work_res (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1142
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 6 (Thread 0xb55fdb40 (LWP 11371)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212a64 in dt_control_work_res (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1142
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 5 (Thread 0xb5dfeb40 (LWP 11370)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212a64 in dt_control_work_res (ptr=0x80d61d0)
---Type <return> to continue, or q <return> to quit---
    at /paasan/christian/prog/darktable-org/src/control/control.c:1142
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 4 (Thread 0xb65ffb40 (LWP 11369)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x004cac16 in nanosleep () from /lib/i386-linux-gnu/libc.so.6
#2  0x004caa0f in sleep () from /lib/i386-linux-gnu/libc.so.6
#3  0x00212ae2 in _control_worker_kicker (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1155
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xb6f12b40 (LWP 11368)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212be7 in dt_control_work (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1177
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6
---Type <return> to continue, or q <return> to quit---

Thread 2 (Thread 0xb7713b40 (LWP 11367)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x0040696b in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i386-linux-gnu/libpthread.so.0
#2  0x0020d0d9 in dt_pthread_cond_wait (cond=0x80d9c28, mutex=0x80d8d68)
    at /paasan/christian/prog/darktable-org/src/common/dtpthread.h:170
#3  0x00212be7 in dt_control_work (ptr=0x80d61d0)
    at /paasan/christian/prog/darktable-org/src/control/control.c:1177
#4  0x00402d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00501ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb7fd6880 (LWP 11364)):
#0  0x00132416 in __kernel_vsyscall ()
#1  0x004faaf1 in select () from /lib/i386-linux-gnu/libc.so.6
#2  0x001a4c4c in dt_cache_sleep_ms (ms=5)
    at /paasan/christian/prog/darktable-org/src/common/cache.c:102
#3  0x001a685e in dt_cache_write_get (cache=0x80891a4, key=4)
    at /paasan/christian/prog/darktable-org/src/common/cache.c:1083
#4  0x001de09d in dt_image_cache_write_get (cache=0x80891a0, img=0xa8ff8880)
    at /paasan/christian/prog/darktable-org/src/common/image_cache.c:210
#5  0x01dbc002 in star_key_accel_callback (accel_group=0x80c1720, 
    acceleratable=0x81ab000, keyval=50, modifier=0, data=0x2)
---Type <return> to continue, or q <return> to quit---
    at /paasan/christian/prog/darktable-org/src/views/lighttable.c:1029
#6  0x008ebf10 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#7  0x006c2484 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#8  0x006d40d9 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#9  0x006dbff5 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#10 0x006dc453 in g_signal_emit ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#11 0x0080b65e in gtk_accel_group_activate ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#12 0x0080cb29 in gtk_accel_groups_activate ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#13 0x00a3f62a in gtk_window_activate_key ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#14 0x00a3f68e in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#15 0x008eb8a2 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#16 0x006c12fd in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#17 0x006c2484 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#18 0x006d470d in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#19 0x006dbff5 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#20 0x006dc453 in g_signal_emit ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#21 0x00a25413 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#22 0x008e9b38 in gtk_propagate_event ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#23 0x008e9e00 in gtk_main_do_event ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#24 0x0075b758 in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#25 0x00602d86 in g_main_context_dispatch ()
   from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0x00603125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#27 0x0060356b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0x008e8b8f in gtk_main () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#29 0x0026c1ca in dt_gui_gtk_run (gui=0x80891e8)
    at /paasan/christian/prog/darktable-org/src/gui/gtk.c:952
#30 0x08048684 in main (argc=1, argv=0xbffff3b4)
    at /paasan/christian/prog/darktable-org/src/main.c:25

#3 Updated by Christian Tellefsen almost 7 years ago

  • Status changed from Confirmed to Triaged
  • % Done changed from 10 to 20

Checked in fix which prevents darktable from crashing or deadlocking.

TODO:
- fix display of star ratings
- when adding a star rating, the original displayed picture is updated, not the currently displayed one (Possible approaches: update mouse_over_id instead of full_preview_id, or alternatively add a check for lib->full_preview_id != -1 in star_key_accel_callback()

#4 Updated by Jose Carlos Garcia Sogo over 6 years ago

Christian Tellefsen wrote:

Checked in fix which prevents darktable from crashing or deadlocking.

TODO:
- fix display of star ratings
- when adding a star rating, the original displayed picture is updated, not the currently displayed one (Possible approaches: update mouse_over_id instead of full_preview_id, or alternatively add a check for lib->full_preview_id != -1 in star_key_accel_callback()

Display of stars is done in git, fixing #9159

#5 Updated by Jose Carlos Garcia Sogo over 6 years ago

  • System set to unknown
  • Status changed from Triaged to Fixed
  • % Done changed from 20 to 100

Also available in: Atom PDF