darktable freeze parfois (et de façon aléatoire)

Bonsoir

darktable freeze parfois chez moi de façon aléatoire, que ce soit pendant l’utilisation de la table lumineuse ou de la chambre noire. Je n’ai pas remarqué d’action spéciale qui pouvait expliquer cela. La seule solution est de fermer dt à la sauvage.
Quand je relance darktable, je récupère bien dans l’historique les dernières actions que j’ai pu faire.

La seule chose que j’ai remarquée, c’est que lorsque cela arrive, un des cœurs du processeur est bloqué à 100% (et le cœur en cause peut changer, comme sur cette capture d’écran)

Où pourrais-je trouver un log qui pourrait m’éclairer sur ce qui se passe ?

Ma config :
dt 3.0.2 (compilé maison) sous Linux Mint 19.3 Cinnamon
processeur Intel Core i7-4790 / RAM 16 Gb
carte graphique NVIDIA GP107 [GeForce GTX 1050 Ti] - driver nvidia v440.59
OpenCL actif dans darktable

Bonjour, tu peux essayer de lancer dt dans un terminal par :

darktable -d all

Et voir ensuite dans les dernières traces si quelque chose peut mettre la puce à l’oreille, ou mieux.

Merci pour la suggestion. Je vais devoir lancer dt à chaque fois avec cette commande, car le freeze est aléatoire et il peut se passer plein de sessions sans problème.

Je vous tiendrai au courant à la prochaine glaciation :smiley:

Surtout que ce genre de problème peut ne pas être directement lié à darktable mais à darktable avec ta config. D’autant que sur certaines actions/modules, darktable est gourmand. Et de mémoire il me semble qu’il y a des sécurités dans le noyau Linux si surcharge prolongée d’un processeur. Ca m’arrive de temps en temps aussi avec mon vieux Mac et un CPU pas très puissant (et pas de carte graphique opencl en plus) où j’ai un processeur à 100% et le Mac du coup qui chauffe. J’ai l’extension CPU freq sous Gnome qui dans ce cas passe en rouge et parfois jusqu’à plus de 250% de surcharge. En général, si c’est pas très long, tout se passe, si ça dure, au bout d’un moment darktable se ferme tout seul. Je suppose que c’est plutôt le système qui vire darktable trop gourmand pour mon système. Il y a 2-3 modules qui peuvent être gourmands sur certaines images notamment.

Salut G.Eco

J’ai eu le coup récemment, darktable se mettait à freezer dès l’instant que je voulais entrer dans la chambre noire. Je devais tuer le processus à chaque fois pour l’arrêter. Je ne comprenais pas pourquoi et ça ne m’était jamais arrivé. J’avais beau réessayer sur différentes photos, développées ou non, anciennes/récentes, il ne voulait rien savoir, l’interface se bloquait à chaque fois que je voulais entrer dans la chambre noire.

Au bout d’un moment j’ai fini par m’apercevoir que mon téléphone apparaissait dans la liste de matériel dans le module importation. D’habitude ça ne pose pas de souci particulier. Par acquis de conscience, j’ai jété un oeil au téléphone. Un peu plus tôt je l’avais mis en charge et relancé après une mise à jour, puis posé en attendant le redémarrage. Il était finalement resté sur l’écran d’attente pour le code PIN. J’ai donc entré le code PIN, démarré le téléphone, relancé darktable et tout a fonctionné comme si de rien n’était.

Ça ne va surement pas résoudre ton problème. Mais au cas où, la prochaine fois que ça t’arrive, vérifie que tu n’as pas un périphérique USB de branché qui pourrait bloquer darktable pour je ne sais quelle raison. Au pire débranche tout périphérique USB pour tester, ça sera une cause de plantage en moins.

Selon ton niveau d’autonomie avec Mint, tu peux éventuellement modifier le lanceur de dt, ou en créer un spécifique « dt debug » avec pour commande quelque chose sur la base d’un :

darktable -d all > /tmp/dt.log

