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

Scrollwheel and doubleclick support for levels module #14

Conversation

christte
Copy link
Member

@christte christte commented Jun 9, 2012

These two commits add doubleclick to reset and mouse scroll wheel support to the levels module.

This request supercedes my previous pull request, adding doubleclick to reset.

@christte
Copy link
Member Author

christte commented Jun 9, 2012

Err, closing this one, resubmitting with correct commit history. Sorry for the static.

@christte christte closed this Jun 9, 2012
LebedevRI added a commit to LebedevRI/darktable that referenced this pull request Nov 20, 2014
Fixes:
=================================================================
==19419==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f31036b66e0 at pc 0x7f31cd73ce7a bp 0x7f3145815a80 sp 0x7f3145815a78
READ of size 4 at 0x7f31036b66e0 thread T57
    #0 0x7f31cd73ce79 in _blend_normal_unbounded /home/lebedevri/darktable/src/develop/blend.c:486
    #1 0x7f31cd744916 in dt_develop_blend_process._omp_fn.6 /home/lebedevri/darktable/src/develop/blend.c:2194
    #2 0x7f31c6ba5715 (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0xd715)
    #3 0x7f31c9db80a3 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x80a3)
    #4 0x7f31c68cdccc in clone (/lib/x86_64-linux-gnu/libc.so.6+0xe5ccc)

0x7f31036b66e0 is located 0 bytes to the right of 89644768-byte region [0x7f30fe138800,0x7f31036b66e0)
allocated by thread T10 here:
    #0 0x7f31cdbd4c9b in __interceptor_posix_memalign (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54c9b)
    #1 0x7f31cd65c18d in dt_alloc_align /home/lebedevri/darktable/src/common/darktable.c:997
    #2 0x7f31cd731cd8 in dt_dev_pixelpipe_cache_get_weighted /home/lebedevri/darktable/src/develop/pixelpipe_cache.c:163
    #3 0x7f31cd7369dd in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:827
    #4 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #5 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #6 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #7 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    #8 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#9 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#10 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#11 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#12 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#13 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#14 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#15 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#16 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#17 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#18 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#19 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#20 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#21 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#22 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#23 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#24 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#25 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#26 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#27 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#28 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#29 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689

Thread T57 created by T10 here:
    #0 0x7f31cdba3bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f31c6ba5c56 (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0xdc56)
    #2 0x7f31c6ba17d9 in GOMP_parallel (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0x97d9)
    #3 0x3ed921823dcccccc

Thread T10 created by T0 here:
    #0 0x7f31cdba3bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f31cd6fc149 in dt_control_jobs_init /home/lebedevri/darktable/src/control/jobs.c:512
    #2 0x7f31cd6f1945 in dt_control_init /home/lebedevri/darktable/src/control/control.c:317
    #3 0x7f31cd65fe3c in dt_init /home/lebedevri/darktable/src/common/darktable.c:745
    #4 0x400b7f in main /home/lebedevri/darktable/src/main.c:24
    #5 0x7f31c6809b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-buffer-overflow /home/lebedevri/darktable/src/develop/blend.c:486 _blend_normal_unbounded
Shadow bytes around the buggy address:
  0x0fe6a06cec80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cec90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06ceca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cecb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cecc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0fe6a06cecd0: 00 00 00 00 00 00 00 00 00 00 00 00[fa]fa fa fa
  0x0fe6a06cece0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06cecf0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==19419==ABORTING
LebedevRI added a commit to LebedevRI/darktable that referenced this pull request Nov 20, 2014
This was probably missed (or it was not noticed) in 78fc8af

Fixes:
=================================================================
==19419==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f31036b66e0 at pc 0x7f31cd73ce7a bp 0x7f3145815a80 sp 0x7f3145815a78
READ of size 4 at 0x7f31036b66e0 thread T57
    #0 0x7f31cd73ce79 in _blend_normal_unbounded /home/lebedevri/darktable/src/develop/blend.c:486
    #1 0x7f31cd744916 in dt_develop_blend_process._omp_fn.6 /home/lebedevri/darktable/src/develop/blend.c:2194
    #2 0x7f31c6ba5715 (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0xd715)
    #3 0x7f31c9db80a3 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x80a3)
    #4 0x7f31c68cdccc in clone (/lib/x86_64-linux-gnu/libc.so.6+0xe5ccc)

