On Mon, Feb 25, 2013 at 8:20 PM, Pascal Obry <[email protected]> wrote:
> Johannes,
>
>> tried on my system and it seems to work just fine. let me know if you
>> run into that again and have some more info (do i need to enable a
>> certain module? have a lot of tags etc?).
>
> Yes, just tried again.
>
> To reproduce you need at least number of background threads set to 2 and
> export multiple image in parallel set to 2 too.

aha :)

that's two separate things. background threads is required for parallel export.

in one export job, there is another, nested parallelism (called
parallel_export in the config). which is hardly useful these days, as
all the modules parallelise internaly. it basically parallelises jpg
compression, too (and messes up disk drive performance due to
additional seeks, potentially).

so what you expect is 2 bg jobs kicking off two threads each in your
case. that's 4 total.

it still shouldn't deadlock though. do you have a backtrace for all of
those threads, too? i'd like to see where that cache_read_get is
called and if it's trying to lock the same image.

does it go away when you set parallel_export=1 ?

-jo

> First, in this case when you export a first film roll and then a second there
> is 4 threads running. Is that expected? I have set 2 export in parallel only?
>
> Anyway, the threads seems to be busy waiting. No more export are done
> but 4 threads are at 100% CPU level. The info about threads:
>
> (gdb) info threads
>   Id   Target Id         Frame
>   15   Thread 0x7f1b8764e700 (LWP 12593) "darktable" dt_cache_unlock
> (lock=0x1aa6dd8) at
> /home/obry/dev/OpenSource/builds/darktable/src/src/common/cache.c:85
>   14   Thread 0x7f1b86e4d700 (LWP 12594) "darktable"
> 0x00007f1b9a36d3c3 in dt_cache_lock (lock=0x1aa6dd8) at
> /home/obry/dev/OpenSource/builds/darktable/src/src/common/cache.c:79
>   13   Thread 0x7f1b8664c700 (LWP 12595) "darktable"
> 0x00007f1b93dc6bdd in nanosleep () from
> /lib/x86_64-linux-gnu/libc.so.6
>   12   Thread 0x7f1b85e4b700 (LWP 12596) "darktable"
> 0x00007f1b9751b2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
>   11   Thread 0x7f1b8564a700 (LWP 12597) "darktable"
> 0x00007f1b9751b2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
>   10   Thread 0x7f1b84e49700 (LWP 12598) "darktable"
> 0x00007f1b9751b2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
>   9    Thread 0x7f1b84648700 (LWP 12599) "darktable"
> 0x00007f1b9751b2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
>   8    Thread 0x7f1b83e47700 (LWP 12600) "darktable"
> 0x00007f1b9751b2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
>   7    Thread 0x7f1b83646700 (LWP 12601) "darktable"
> 0x00007f1b9751b2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
>   6    Thread 0x7f1b82e45700 (LWP 12602) "darktable"
> 0x00007f1b9751b2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
>   5    Thread 0x7f1b82644700 (LWP 12603) "darktable"
> 0x00007f1b9751b2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
>   4    Thread 0x7f1b58b41700 (LWP 12605) "gdbus" 0x00007f1b93deae33 in
> poll () from /lib/x86_64-linux-gnu/libc.so.6
>   3    Thread 0x7f1b4c416700 (LWP 12610) "darktable" dt_cache_read_get
> (cache=cache@entry=0x1aa6da0, key=key@entry=2684354731) at
> /home/obry/dev/OpenSource/builds/darktable/src/src/common/cache.c:719
>   2    Thread 0x7f1b4dc19700 (LWP 12614) "darktable"
> 0x00007f1b9a36d3c3 in dt_cache_lock (lock=0x1aa6dd8) at
> /home/obry/dev/OpenSource/builds/darktable/src/src/common/cache.c:79
> * 1    Thread 0x7f1b9a916a40 (LWP 12591) "darktable"
> 0x00007f1b93deae33 in poll () from /lib/x86_64-linux-gnu/libc.so.6
>
> Let me know if you need more information.
>
> --
>   Pascal Obry /  Magny Les Hameaux (78)
>
>   The best way to travel is by means of imagination
>
>   http://v2p.fr.eu.org
>   http://www.obry.net
>
>   gpg --keyserver keys.gnupg.net --recv-key F949BD3B

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
darktable-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/darktable-devel

Reply via email to