Du coup, quand ça foire, tu as le log (jusqu’à relancer dt, sinon >> pour éviter de l’écraser et le compléter).

Merci nicoauffray et Nel pour vos retours d’expérience, mais je ne pense pas que ça s’applique à mon cas.
@nicoauffray ==> j’ai un i7, 16 Gb de RAM et une CG avec 4 Gb, et surtout ça peut m’arriver de voir darktable freezer sans avoir rien fait de gourmand, ou alors juste en passant de la chambre noire à la table lumineuse :frowning:
@Nel ==> aucun périphérique branché quand ça freeze

C’est exactement ce que j’ai fait :wink: (au bémol près que la gestion des menus et des lanceurs sous Mint est assez… folklorique, pour ne pas dire pire :@ )

Trois plantages ce matin, à chaque fois lié à l’attribution d’étoiles à une image.

A chaque fois, la dernière ligne que je récupère dans le log est du même type et fait référence à la fonction _view_lighttable_collection_listener_internal()

31,623371 [sql] /media/gilles/GECODATA1/Mes documents fixes/Logiciels/Photo/Dérawtiseurs/Darktable/dt_stable/src/views/lighttable.c:557, function _view_lighttable_collection_listener_internal(): prepare "SELECT rowid FROM memory.collected_images WHERE imgid = 187"

et puis après plus rien ! darktable est complètement figé