0x7f31036b66e0 is located 0 bytes to the right of 89644768-byte region [0x7f30fe138800,0x7f31036b66e0)
allocated by thread T10 here:
    #0 0x7f31cdbd4c9b in __interceptor_posix_memalign (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54c9b)
    #1 0x7f31cd65c18d in dt_alloc_align /home/lebedevri/darktable/src/common/darktable.c:997
    #2 0x7f31cd731cd8 in dt_dev_pixelpipe_cache_get_weighted /home/lebedevri/darktable/src/develop/pixelpipe_cache.c:163
    #3 0x7f31cd7369dd in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:827
    #4 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #5 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #6 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #7 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    #8 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#9 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#10 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#11 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#12 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#13 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#14 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#15 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#16 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#17 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#18 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#19 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#20 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#21 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#22 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#23 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#24 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#25 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#26 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#27 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#28 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#29 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689

Thread T57 created by T10 here:
    #0 0x7f31cdba3bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f31c6ba5c56 (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0xdc56)
    #2 0x7f31c6ba17d9 in GOMP_parallel (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0x97d9)
    #3 0x3ed921823dcccccc

Thread T10 created by T0 here:
    #0 0x7f31cdba3bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f31cd6fc149 in dt_control_jobs_init /home/lebedevri/darktable/src/control/jobs.c:512
    #2 0x7f31cd6f1945 in dt_control_init /home/lebedevri/darktable/src/control/control.c:317
    #3 0x7f31cd65fe3c in dt_init /home/lebedevri/darktable/src/common/darktable.c:745
    #4 0x400b7f in main /home/lebedevri/darktable/src/main.c:24
    #5 0x7f31c6809b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-buffer-overflow /home/lebedevri/darktable/src/develop/blend.c:486 _blend_normal_unbounded
Shadow bytes around the buggy address:
  0x0fe6a06cec80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cec90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06ceca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cecb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cecc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0fe6a06cecd0: 00 00 00 00 00 00 00 00 00 00 00 00[fa]fa fa fa
  0x0fe6a06cece0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06cecf0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==19419==ABORTING
LebedevRI added a commit to LebedevRI/darktable that referenced this pull request Nov 20, 2014
This was probably missed (or it was not noticed) in 78fc8af

Fixes:
=================================================================
==19419==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f31036b66e0 at pc 0x7f31cd73ce7a bp 0x7f3145815a80 sp 0x7f3145815a78
READ of size 4 at 0x7f31036b66e0 thread T57
    #0 0x7f31cd73ce79 in _blend_normal_unbounded /home/lebedevri/darktable/src/develop/blend.c:486
    #1 0x7f31cd744916 in dt_develop_blend_process._omp_fn.6 /home/lebedevri/darktable/src/develop/blend.c:2194
    #2 0x7f31c6ba5715 (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0xd715)
    #3 0x7f31c9db80a3 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x80a3)
    #4 0x7f31c68cdccc in clone (/lib/x86_64-linux-gnu/libc.so.6+0xe5ccc)

0x7f31036b66e0 is located 0 bytes to the right of 89644768-byte region [0x7f30fe138800,0x7f31036b66e0)
allocated by thread T10 here:
    #0 0x7f31cdbd4c9b in __interceptor_posix_memalign (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54c9b)
    #1 0x7f31cd65c18d in dt_alloc_align /home/lebedevri/darktable/src/common/darktable.c:997
    #2 0x7f31cd731cd8 in dt_dev_pixelpipe_cache_get_weighted /home/lebedevri/darktable/src/develop/pixelpipe_cache.c:163
    #3 0x7f31cd7369dd in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:827
    #4 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #5 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #6 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    #7 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    #8 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#9 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#10 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#11 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#12 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#13 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#14 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#15 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#16 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#17 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#18 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#19 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#20 0x7f31cd732c54 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:814
    darktable-org#21 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#22 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#23 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#24 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#25 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#26 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#27 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#28 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689
    darktable-org#29 0x7f31cd732452 in dt_dev_pixelpipe_process_rec /home/lebedevri/darktable/src/develop/pixelpipe_hb.c:689

Thread T57 created by T10 here:
    #0 0x7f31cdba3bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f31c6ba5c56 (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0xdc56)
    #2 0x7f31c6ba17d9 in GOMP_parallel (/usr/lib/x86_64-linux-gnu/libgomp.so.1+0x97d9)
    #3 0x3ed921823dcccccc

Thread T10 created by T0 here:
    #0 0x7f31cdba3bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f31cd6fc149 in dt_control_jobs_init /home/lebedevri/darktable/src/control/jobs.c:512
    #2 0x7f31cd6f1945 in dt_control_init /home/lebedevri/darktable/src/control/control.c:317
    #3 0x7f31cd65fe3c in dt_init /home/lebedevri/darktable/src/common/darktable.c:745
    #4 0x400b7f in main /home/lebedevri/darktable/src/main.c:24
    #5 0x7f31c6809b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-buffer-overflow /home/lebedevri/darktable/src/develop/blend.c:486 _blend_normal_unbounded
