Hello @hanatos
since around 10 days (when I got back from 3w holidays), I get a “crash” everytime I start vkdt.
When I say “crash”, the screen is frozen, the video/audio playing continues, and I never get the control back. Only solution is to hard reboot the PC.
I believe that, in addition to compiling vkdt to the newer codesource, I have upgraded KDE to 5.25 using the backport repo, as well as performed all updates provided by apt update.
I need to try run vkdt in debug, but since I must hard reboot the PC, I’m not sure if I can manage to retrieve the logs.
Info about my gig
Running Kubuntu 22.04 LTS with NVidia 515 drivers.
Intel core i7 7700k + 32GB RAM + NVidia GFX 1070 8GB
Any idea ?
Anyone has encountered similar issues ?
Thanks
GLLM
ouch! did you try the oldschool ctrl+alt+F1 + fix in console trick? with that you may be able to retrieve a log/stack trace (vkdt should write one if you kill it, maybe with signal 13 or so).
your system setup looks good, in fact i think i’m only on the 510 driver.
did you install from git? did you git submodule update -f and make clean after the pull?
I finally took the time to build yesterday. I’m on fedora 36 kde spin with 515 Nvidia rpm drivers. Finding the proper name in fedora for the dependencies was the hardest part.
Flatpak or AppImage would be so awesome. Last time I tried to install I messed up my Manjaro installation (not badly, but still). Would love to give vkdt a spin sometime.
Now that I was running through gdb I caught a segfault. I think I was just switching pictures or going to lightable.
Thread 5 "vkdt" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5c3d6c0 (LWP 2999)]
0x000055555565ebba in dt_graph_reset (g=0x5555556df770 <vkdt+64680>) at pipe/graph.c:2694
2694 g->module[i].so->cleanup(g->module+i);
(gdb) bt
#0 0x000055555565ebba in dt_graph_reset (g=0x5555556df770 <vkdt+64680>) at pipe/graph.c:2694
#1 0x00005555556717a6 in dt_thumbnails_cache_one (graph=0x5555556df770 <vkdt+64680>, tn=0x5555556df770 <vkdt+64680>, filename=0x7ffff5c3c9d0 "/media/data/Pictures/redacted/DSC01941.ARW.cfg") at db/thumbnails.c:253
#2 0x0000555555672189 in thread_work_coll (item=0, arg=0x555556d42210) at db/thumbnails.c:338
#3 0x00005555556452b9 in threads_work (arg=0x3) at core/threads.c:97
#4 0x00007ffff7a1578d in ?? () from /usr/lib/libc.so.6
#5 0x00007ffff7a968e4 in clone () from /usr/lib/libc.so.6
Edit: might be actually that I was still copying some pictures to the folder, maybe that had something to do with the crash?
Well, since I’m a bit lazy, I have a script … and the script removes the whole folder, clones again the repo and copies back my config.mk:
#!/usr/bin/env bash
cd ~
sudo rm -r vkdt/
git clone https://github.com/hanatos/vkdt.git
cd vkdt/
cp ../config.mk .
git submodule init
git submodule update
cp ../config.mk .
cd bin/
make all
So I dont think I’m prone to such issues.
What am I doing wrong ?
Edit:
I’ve rebuilt. And start vkdt with vkdt -d all … the difference is that I now get to see the UI (which I did not before) BUT … at the first move of the mouse, I get the FreezeOfDeath.
CTRL+ALT+F1 does not do anything. Hard/cold reboot still required.
nah, the copy should not affect anything. the collections are, unlike in stock dt, cached lists in memory and not live sql queries.
not sure what’s going on though. maybe a bt full would display more variables (i.e. which module is that). anything special you added to the default graph?
I don’t think I had anything special there, unfortunately I deleted that picture already so I’ll try again next time to get the graph & better debug info.
guess what now i had one too. there was an infinite loop in imgui, but it only affected tabs which i’m only using in darkroom mode. so if lighttable already freezes for you then that’s not it, otherwise it might be fixed.
@hanatos
How can I help provide some logs to try debug this crash ?
Since I must cold/hard reboot everytime I start vkdt …
EDIT: Tried to rebuild from scratch. It failed
username@computer:~/vkdt$ git submodule update
Cloning into '/home/username/vkdt/ext/imgui'...
Cloning into '/home/username/vkdt/ext/rawspeed'...
fatal: remote error: upload-pack: not our ref bc5d4262f9fdd5dd5787015dc42f2853105f7f18
fatal: Fetched in submodule path 'ext/imgui', but it did not contain bc5d4262f9fdd5dd5787015dc42f2853105f7f18. Direct fetching of that commit failed.
fatal:
oops sorry for pushing the imgui ref without pushing the other repo… please try again.
not sure how to best debug the hang… usually at least switching to a console works. can you run the command line version vkdt-cli? i suspect that you’d run into one of these strange imgui issues too. there is a thing about non-rounded font sizes that causes trouble with potentially infinite loops. i’ve since switched to rounded font sizes so that might have gone away. in this case the command line version should run fine.
maybe you can run a script in the background that sends killall -9 vkdt every few seconds? such that during a hang it would be killed and write out a stacktrace to /tmp in the best case?
like watch -n 10 killall -9 vkdt ? and then launch vkdt in a different console?
Been happily using vkdt for most of my editing lately. Just some random thoughts on what I feel like I’m at times missing (perhaps even in rough order):
Color balance RGB for grading and saturation control separately for highlights/shadows
Diffuse & sharpen, or similar
A bit easier way to get localised edits / drawn masks (could also be partially user error)
At times also filmic/tone equaliser for more control over the tone curve
Don’t take this the wrong way, great job so far! Unfortunately I’m not much help as my C skills are from university times far too long ago and any practical graphics programming knowledge is basically nonexistent.
diffuse & sharpen i was wanting to implement, i suspect a clean gpu version would be much faster. lost track of this a bit… but am certainly still interested.
if you have any specific ideas how to streamline the local editing, let me know! some of it goes away by using the zones tool that creates masks halfway automatically. sometimes even just a shipped preset that connects modules in a specific way does wonders when it comes to workflow.
Yes I try to use those and sometimes they feel like they’re perhaps not enough, i.e. a bit more control of e.g. just saturation of highlights. Also I’m not certain after/before which node in the graph they should be placed?
Edit: And yes I’m aware color balance RGB is quite a beast so it might be pretty large task to get something of its scope done!
Great!
Well a lot of times I would just like to selectively dodge/burn with a drawn & feathered mask (sometimes also some color adjustments might be nice). As you said, sometimes achievable with just zones or probably with some preset
Hi after some testing, I found-out I can’t write the bracket character in the file name export field (xorg, french keymap AltGr + another key) it won’t write anything instead
Disabling two consecutive processing filters in the pipeline view will often crash the application (depending the filter disabled) doing some more testing but disabling deconv and crop will crash vkdt
backtrace written to /tmp/vkdt-bt-24158.txt but file is empty
and disabling color and grade will also crash vkdt.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f5471e49ea7 in wait4 () from /lib64/libc.so.6
on my system glibc version is 2.35-r8
flags (clone3 gd multiarch multilib ssp stack-realign static-libs -audit -caps -cet -compile-locales -crypt -custom-cflags -doc -experimental-loong -headers-only -multilib-bootstrap -nscd -profile -selinux -suid -systemd -systemtap -test -vanilla)
I’m still struggling with the basic tools to obtain results I want or try to mimic results I achieved under darktable but using darktable now feels like trying to run knee deep in the mud …
I red the page about the filters use but I did not manage to find any information about masking. I feel like I could use some advanced pipelines examples, I feel like an ape trying to use a calculator when trying out pipelines confgurations
One last question : is it possible to change the layout (add views to display more than one output simultaneously, change the location of histogram and stuff).
Thanks again for the incredible work, I red on this thread that rgb color balance was wanted, I agree this module is really usefull I also very much like the contrast equalizer ^^
okay. why would anyone want to type brackets into a file name! that’s so firefox storing the same file a second time!
hm those crashes sound like there would be an easy fix, but not without a stack trace. will try to reproduce locally.
there are some examples in the bin/examples directory. those are probably not really covering many use cases and might even be out of date though
masking/drawing is done via the draw module which has some limited documentation. the overall current workflow is that under “pipeline config” in darkroom mode, you’d set an instance name (say “dodge” or “burn”) and then click “insert block…” and select the draw.cfg block. it’ll insert a draw module, an exposure module, and a blend module. if you want to work in linear, put it before the filmcurve module.
you also want to take care to either crop before you draw and then leave the crop as is, or put the crop module after the draw module in the pipeline (and then temporarily disable the crop while working on the draw).
i suppose i should put convenience buttons for “dodge” and “burn” drawing that do all that in the background for you.
changing the layout/ui: you can adjust darkroom.ui to your liking to select a different set of favourite ui controls to appear in that tab. for now that is only the global one, i want to make it a user config override in ~/.config/vkdt too. i suppose there’s the “docking” branch in imgui that allows a whole lot of ui customisation.
if you add an extra display to your graph with instance name view0, it will be displayed under the histogram image. the display dspy is a special name for the ones shown inside the module expander (such as the mask for the zones module or the curve in the curve module). this one will be connected internally (don’t call your own displays dspy). and of course you can put as many displays as you’d like and process them for export or on the command line.
colour balance rgb: i suppose i don’t know the difference between that and the aces grading tool. might need to take a look at darktable again.
contrast eq: the wavelet core is already implemented, so this would not be hard. i find myself covering my needs well with the denoise and llap modules, so i didn’t reimplement the dt module.