[color=#3333ff]Salut,[/color]

[color=#3333ff]d’après ce que j’ai lu « quelque part » et noté, le nombre de fils d’exécution = le nombre de coeur du CPU, dans ton cas (Intel Core i7-479 tu devrais avoir 4.[/color]
[color=#3333ff]Pour le tuilage la formule est (RAM -2) / 4 => 1500, mais que tu peux arrondir à 2048, ça fonctionne chez moi mais je ne suis pas sous Linux.[/color]
[color=#3333ff]Je pense que c’est la raison de tes ennuis[/color]

[color=#3333ff]Bonne journée [/color]

Merci François pour tes conseils. J’ai modifié la config de darktable en mettant les valeurs que tu as mentionnées, je verrai bien à l’usage si cela résout durablement mon problème.

Ce qui est étrange c’est que je n’ai pas modifié les valeurs que j’avais, ce sont celles que darktable a choisi par défaut.

De rien G.Eco,
Il faudrait demander aux concepteurs si DT examine la config ?

Moi j’avais des freeze à l’exportation dès que je dépassais 4000, et j’avais des paramètres du même genre, que je me serais bien gardé de modifier ne sachant pas à quoi cela correspondait.
J’ai aussi un cpu 4 coeurs et 8 Go de ram.
J’ai oublié de préciser qu’après la modification, il faut relancer DT

Petite correction dans les valeurs que tu as donné : j’ai mis 4 pour le nombre de fils d’exécution mais 4096 pour la mémoire limite du tuilage (j’ai 16 Go de RAM donc selon ta formule (RAM-2)/4 ==> 3,5 soit 3500 Mo que j’ai arrondi à 4096 :wink:

[color=#3333ff]J’ai un i5-6300hq donc moins puissant que le tien avec 4 coeurs, je me suis gouré tout à l’heure dans le nombre, et plus aucun plantage.[/color]

Non, ce n’est pas le cas (et ça ajouterait beaucoup de code probablement et d’autres contraintes pour un usage limité).

Merci pour cette précision nicoauffray… mais du coup cela veut dire que les valeurs que l’on trouve à l’installation de dt sont mises totalement au hasard ? :huh:

[color=#3333ff]Ou conviennent dans la majorité des cas[/color][color=#3333cc] [/color] :wink:
[color=#3333ff]Moi ça tourne sans accroc sur un bon portable, mais à côté d’une tour évidemment[/color] :rolleyes:

Ni l’un ni l’autre. Elles ont été définies il y a fort longtemps (peut-être même à l’origine de darktable) et donc très probablement à l’époque dimensionnées par rapport à une config moyenne (de l’époque). Aujourd’hui, ces réglages par défaut seraient à mettre à jour selon moi et ne conviennent plus, dans la très grande majorité des cas. J’avais d’ailleurs lancé l’idée très très récemment et une discussion a été initiée. La difficulté reste de définir quels paramètres par défaut et ensuite qu’un développeur code la mise à jour. Là, ce n’est pas dans mes compétences (mes compétences sur le rendu visuel de l’interface via le CSS uniquement).

Deux plantages de darktable ce matin, cette fois ce n’est pas un freeze mais un plantage violent qui ferme brutalement darktable.

Le premier uniquement en ouvrant une image dans la chambre noire

73,019535 [dev] took 0,000 secs (0,000 CPU) to load the image. 73,019541 [run_job-] 01 300708959,504098 73,019554 develop process preview | queue: 0 | priority: 073,019557 73,020071 [noiseprofile] looking for maker `Canon', model `EOS 6D Mark II' 73,020094 [noiseprofile] found 13 makers 73,020100 [noiseprofile] found `Canon' as `Canon' 73,020103 [noiseprofile] found 68 models 73,020135 [noiseprofile] found EOS 6D Mark II 73,020138 [noiseprofile] found 30 profiles 73,039652 [HiDPI] setting ppd to 1,000000 73,039672 [screen resolution] setting the screen resolution to 96,000000 dpi 73,040640 [sql] /media/gilles/GECODATA1/Mes documents fixes/Logiciels/Photo/Dérawtiseurs/Darktable/dt_stable/src/libs/tools/filmstrip.c:682, function _lib_filmstrip_draw_callback(): prepare "SELECT imgid FROM memory.collected_images ORDER BY rowid LIMIT ?1, ?2" 73,040949 [lighttable] image expose took 0,0003 sec 73,041390 [lighttable] image expose took 0,0004 sec 73,041956 [lighttable] image expose took 0,0006 sec 73,042516 [lighttable] image expose took 0,0005 sec 73,043071 [lighttable] image expose took 0,0005 sec 73,043619 [lighttable] image expose took 0,0005 sec 73,044420 [lighttable] image expose took 0,0008 sec 73,045109 [lighttable] image expose took 0,0007 sec 73,045849 [lighttable] image expose took 0,0007 sec 73,046620 [lighttable] image expose took 0,0008 sec 73,046927 [lighttable] image expose took 0,0003 sec 73,047669 [lighttable] image expose took 0,0007 sec 73,047954 [lighttable] image expose took 0,0003 sec 73,048648 [lighttable] image expose took 0,0007 sec 73,049440 [lighttable] image expose took 0,0008 sec 73,050205 [lighttable] image expose took 0,0008 sec 73,050947 [lighttable] image expose took 0,0007 sec 73,051702 [lighttable] image expose took 0,0007 sec 73,052421 [lighttable] image expose took 0,0007 sec 73,052961 [lighttable] image expose took 0,0005 sec 73,053200 [lighttable] image expose took 0,0002 sec 73,055123 [add_job_res] 0 | 73,055131 develop process image | queue: 0 | priority: 073,055133 73,055161 [add_job_res] 1 | 73,055165 develop process preview | queue: 0 | priority: 073,055168 73,055182 [run_job+] 01 300708959,539740 73,055191 develop process preview | queue: 0 | priority: 073,055193 73,055196 [run_job-] 01 300708959,539754 73,055198 develop process preview | queue: 0 | priority: 073,055200 73,078159 [pixelpipe_process] [full] using device 0 [memory] before pixelpipe process [memory] max address space (vmpeak): 11558284 kB [memory] cur address space (vmsize): 11478228 kB [memory] max used memory (vmhwm ): 592740 kB [memory] cur used memory (vmrss ): 485652 kB pixelpipe cacheline 0 used 0 by 18446744073709551615 pixelpipe cacheline 1 used 0 by 18446744073709551615 pixelpipe cacheline 2 used 0 by 18446744073709551615 pixelpipe cacheline 3 used 0 by 18446744073709551615 pixelpipe cacheline 4 used 0 by 18446744073709551615 cache hit rate so far: -nan 73,101004 [dev_pixelpipe] took 0,023 secs (0,059 CPU) initing base buffer [full] 73,101095 [opencl memory] device 0: 53893728 bytes (51,4 MB) in use 73,117627 [opencl memory] device 0: 485043552 bytes (462,6 MB) in use [dt_ioppr_transform_image_colorspace_cl] module filmicrgb must be between input color profile and output color profile 73,118739 [opencl_pixelpipe] could not run module 'filmicrgb' on gpu. falling back to cpu path 73,118747 [opencl memory] device 0: 53893728 bytes (51,4 MB) in use 73,127973 [opencl memory] device 0: 0 bytes (0,0 MB) in use [dt_ioppr_transform_image_colorspace] module filmicrgb must be between input color profile and output color profile Unable to attach: program terminated with signal SIGSEGV, Segmentation fault. /home/gilles/7249: Aucun fichier ou dossier de ce type. warning: Currently logging to /tmp/darktable_bt_BWDDL0.txt. Turn the logging off and on to make the new setting effective. /opt/darktable/share/darktable/gdb_commands:2: Error in sourced command file: No stack.

A noter que j’ai pu ensuite relancer dt et réouvrir cette même image et la travailler tout à fait normalement :huh:

Pour le second plantage, j’étais dans la table noire sur une autre image, en train d’appliquer un module (je ne sais plus exactement lequel)

392,171078 [screen resolution] setting the screen resolution to 96,000000 dpi 392,174488 [sql] /media/gilles/GECODATA1/Mes documents fixes/Logiciels/Photo/Dérawtiseurs/Darktable/dt_stable/src/libs/tools/filmstrip.c:682, function _lib_filmstrip_draw_callback(): prepare "SELECT imgid FROM memory.collected_images ORDER BY rowid LIMIT ?1, ?2" 392,174781 [lighttable] image expose took 0,0002 sec 392,175281 [lighttable] image expose took 0,0005 sec 392,175472 [lighttable] image expose took 0,0002 sec 392,176005 [lighttable] image expose took 0,0005 sec 392,176255 [lighttable] image expose took 0,0002 sec 392,176768 [lighttable] image expose took 0,0005 sec 392,177278 [lighttable] image expose took 0,0005 sec 392,177849 [lighttable] image expose took 0,0006 sec 392,178575 [lighttable] image expose took 0,0007 sec 392,179421 [lighttable] image expose took 0,0008 sec 392,180288 [lighttable] image expose took 0,0009 sec 392,181038 [lighttable] image expose took 0,0007 sec 392,181572 [lighttable] image expose took 0,0005 sec 392,182068 [lighttable] image expose took 0,0005 sec 392,182536 [lighttable] image expose took 0,0005 sec 392,182792 [lighttable] image expose took 0,0002 sec 392,184052 [add_job_res] 0 | 392,184062 develop process image | queue: 0 | priority: 0392,184065 392,184082 [add_job_res] 1 | 392,184086 develop process preview | queue: 0 | priority: 0392,184090 392,184098 [run_job+] 00 300709615,201270 392,184111 develop process image | queue: 0 | priority: 0392,184123 392,184101 [run_job+] 01 300709615,201274 392,184147 develop process preview | queue: 0 | priority: 0392,184150 392,184153 [run_job-] 01 300709615,201326 392,184156 develop process preview | queue: 0 | priority: 0392,184159 392,184193 [dev] took 0,000 secs (0,000 CPU) to load the image. 392,184580 [noiseprofile] looking for maker `Canon', model `EOS 6D Mark II' 392,184600 [noiseprofile] found 13 makers 392,184613 [noiseprofile] found `Canon' as `Canon' 392,184617 [noiseprofile] found 68 models 392,184649 [noiseprofile] found EOS 6D Mark II 392,184652 [noiseprofile] found 30 profiles 392,197970 [sql] /media/gilles/GECODATA1/Mes documents fixes/Logiciels/Photo/Dérawtiseurs/Darktable/dt_stable/src/libs/tools/filmstrip.c:682, function _lib_filmstrip_draw_callback(): prepare "SELECT imgid FROM memory.collected_images ORDER BY rowid LIMIT ?1, ?2" 392,198302 [lighttable] image expose took 0,0003 sec 392,198823 [lighttable] image expose took 0,0005 sec 392,199034 [lighttable] image expose took 0,0002 sec 392,199570 [lighttable] image expose took 0,0005 sec 392,199770 [lighttable] image expose took 0,0002 sec 392,200240 [lighttable] image expose took 0,0005 sec 392,200745 [lighttable] image expose took 0,0005 sec 392,201228 [lighttable] image expose took 0,0005 sec 392,201709 [lighttable] image expose took 0,0005 sec 392,202268 [lighttable] image expose took 0,0005 sec 392,202746 [lighttable] image expose took 0,0005 sec 392,203222 [lighttable] image expose took 0,0005 sec 392,203700 [lighttable] image expose took 0,0005 sec 392,204175 [lighttable] image expose took 0,0005 sec 392,204560 [lighttable] image expose took 0,0004 sec 392,204741 [lighttable] image expose took 0,0002 sec 392,205443 [add_job_res] 0 | 392,205451 develop process image | queue: 0 | priority: 0392,205453 392,205479 [add_job_res] 1 | 392,205482 develop process preview | queue: 0 | priority: 0392,205486 392,205493 [run_job+] 01 300709615,222666 392,205502 develop process preview | queue: 0 | priority: 0392,205508 392,205513 [run_job-] 01 300709615,222686 392,205528 develop process preview | queue: 0 | priority: 0392,205533 392,251405 [pixelpipe_process] [full] using device 0 [memory] before pixelpipe process [memory] max address space (vmpeak): 13740932 kB [memory] cur address space (vmsize): 12740200 kB [memory] max used memory (vmhwm ): 1256988 kB [memory] cur used memory (vmrss ): 1162840 kB pixelpipe cacheline 0 used 0 by 15868307858328510194 pixelpipe cacheline 1 used 1 by 9975833425523134447 pixelpipe cacheline 2 used -5 by 10405704138602954191 pixelpipe cacheline 3 used 3 by 18446744073709551615 pixelpipe cacheline 4 used 2 by 18446744073709551615 cache hit rate so far: 0,024 392,251527 [dev_pixelpipe] took 0,000 secs (0,000 CPU) initing base buffer [full] 392,253860 [opencl memory] device 0: 53932032 bytes (51,4 MB) in use 392,263288 [opencl memory] device 0: 485388288 bytes (462,9 MB) in use [dt_ioppr_transform_image_colorspace_cl] module filmicrgb must be between input color profile and output color profile 392,264413 [opencl_pixelpipe] could not run module 'filmicrgb' on gpu. falling back to cpu path 392,264429 [opencl memory] device 0: 53932032 bytes (51,4 MB) in use 392,273610 [opencl memory] device 0: 0 bytes (0,0 MB) in use [dt_ioppr_transform_image_colorspace] module filmicrgb must be between input color profile and output color profile

C’est la première fois que darktable plante de cette façon, pensez-vous que cela puisse être lié au changement de valeurs de tuilage que j’ai appliqué hier (cf plus haut dans ce fil) ?

[color=#3333ff]Salut G.Eco,[/color]

[color=#3333ff]Avec les valeurs par défaut tu étais presque au double de ce que tu as maintenant et cela « frezzait » seulement, sans plantage brutal :huh:[/color]
[color=#3333ff][color=#3333ff]Je ne connais pas les besoins en ressources de Linux/Windows.
[/color]Bien que tu aies arrondi raisonnablement la valeur du tuilage, remonte vers les 3500 théoriques pour voir si ça passe avec la même image, ou même 2048 comme pour le mien, ça tourne très bien chez moi. [/color]

@ G.Eco
As-tu essayé simplement de désinstaller puis réinstaller DT au cas où tu aurais quelque chose de corrompu ?