Git Product home page Git Product logo

Comments (6)

parafin avatar parafin commented on June 23, 2024 1

It should have been darktable-cli "input_dir" "xmp_file" 'output_dir/$(FILE_NAME).jpg'

from darktable.

johnny-bit avatar johnny-bit commented on June 23, 2024 1

@PetrGlad - I've made mistake when copying :) fixed and is identical with @parafin one :)
Additionally it doesn't segfault (that was fixed!)

from darktable.

PetrGlad avatar PetrGlad commented on June 23, 2024

Some of documentation (e.g. https://www.darktable.org/usermanual/en/overview_chapter.html#darktable_cli_commandline_parameters) implies that source folder can be a directory. So one could process a bunch of files by grouping them into a separate folder.

I tried this with darktable-cli 2.4.4 and it fails with program error:

darktable-cli --width 3000 --height 3000 --hq true print 'print-exported/$(FILE_NAME).jpg'
[New LWP 21461]
[New LWP 21462]
[New LWP 21504]
[New LWP 21505]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f3eb66473ea in __GI___waitpid (pid=21506, stat_loc=0x0, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
30	../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
warning: Currently logging to /tmp/darktable_bt_N5YAWZ.txt.  Turn the logging off and on to make the new setting effective.
#0  0x00007f3eb66473ea in __GI___waitpid (pid=21506, stat_loc=0x0, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
#1  0x00007f3eb70be150 in  () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#2  0x00007f3eb65aa100 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007f3eb70ddd7b in dt_control_progress_create () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#4  0x00007f3eb70d6bd7 in dt_control_job_add_progress () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#5  0x00007f3eb70dd7eb in dt_film_import1_create () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#6  0x00007f3eb7082250 in dt_film_import () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#7  0x000055e18ba369f4 in main ()

=========

  Id   Target Id                                         Frame 
* 1    Thread 0x7f3eac70ad40 (LWP 21450) "darktable-cli" 0x00007f3eb66473ea in __GI___waitpid (pid=21506, stat_loc=0x0, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
  2    Thread 0x7f3eac0c0700 (LWP 21461) "gmain"         0x00007f3eb66776d9 in __GI___poll (fds=0x55e18c0a3a90, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  3    Thread 0x7f3eab8bf700 (LWP 21462) "gdbus"         0x00007f3eb66776d9 in __GI___poll (fds=0x55e18c0dd770, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  4    Thread 0x7f3e9524e700 (LWP 21504) "lua thread"    0x00007f3eb66776d9 in __GI___poll (fds=0x55e18ccd6970, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  5    Thread 0x7f3e94a4d700 (LWP 21505) "pool"          syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38

=========

Thread 5 (Thread 0x7f3e94a4d700 (LWP 21505)):
#0  0x00007f3eb667d219 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f3eb6f2675a in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3eb6eb2061 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3eb6f08c12 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3eb6f08135 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f3eb6550164 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139906758530816, -6702681416690687067, 139906766861838, 139906766861839, 139906766861968, 139906758470080, 6667125718457656229, 6667058533091648421}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f3eb6683def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f3e9524e700 (LWP 21504)):
#0  0x00007f3eb66776d9 in __GI___poll (fds=0x55e18ccd6970, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
#1  0x00007f3eb6edfe46 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3eb6ee01d2 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3eb719f574 in  () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#4  0x00007f3eb6f08135 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f3eb6550164 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139906766923520, -6702681416690687067, 140735212883358, 140735212883359, 140735212883488, 139906766862784, 6667122420459643813, 6667058533091648421}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f3eb6683def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f3eab8bf700 (LWP 21462)):
#0  0x00007f3eb66776d9 in __GI___poll (fds=0x55e18c0dd770, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
#1  0x00007f3eb6edfe46 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3eb6ee01d2 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3eb604a7b6 in  () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f3eb6f08135 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f3eb6550164 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139907142776576, -6702681416690687067, 140735212861198, 140735212861199, 140735212861328, 139907142715840, 6667049101609804709, 6667058533091648421}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f3eb6683def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f3eac0c0700 (LWP 21461)):
#0  0x00007f3eb66776d9 in __GI___poll (fds=0x55e18c0a3a90, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
#1  0x00007f3eb6edfe46 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3eb6edff6c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3eb6edffb1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3eb6f08135 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f3eb6550164 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139907151169280, -6702681416690687067, 140735212860798, 140735212860799, 140735212860928, 139907151108544, 6667037007518770085, 6667058533091648421}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f3eb6683def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f3eac70ad40 (LWP 21450)):
#0  0x00007f3eb66473ea in __GI___waitpid (pid=21506, stat_loc=0x0, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
        resultvar = 18446744073709551104
        sc_cancel_oldtype = 0
#1  0x00007f3eb70be150 in  () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#2  0x00007f3eb65aa100 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007f3eb70ddd7b in dt_control_progress_create () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#4  0x00007f3eb70d6bd7 in dt_control_job_add_progress () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#5  0x00007f3eb70dd7eb in dt_film_import1_create () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#6  0x00007f3eb7082250 in dt_film_import () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#7  0x000055e18ba369f4 in main ()
[Inferior 1 (process 21450) detached]
backtrace written to /tmp/darktable_bt_N5YAWZ.txt
Segmentation fault (core dumped)

from darktable.

github-actions avatar github-actions commented on June 23, 2024

This issue did not get any activity in the past 30 days and will be closed in 7 days if no update occurs. Please check if the master branch has fixed it since then.

from darktable.

johnny-bit avatar johnny-bit commented on June 23, 2024

this usecase works perfectly well, here's how you should use dt in your case:

darktable-cli "input_dir" "xmp_file" 'output_dir/$(FILE_NAME).jpg'

and it just Works (tm) :)
you can change ".jpg" to any desired output format handled by darktable.

tested and it works quite well in darktable 3.2.1 as well as 3.0.2 (and current master)

from darktable.

PetrGlad avatar PetrGlad commented on June 23, 2024

@johnny-bit Thanks! However in any case at least it should not fail with a segmentation fault.
In your example, which OS do you use? In Bash this "output_dir/$(FILE_NAME).jpg" would mean that there should be a command 'FILE_NAME' which gets executed and it's output is captured.

from darktable.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.