Am 17.03.21 um 09:04 schrieb Peter Harde:
>
> Dear developers,
>
> dt 3.5.0+1428~gdf1271bfb, linux Ubuntu 20.04
>
> The development version reproducible crashes at export with "double
> free or corruption (fasttop)". To reproduce :
>
>   * select some images (tried with 2, 4, 30) of a collection, tried
>     with ARW an JPG images
>   * select "hierarchical tags" in "edit metadata exportation" dialog
>     (see red marker in attached screenshot export-crash.png)
>   * further setting of export dialog see second screenshot
>     (export-parameters.png)
>   * click "export"
>
> Export works fine with same images if "hierarchical tags" is not selected.
>
I had to find the dialog mentioned... so on lighttable, RIGHT-click on
the hamburger (three-dashes) symbol right of the export module to
reconfigure per Peter's screenshot.

I then can reproduce this with darktable Git 2ec5c0cb4 and this is the
backtrace of the crashing thread:

free(): double free detected in tcache 2
...

> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
> #1  0x00007ffff796e8a4 in __GI_abort () at abort.c:79
> #2  0x00007ffff79c8177 in __libc_message
> (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7ada3a7 "%s\n")
>     at ../sysdeps/posix/libc_fatal.c:155
> #3  0x00007ffff79cfe6c in malloc_printerr
> (str=str@entry=0x7ffff7adc7a8 "free(): double free detected in tcache 2")
>     at malloc.c:5389
> #4  0x00007ffff79d193c in _int_free (av=0x7fffd0000020,
> p=0x7fffd00611d0, have_lock=0) at malloc.c:4232
> #5  0x00007ffff76c570d in g_free (mem=0x7fffd00611e0) at
> ../glib/gmem.c:199
> #6  0x00007ffff76b0e40 in g_list_foreach (list=<optimized out>,
>     list@entry=0x28ed540 = {...}, func=0x7ffff76c5700 <g_free>,
> user_data=user_data@entry=0x0) at ../glib/glist.c:1090
> #7  0x00007ffff76bb88f in g_list_free_full (list=0x28ed540 = {...},
> free_func=<optimized out>) at ../glib/glist.c:244
> #8  0x00007ffff7c40e27 in _exif_xmp_read_data_export
> (metadata=0x7fffe1692140, imgid=971, xmpData=...)
>     at ../src/common/exif.cc:3682
> #9  dt_exif_xmp_attach_export(int, char const*, void*)
>     (imgid=971, filename=filename@entry=0x7fffe168f030
> "/some/path/darktable_exported/_DSC7009_01.jpg",
> metadata=metadata@entry=0x7fffe1692140) at ../src/common/exif.cc:3891
> #10 0x00007ffff7c6434c in dt_imageio_export_with_flags
> (imgid=<optimized out>,
>     imgid@entry=971, filename=filename@entry=0x7fffe168f030
> "/some/path/darktable_exported/_DSC7009_01.jpg",
> format=format@entry=0x29b60c0,
> format_params=format_params@entry=0x7fffd00744a0,
> ignore_exif=ignore_exif@entry=0,
> display_byteorder=display_byteorder@entry=0, high_quality=<optimized
> out>, upscale=0, thumbnail_export=0, filter=<optimized out>,
> copy_metadata=1, export_masks=0, icc_type=DT_COLORSPACE_SRGB,
> icc_filename=0x3e6f1b0 "", icc_intent=DT_INTENT_PERCEPTUAL,
> storage=0x29dfec0, storage_params=0x4115d00, num=1, total=2,
> metadata=0x7fffe1692140) at ../src/common/imageio.c:1046
> #11 0x00007ffff7c64ed6 in dt_imageio_export
>     (imgid=971, filename=0x7fffe168f030
> "/some/path/darktable_exported/_DSC7009_01.jpg", format=0x29b60c0,
> format_params=0x7fffd00744a0, high_quality=1, upscale=0,
> copy_metadata=1, export_masks=0, icc_type=DT_COLORSPACE_SRGB,
> icc_filename=0x3e6f1b0 "", icc_intent=DT_INTENT_PERCEPTUAL,
> storage=0x29dfec0, storage_params=0x4115d00, num=1, total=2,
> metadata=0x7fffe1692140) at ../src/common/imageio.c:644
> #12 0x00007fffc8305068 in store
>     (self=0x29dfec0, sdata=<optimized out>, imgid=<optimized out>,
> format=0x29b60c0, fdata=0x7fffd00744a0, num=1, total=2,
> high_quality=1, upscale=0, export_masks=0,
> icc_type=DT_COLORSPACE_SRGB, icc_filename=0x3e6f1b0 "",
> icc_intent=DT_INTENT_PERCEPTUAL, metadata=0x7fffe1692140) at
> ../src/imageio/storage/disk.c:334
> #13 0x00007ffff7cc83e3 in dt_control_export_job_run (job=0x40d1e60) at
> ../src/control/jobs/control_jobs.c:1403
> #14 0x00007ffff7cc4659 in dt_control_job_execute
> (job=job@entry=0x40d1e60) at ../src/control/jobs.c:300
> #15 0x00007ffff7cc4f18 in dt_control_run_job (control=0x444dc0) at
> ../src/control/jobs.c:319
> #16 dt_control_work (ptr=<optimized out>) at ../src/control/jobs.c:564
> #17 0x00007ffff792f3f9 in start_thread (arg=0x7fffe16a2640) at
> pthread_create.c:463
> #18 0x00007ffff7a49b53 in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Retrying this twice with other files, I get a different crash:

Thread 9 "worker 3" received signal SIGSEGV, Segmentation fault.
...

> #0  0x00007ffff5543473 in
> std::auto_ptr<Exiv2::XmpKey>::operator=(std::auto_ptr_ref<Exiv2::XmpKey>)
>     (__ref=..., this=0x7fffb8004bd0) at
> /usr/include/c++/10/backward/auto_ptr.h:274
> #1  Exiv2::Xmpdatum::Impl::Impl(Exiv2::Xmpdatum::Impl const&)
>     (this=0x7fffb8004bd0, rhs=..., this=<optimized out>,
> rhs=<optimized out>)
>     at /usr/src/debug/exiv2-0.27.3-4.fc33.x86_64/src/xmp.cpp:143
> #2  0x00007ffff5543855 in Exiv2::Xmpdatum::Xmpdatum(Exiv2::Xmpdatum
> const&)
>     (this=0x7fffb80a0840, rhs=..., this=<optimized out>,
> rhs=<optimized out>)
>     at /usr/src/debug/exiv2-0.27.3-4.fc33.x86_64/src/xmp.cpp:163
> #3  0x00007ffff55438c3 in
> __gnu_cxx::new_allocator<Exiv2::Xmpdatum>::construct<Exiv2::Xmpdatum,
> Exiv2::Xmpdatum const&>(Exiv2::Xmpdatum*, Exiv2::Xmpdatum const&)
> (__p=<optimized out>, this=0x7fffb80630d0) at
> /usr/include/c++/10/ext/new_allocator.h:150
> #4  std::allocator_traits<std::allocator<Exiv2::Xmpdatum>
> >::construct<Exiv2::Xmpdatum, Exiv2::Xmpdatum
> const&>(std::allocator<Exiv2::Xmpdatum>&, Exiv2::Xmpdatum*,
> Exiv2::Xmpdatum const&) (__p=<optimized out>, __a=...)
>     at /usr/include/c++/10/bits/alloc_traits.h:512
> #5  std::vector<Exiv2::Xmpdatum, std::allocator<Exiv2::Xmpdatum>
> >::push_back(Exiv2::Xmpdatum const&)
>     (__x=<optimized out>, this=0x7fffb80630d0) at
> /usr/include/c++/10/bits/stl_vector.h:1192
> #6  Exiv2::XmpData::add(Exiv2::Xmpdatum const&) (this=0x7fffb80630d0,
> xmpDatum=<optimized out>)
>     at /usr/src/debug/exiv2-0.27.3-4.fc33.x86_64/src/xmp.cpp:329
> #7  0x00007ffff55448ad in
> Exiv2::XmpData::operator[](std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)
> (this=this@entry=0x7fffb80630d0, key="Xmp.darktable.auto_presets_applied")
>     at /usr/src/debug/exiv2-0.27.3-4.fc33.x86_64/src/xmp.cpp:316
> #8  0x00007ffff7c40f7f in _exif_xmp_read_data_export
> (metadata=0x7fffcb7ee140, imgid=981, xmpData=...)
>     at /usr/include/c++/10/ext/new_allocator.h:79
> #9  dt_exif_xmp_attach_export(int, char const*, void*)
>     (imgid=981, filename=filename@entry=0x7fffcb7eb030
> "/some/path/darktable_exported/_DSC7014_02.jpg",
> metadata=metadata@entry=0x7fffcb7ee140) at ../src/common/exif.cc:3891
> #10 0x00007ffff7c6434c in dt_imageio_export_with_flags
> (imgid=<optimized out>,
>     imgid@entry=981, filename=filename@entry=0x7fffcb7eb030
> "/some/path/darktable_exported/_DSC7014_02.jpg",
> format=format@entry=0x29b1580,
> format_params=format_params@entry=0x7fffb8003560,
> ignore_exif=ignore_exif@entry=0,
> display_byteorder=display_byteorder@entry=0, high_quality=<optimized
> out>, upscale=0, thumbnail_export=0, filter=<optimized out>,
> copy_metadata=1, export_masks=0, icc_type=DT_COLORSPACE_SRGB,
> icc_filename=0x397ee30 "", icc_intent=DT_INTENT_PERCEPTUAL,
> storage=0x4b1cc0, storage_params=0x422a820, num=1, total=2,
> metadata=0x7fffcb7ee140) at ../src/common/imageio.c:1046
> #11 0x00007ffff7c64ed6 in dt_imageio_export
>     (imgid=981, filename=0x7fffcb7eb030
> "/some/path/darktable_exported/_DSC7014_02.jpg", format=0x29b1580,
> format_params=0x7fffb8003560, high_quality=1, upscale=0,
> copy_metadata=1, export_masks=0, icc_type=DT_COLORSPACE_SRGB,
> icc_filename=0x397ee30 "", icc_intent=DT_INTENT_PERCEPTUAL,
> storage=0x4b1cc0, storage_params=0x422a820, num=1, total=2,
> metadata=0x7fffcb7ee140) at ../src/common/imageio.c:644
> #12 0x00007fffc8305068 in store
>     (self=0x4b1cc0, sdata=<optimized out>, imgid=<optimized out>,
> format=0x29b1580, fdata=0x7fffb8003560, num=1, total=2,
> high_quality=1, upscale=0, export_masks=0,
> icc_type=DT_COLORSPACE_SRGB, icc_filename=0x397ee30 "",
> icc_intent=DT_INTENT_PERCEPTUAL, metadata=0x7fffcb7ee140) at
> ../src/imageio/storage/disk.c:334
> #13 0x00007ffff7cc83e3 in dt_control_export_job_run (job=0x3ebf930) at
> ../src/control/jobs/control_jobs.c:1403
> #14 0x00007ffff7cc4659 in dt_control_job_execute
> (job=job@entry=0x3ebf930) at ../src/control/jobs.c:300
> #15 0x00007ffff7cc4f18 in dt_control_run_job (control=0x444dc0) at
> #../src/control/jobs.c:319
> #16 dt_control_work (ptr=<optimized out>) at ../src/control/jobs.c:564
> #17 0x00007ffff792f3f9 in start_thread (arg=0x7fffcb7fe640) at
> pthread_create.c:463
> #18 0x00007ffff7a49b53 in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95


___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org

Reply via email to