Shadow bytes around the buggy address:
  0x0fe6a06cec80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cec90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06ceca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cecb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe6a06cecc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0fe6a06cecd0: 00 00 00 00 00 00 00 00 00 00 00 00[fa]fa fa fa
  0x0fe6a06cece0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06cecf0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe6a06ced20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==19419==ABORTING
LebedevRI added a commit to LebedevRI/darktable that referenced this pull request May 15, 2015
…o module

Fixes following issue: (refs darktable-org#10455, comment 3)
1. (empty history stack) change exposure
2. add new exposure iop instance
3. change exposure in second instance
4. delete that new instance
5. change exposure in original instance

=================================================================
31502ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6190023d489c at pc 0x7f073823a423 bp 0x7ffd3f9349d0 sp 0x7ffd3f9349c8
READ of size 4 at 0x6190023d489c thread T0
#0 0x7f073823a422 in dt_dev_add_history_item /home/lebedevri/darktable/src/develop/develop.c:557
#1 0x7f0711886433 in exposure_set_white /home/lebedevri/darktable/src/iop/exposure.c:661
#2 0x7f0711886882 in dt_iop_exposure_set_white /home/lebedevri/darktable/src/iop/exposure.c:682
#3 0x7f07118869e2 in exposure_callback /home/lebedevri/darktable/src/iop/exposure.c:827
#4 0x7f0735ee0503 (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x10503)
#5 0x7f0735ef9fa6 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x29fa6)
#6 0x7f0735efae49 in g_signal_emit_by_name (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2ae49)
#7 0x7f073814fe94 in dt_bauhaus_slider_set_normalized /home/lebedevri/darktable/src/bauhaus/bauhaus.c:1937
#8 0x7f07381535c6 in dt_bauhaus_slider_scroll /home/lebedevri/darktable/src/bauhaus/bauhaus.c:1781
darktable-org#9 0x7f07379ad41d (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ed41d)
darktable-org#10 0x7f0735ee0503 (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x10503)
darktable-org#11 0x7f0735ef9a4f in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x29a4f)
darktable-org#12 0x7f0735efa8fe in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a8fe)
darktable-org#13 0x7f0737addde3 (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x31dde3)
darktable-org#14 0x7f07379aad2d (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ead2d)
darktable-org#15 0x7f07379ac93d in gtk_main_do_event (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ec93d)
darktable-org#16 0x7f073754fb11 (/usr/lib/x86_64-linux-gnu/libgdk-3.so.0+0x4fb11)
darktable-org#17 0x7f0735c09c3c in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x49c3c)
darktable-org#18 0x7f0735c09f1f (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x49f1f)
darktable-org#19 0x7f0735c0a241 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a241)
darktable-org#20 0x7f07379abbf4 in gtk_main (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ebbf4)
darktable-org#21 0x7f073833ec96 in dt_gui_gtk_run /home/lebedevri/darktable/src/gui/gtk.c:964
darktable-org#22 0x400cf3 in main /home/lebedevri/darktable/src/main.c:25
darktable-org#23 0x7f07309e9b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)
darktable-org#24 0x400bd8 (/usr/local/bin/darktable+0x400bd8)

AddressSanitizer can not describe address in more detail (wild memory access suspected).
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/lebedevri/darktable/src/develop/develop.c:557 dt_dev_add_history_item
...
31502ABORTING
LebedevRI added a commit to LebedevRI/darktable that referenced this pull request May 23, 2015
And 1 related patch sent into CUPS: https://www.cups.org/str.php?L4634

Fixes LeakSanitizer-detected leaks like:
Direct leak of 12808 byte(s) in 1 object(s) allocated from:
    #0 0x7ffb35bc4895 in calloc (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54895)
    #1 0x7ffb2e58073c (/usr/lib/x86_64-linux-gnu/libcups.so.2+0x3073c)
    #2 0x7ffb2e5834f0 in httpConnect2 (/usr/lib/x86_64-linux-gnu/libcups.so.2+0x334f0)
    #3 0x7ffb2e5739df in cupsConnectDest (/usr/lib/x86_64-linux-gnu/libcups.so.2+0x239df)
    #4 0x7ffb35998d51 in dt_get_papers /home/lebedevri/darktable/src/common/cups_print.c:200
    #5 0x7ffb0947610e
    #6 0x7ffb094763da
    #7 0x7ffb33488503 (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x10503)
    #8 0x7ffb334a1fa6 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x29fa6)
    darktable-org#9 0x7ffb334a2e49 in g_signal_emit_by_name (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2ae49)
    darktable-org#10 0x7ffb35700af9 in dt_bauhaus_combobox_set /home/lebedevri/darktable/src/bauhaus/bauhaus.c:1104
    darktable-org#11 0x7ffb09479caf
    darktable-org#12 0x7ffb35932d17 in dt_lib_load_modules /home/lebedevri/darktable/src/libs/lib.c:718
    darktable-org#13 0x7ffb359355e6 in dt_lib_init /home/lebedevri/darktable/src/libs/lib.c:1008
    darktable-org#14 0x7ffb3572e927 in dt_init /home/lebedevri/darktable/src/common/darktable.c:889
    darktable-org#15 0x400cb8 in main /home/lebedevri/darktable/src/main.c:24
    darktable-org#16 0x7ffb2df99b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)
    darktable-org#17 0x400bd8 (/usr/local/bin/darktable+0x400bd8)
LebedevRI added a commit to LebedevRI/darktable that referenced this pull request May 23, 2015
…has not changed

Fixes following LeakSanitizer-detected leak:
Direct leak of 1548384 byte(s) in 3 object(s) allocated from:
    #0 0x7f913367474f in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x5474f)
    #1 0x7f9130c67799 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4f799)
    #2 0x7f91325abb85 (/usr/lib/x86_64-linux-gnu/libgdk-3.so.0+0x53b85)
    #3 0x7f9133274b15 in dt_ctl_set_display_profile /home/lebedevri/darktable/src/control/control.c:199
    #4 0x7f9133391d6e in window_configure /home/lebedevri/darktable/src/gui/gtk.c:625
    #5 0x7f9132a0531c (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ed31c)
    #6 0x7f9130f382d4 in g_closure_invoke (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x102d4)
    #7 0x7f9130f4a03b (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2203b)
    #8 0x7f9130f521a4 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a1a4)
    darktable-org#9 0x7f9130f528fe in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a8fe)
    darktable-org#10 0x7f9132b35de3 (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x31dde3)
    darktable-org#11 0x7f9132a04819 in gtk_main_do_event (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ec819)
    darktable-org#12 0x7f91325a7b11 (/usr/lib/x86_64-linux-gnu/libgdk-3.so.0+0x4fb11)
    darktable-org#13 0x7f9130c61c3c in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x49c3c)
    darktable-org#14 0x7f9130c61f1f (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x49f1f)
    darktable-org#15 0x7f9130c62241 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a241)
    darktable-org#16 0x7f9132a03bf4 in gtk_main (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ebbf4)
    darktable-org#17 0x7f913339d36b in dt_gui_gtk_run /home/lebedevri/darktable/src/gui/gtk.c:964
    darktable-org#18 0x400cf3 in main /home/lebedevri/darktable/src/main.c:25
    darktable-org#19 0x7f912ba49b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)
    darktable-org#20 0x400bd8 (/usr/local/bin/darktable+0x400bd8)
LebedevRI added a commit that referenced this pull request May 27, 2015
…has not changed

Fixes following LeakSanitizer-detected leak:
Direct leak of 1548384 byte(s) in 3 object(s) allocated from:
    #0 0x7f913367474f in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x5474f)
    #1 0x7f9130c67799 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4f799)
    #2 0x7f91325abb85 (/usr/lib/x86_64-linux-gnu/libgdk-3.so.0+0x53b85)
    #3 0x7f9133274b15 in dt_ctl_set_display_profile /home/lebedevri/darktable/src/control/control.c:199
    #4 0x7f9133391d6e in window_configure /home/lebedevri/darktable/src/gui/gtk.c:625
    #5 0x7f9132a0531c (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ed31c)
    #6 0x7f9130f382d4 in g_closure_invoke (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x102d4)
    #7 0x7f9130f4a03b (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2203b)
    #8 0x7f9130f521a4 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a1a4)
    #9 0x7f9130f528fe in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a8fe)
    #10 0x7f9132b35de3 (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x31dde3)
    #11 0x7f9132a04819 in gtk_main_do_event (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ec819)
    #12 0x7f91325a7b11 (/usr/lib/x86_64-linux-gnu/libgdk-3.so.0+0x4fb11)
    #13 0x7f9130c61c3c in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x49c3c)
    #14 0x7f9130c61f1f (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x49f1f)
    #15 0x7f9130c62241 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a241)
    #16 0x7f9132a03bf4 in gtk_main (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x1ebbf4)
    #17 0x7f913339d36b in dt_gui_gtk_run /home/lebedevri/darktable/src/gui/gtk.c:964
    #18 0x400cf3 in main /home/lebedevri/darktable/src/main.c:25
    #19 0x7f912ba49b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)
    #20 0x400bd8 (/usr/local/bin/darktable+0x400bd8)

(cherry picked from commit 5cf182b)
@LebedevRI LebedevRI modified the milestone: 1.1.x Oct 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants