salsaman / LiVES

LiVES is a feature rich application which combines elements of VJ and video editing software. The current version runs on Linux / BSD. Check_out_the_new_discussion_area https://github.com/salsaman/LiVES/discussions
http://lives-video.com
GNU General Public License v3.0
89 stars 11 forks source link

MIDI / Joystick learner is blank #33

Closed hsenot closed 2 years ago

hsenot commented 3 years ago

Hi there,

I've tried to connect my Novation Launchkey Mini to LiVES, to map MIDI keys to effects but couldn't get it to work. The MIDI / Joystick learner window is completely black:

lives

My setup is as follows:

When I hit a key on the MIDI controller (either the physical one - Novation - or the virtual one - vkeybd), the "clear unmatched" and "delete all" button change to become clickable, suggesting the MIDI signal is received by the learner but nothing is visible in the window. No specific error is logged in the terminal used to launch lives, even in debug mode. The only way to quit the learner is to kill -9 the lives process (the "close window" button is ineffective).

Do you have any suggestion of things to try (compile from source, upgrade to Ubuntu 20, install some MIDI mapping dependency, ...)?

Thanks in advance!

Herve

salsaman commented 3 years ago

Thanks. I will check this out and fix it.

salsaman commented 3 years ago

Yes, something definitely broke....

salsaman commented 3 years ago

OK fixed it ! There were a couple of issues - dialogs now run in their own thread, and it turns out this was causing some problems with the learner window, as it is an active dialog. I rewrote the dialog loop so it works with the newer threading model. Also some of the widget code was outdated, so there were a couple of items there to be fixed, and I also took the opportunity to improve the visual appearance.

Screenshot_2021-07-13_18-03-39

salsaman commented 3 years ago

OK, the updates are in git now. You should be fine if you want to use the git version, AFAIK there are currently no major bugs with it.

A couple of things to note maybe: - I found it was sometimes necessary to start the MIDI learner, physically disconnect and reconnect the MIDI device, then connect it via qjackctl. This may have been due to the way I was shutting down / restarting LiVES though.

hsenot commented 3 years ago

Thanks a lot @salsaman for your response and your hard work! Will check it out shortly the git version and let you know. Also thanks for suggesting feeding back my MIDI mapping - will certainly try. Cheers!

hsenot commented 3 years ago

Hey @salsaman - just tried to compile from the freshly cloned git repo and hit a snag when running make:

gui.c: In function ‘create_LiVES’:
gui.c:1722:3: error: ‘submenu’ undeclared (first use in this function); did you mean ‘rfx_menu’?
   submenu = lives_menu_new();
   ^~~~~~~
   rfx_menu
gui.c:1722:3: note: each undeclared identifier is reported only once for each function it appears in
Makefile:1158: recipe for target 'gui.o' failed
make[1]: *** [gui.o] Error 1

Ubuntu 18.04, ./configure output looked alright but maybe I missed a dependency? Anything I can try on my end? Cheers

salsaman commented 3 years ago

That should also be fixed in git now.

hsenot commented 3 years ago

Great, thanks for that ... though I hit another snag.

jack.c: In function ‘get_def_drivers’:
jack.c:777:7: error: used struct type value where scalar is required
   if (*slist) defdriver = (*slist)->data;
       ^
jack.c:777:35: error: invalid type argument of ‘->’ (have ‘LiVESList {aka struct _GList}’)
   if (*slist) defdriver = (*slist)->data;
                                   ^~

(I am using Jack v1). I was able to workaround by changing line 777 to:

if (slist) defdriver = slist->data;

But after that, I encountered issues with the WEED library:

In file included from videoplugin.h:81:0,
                 from lives2lives_stream.c:14:
../../../weed-plugins/weed-plugin-utils.c:118:28: error: conflicting types for ‘weed_paramtmpl_declare_transition’
 static inline weed_error_t weed_paramtmpl_declare_transition(weed_plant_t *pt) {
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../weed-plugins/weed-plugin-utils.c:46:0,
                 from videoplugin.h:81,
                 from lives2lives_stream.c:14:
/usr/include/weed/weed-plugin-utils.h:137:14: note: previous declaration of ‘weed_paramtmpl_declare_transition’ was here
 FN_DECL void weed_paramtmpl_declare_transition(weed_plant_t *pt);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from videoplugin.h:81:0,
                 from lives2lives_stream.c:14:
../../../weed-plugins/weed-plugin-utils.c:121:28: error: conflicting types for ‘weed_plugin_set_package_version’
 static inline weed_error_t weed_plugin_set_package_version(weed_plant_t *pi, int v) {
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../weed-plugins/weed-plugin-utils.c:46:0,
                 from videoplugin.h:81,
                 from lives2lives_stream.c:14:
/usr/include/weed/weed-plugin-utils.h:129:14: note: previous declaration of ‘weed_plugin_set_package_version’ was here
 FN_DECL void weed_plugin_set_package_version(weed_plant_t *pi, int v);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Makefile:809: recipe for target 'lives2lives_stream_la-lives2lives_stream.lo' failed
make[4]: *** [lives2lives_stream_la-lives2lives_stream.lo] Error 1

By scanning the result of my ./configure output, I realised that I probably didn't have the WEED library config right:

checking for WEED_GSLICE... no
...will try to build from included sources
checking for WEED_UTILS... no
...will try to build from included sources
checking for WEED_COMPAT... no
...will use version from included sources
checking for WEED_PLUGIN... no
...plugins will be compiled with included sources

despite having installed libweed-dev. Anything else needed to properly install libweed (or get the shipped version to compile)?

Thanks @salsaman !

salsaman commented 2 years ago

Thanks for reporting all this ! Seems I need to do a run through / recheck of the install / setup from scratch and make sure it all works smoothly. BTW, the libweed messages are normal. If you wish you can run config / make clean / make install twice, and on the second iteration it will pick up the systemwide libs.

salsaman commented 2 years ago

Yes, you are quite correct about the jack fix, (although that function was only there for testing purposes, and the line in question isn't actually executed. during normal execution) . Still it ought to be fixed as you rightly pointed out.

jack2 rather than jack1 is recommended for use with LiVES (the relevant difference being that jack1 gives no indication if a driver is a normal driver or a slave driver, which can complicate the setup if you want LiVES to start a jack server itself). Other than that both versions function equally well.

The libweed thing is quite subtle and needs some changes in the Makefiles. There is a very simple workaround however:

sudo cp libweed/*.h /usr/include/weed

should bypass the issue and allow you to complete the 'make install'.

If you encounter any other issues, please don't hesitate to let me know.

hsenot commented 2 years ago

Great - we're making progress (based on your cp libweed/*.h advice), but make is now stuck on :

/bin/bash ../../libtool  --tag=CC   --mode=link gcc -fPIC -DPIC -Wno-unused-function -Wno-unused-variable -DNEED_LOCAL_WEED -DNEED_LOCAL_WEED_PLUGIN -Wno-unused-function -DNEED_LOCAL_WEED -DNEED_LOCAL_WEED_PLUGIN -DNEED_LOCAL_WEED_COMPAT -ffast-math -Wall   -fno-math-errno -g -O2 -Wall -shared -fPIC -DPIC -module -avoid-version --tag=disable-static -lm  -o targeted_zoom.la -rpath "/usr/lib/lives/plugins/effects/realtime/weed" targeted_zoom.lo  
libtool: link: gcc -shared  -fPIC -DPIC  .libs/targeted_zoom.o   -lm  -g -O2   -Wl,-soname -Wl,targeted_zoom.so -o .libs/targeted_zoom.so
libtool: link: ( cd ".libs" && rm -f "targeted_zoom.la" && ln -s "../targeted_zoom.la" "targeted_zoom.la" )
make[3]: *** No rule to make target 'pan_and_zoom.c', needed by 'pan_and_zoom.lo'.  Stop.
make[3]: Leaving directory '/home/herve/Software/lives/lives-plugins/weed-plugins'
Makefile:1701: recipe for target 'all-recursive' failed

I reckon we're getting close :-)

salsaman commented 2 years ago

Great ! I have added the missing plugin in git. As far as can tell that was the only missing item.

salsaman commented 2 years ago

(strictly speaking, it's no longer part of the build - in future 'make' will regenerate it from a script in the 'scripts' directory)

hsenot commented 2 years ago

Ok thanks - so, I ended up installing jack2 (jackd2 and libjack-jackd2-dev), then re-cloned the repo. The autogen + configure + make + sudo make install now suceeds ... but the actual executable exits instantly without any obvious error message:

herve:~/Software/LiVES (master)$ lives
Today's lucky number is 0XDC78A01FA39AD07D

LiVES 3.2.1-pre
Copyright 2002 - 2021 Gabriel Finch (salsaman+lives@gmail.com) and others.
LiVES comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details.

herve:~/Software/LiVES (master)$ 

A look at /var/log/syslog shows:

Jul 19 20:25:05 herve LiVES.desktop[29493]: Today's lucky number is 0XDC78A01FA39AD07D
Jul 19 20:25:06 herve LiVES.desktop[29493]: LiVES 3.2.1-pre
Jul 19 20:25:06 herve LiVES.desktop[29493]: Copyright 2002 - 2021 Gabriel Finch (salsaman+lives@gmail.com) and others.
Jul 19 20:25:06 herve LiVES.desktop[29493]: LiVES comes with ABSOLUTELY NO WARRANTY
Jul 19 20:25:06 herve LiVES.desktop[29493]: This is free software, and you are welcome to redistribute it
Jul 19 20:25:06 herve LiVES.desktop[29493]: under certain conditions; see the file COPYING for details.
Jul 19 20:25:06 herve org.gnome.Shell.desktop[5359]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x6c00003 (LiVES)

Not sure if that's of any significance ...

Anything else I could try at my end you reckon?

salsaman commented 2 years ago

Considering the X11 warning which you posted earlier, I have just pushed some changes in the initial setup code which may avoid some potential problems related to this. There is a chance this may resolve the issue.

If the error persists after updating to the latest git version, then you can try the following.

Before doing this, I would highly recommend running configure, make clean, and make install again to ensure that LiVES is linked with the system versions of libweed, as mentioned above.

NB. in the case that gdb simply exits with "no stack", you can try setting breakpoints before typing "run" (gdb) b exit (gdb) b _exit (gdb) b abort

running LiVES in debug mode may or may not be useful, you can try

(gdb) run -debug

(apologies if I am telling you things you already know)

salsaman commented 2 years ago

Another thing you might try if none of the above helps, is doing a fresh install. First make sure you remove any old config files from previous versions (otherwise LiVES will try to migrate them):

e.g:

mkdir ~/lives-back mv ~/.lives* ~/lives-back (note the leading '.')

then you can set alternate locations for the session, eg: mkdir ~/tmpconfig lives -configfile ~/livesconfig -configdatadir ~/tmpconfig

hsenot commented 2 years ago

Wahoo - didn't think I was going to opening a Pandora's box leading to gdb (which I've never used :-)

So the output of the gdb commands are:

(gdb) run -debug
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/lives -debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffea1de700 (LWP 19217)]
[New Thread 0x7fffe99dd700 (LWP 19218)]
ppening log /home/herve/.local/share/lives/debug.log
Today's lucky number is 0X9ED48A1F6BF817B
[New Thread 0x7fffe1ffe700 (LWP 19271)]
[New Thread 0x7fffe17fd700 (LWP 19272)]
[New Thread 0x7fffe08b3700 (LWP 19297)]
[New Thread 0x7fffcdff8700 (LWP 19298)]

LiVES 3.2.1-pre
Copyright 2002 - 2021 Gabriel Finch (salsaman+lives@gmail.com) and others.
LiVES comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details.

Thread 1 "lives" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) t apply all bt

Thread 7 (Thread 0x7fffcdff8700 (LWP 19298)):
#0  0x00007ffff3f70639 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff6029a8a in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5fb65a1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff600bc44 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff600b2a5 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff424d6db in start_thread (arg=0x7fffcdff8700) at pthread_create.c:463
#6  0x00007ffff3f7671f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffe08b3700 (LWP 19297)):
#0  0x00007ffff3f70639 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff6029a8a in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5fb65a1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff600bc44 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff600b2a5 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff424d6db in start_thread (arg=0x7fffe08b3700) at pthread_create.c:463
#6  0x00007ffff3f7671f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fffe17fd700 (LWP 19272)):
#0  0x00007ffff4253ad3 in futex_wait_cancelable (private=<optimised out>, expected=0, futex_word=0x55555638d6e8 <tcond+40>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007ffff4253ad3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x55555638d680 <tcond_mutex>, cond=0x55555638d6c0 <tcond>) at pthread_cond_wait.c:502
#2  0x00007ffff4253ad3 in __pthread_cond_wait (cond=cond@entry=0x55555638d6c0 <tcond>, mutex=mutex@entry=0x55555638d680 <tcond_mutex>) at pthread_cond_wait.c:655
#3  0x00005555557b0315 in thrdpool (arg=0x5555565fc3b0) at threading.c:975
#4  0x00007ffff424d6db in start_thread (arg=0x7fffe17fd700) at pthread_create.c:463
#5  0x00007ffff3f7671f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffe1ffe700 (LWP 19271)):
#0  0x00007ffff4253ad3 in futex_wait_cancelable (private=<optimised out>, expected=0, futex_word=0x55555638d6ec <tcond+44>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007ffff4253ad3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x55555638d680 <tcond_mutex>, cond=0x55555638d6c0 <tcond>) at pthread_cond_wait.c:502
#2  0x00007ffff4253ad3 in __pthread_cond_wait (cond=cond@entry=0x55555638d6c0 <tcond>, mutex=mutex@entry=0x55555638d680 <tcond_mutex>) at pthread_cond_wait.c:655
#3  0x00005555557b0315 in thrdpool (arg=0x5555565f7bc0) at threading.c:975
#4  0x00007ffff424d6db in start_thread (arg=0x7fffe1ffe700) at pthread_create.c:463
#5  0x00007ffff3f7671f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffe99dd700 (LWP 19218)):
#0  0x00007ffff3f69cb9 in __GI___poll (fds=0x5555565b5540, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff5fe36e9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5fe3a82 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff27af2d6 in  () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007ffff600b2a5 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff424d6db in start_thread (arg=0x7fffe99dd700) at pthread_create.c:463
#6  0x00007ffff3f7671f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffea1de700 (LWP 19217)):
#0  0x00007ffff3f69cb9 in __GI___poll (fds=0x5555565a3ce0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff5fe36e9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5fe37fc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff5fe3841 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff600b2a5 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff424d6db in start_thread (arg=0x7fffea1de700) at pthread_create.c:463
#6  0x00007ffff3f7671f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

---Type <return> to continue, or q <return> to quit---
Thread 1 (Thread 0x7ffff7fa7f80 (LWP 19216)):
#0  0x0000000000000000 in  ()
#1  0x00005555555c9e24 in open_vid_playback_plugin (name=0x555555a5e040 <buff> "openGL", in_use=1) at plugins.c:1377
#2  0x00005555555b3862 in lives_startup (data=<optimised out>) at main.c:4085
#3  0x00007ffff5fe33a5 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff5fe3770 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff5fe3a82 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007ffff76faa25 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#7  0x00005555555b19a0 in real_main (argc=<optimised out>, argv=<optimised out>, gtk_thread=<optimised out>, id=<optimised out>) at main.c:5549
#8  0x00007ffff3e76bf7 in __libc_start_main (main=
    0x55555557b170 <main>, argc=2, argv=0x7fffffffdb68, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7fffffffdb58) at ../csu/libc-start.c:310
#9  0x000055555557e4aa in _start ()
(gdb) 

Not sure if there's anything interesting in there? Thanks again for helping me with this one, really keen to get the MIDI controls going on LiVES! Cheers

hsenot commented 2 years ago

If we're hitting a dead-end / rabbit hole here, am happy to wait for the next apt package to be available (as opposed to building from source, which seems harder for me than it should). Any idea when the next release could be? (am on Ubuntu 18.04, but happy to move to 20)

salsaman commented 2 years ago

OK, to cut to the chase, I think the problem was it was picking up the openGL playback plugin from a previous install. The code I just checked in should take care of this, I believe.

To make full use of the program, you might want to install development libs for GL, X11 and Xrender, e.g sudo apt install libgl-dev libx11-dev libxrender-dev

I'll post a full list of all the optional dependencies, since I need to bring this up to date anyway.

salsaman commented 2 years ago

sudo apt install sox mplayer imagemagick ffmpeg mjpegtools youtube-dl pip libpng-dev libjack-jackd2-dev libpulse-dev libx11-dev libxrender-dev libgl-dev libsdl2-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev libfftw3-dev libunicap2-dev libprojectm-dev projectm-data liborc-0.4-dev libopencv-dev

hsenot commented 2 years ago

Thanks! These extra dependencies are getting us further. After a full re-install (git clone+autogen+configure+make+make install), I can now see the startup screen:

startscreen

gdb now returns:

(gdb) run -debug
Starting program: /usr/bin/lives -debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe9cbf700 (LWP 26050)]
[New Thread 0x7fffe94be700 (LWP 26051)]
ppening log /home/herve/.local/share/lives/debug.log
[New Thread 0x7fffe1baa700 (LWP 26090)]
[New Thread 0x7fffe13a9700 (LWP 26091)]
[New Thread 0x7fffcdff8700 (LWP 26106)]
[New Thread 0x7fffcd7f7700 (LWP 26107)]

LiVES 3.2.1-pre
Copyright 2002 - 2021 Gabriel Finch (salsaman+lives@gmail.com) and others.
LiVES comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details.

Today's lucky number is 0XF4EA718DACAF42EC
Gtk Critical error: gtk_box_pack: assertion 'GTK_IS_WIDGET (child)' failed

Thread 1 "lives" received signal SIGTRAP, Trace/breakpoint trap.
raise (sig=<optimised out>) at ../sysdeps/unix/sysv/linux/raise.c:51
51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) t apply all bt

Thread 7 (Thread 0x7fffcd7f7700 (LWP 26107)):
#0  0x00007ffff3849639 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff5dada8a in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5d3a5a1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff5d8fc44 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff5d8f2a5 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff3b266db in start_thread (arg=0x7fffcd7f7700) at pthread_create.c:463
#6  0x00007ffff384f71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffcdff8700 (LWP 26106)):
#0  0x00007ffff3849639 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff5dada8a in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5d3a5a1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff5d8fc44 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff5d8f2a5 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff3b266db in start_thread (arg=0x7fffcdff8700) at pthread_create.c:463
#6  0x00007ffff384f71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fffe13a9700 (LWP 26091)):
#0  0x00007ffff3b2d065 in futex_abstimed_wait_cancelable (private=<optimised out>, abstime=0x5555563905c0 <ts>, expected=0, futex_word=0x555556390728 <tcond+40>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  0x00007ffff3b2d065 in __pthread_cond_wait_common (abstime=0x5555563905c0 <ts>, mutex=0x5555563906c0 <tcond_mutex>, cond=0x555556390700 <tcond>) at pthread_cond_wait.c:539
#2  0x00007ffff3b2d065 in __pthread_cond_timedwait (cond=cond@entry=0x555556390700 <tcond>, mutex=mutex@entry=0x5555563906c0 <tcond_mutex>, abstime=abstime@entry=0x5555563905c0 <ts>)
    at pthread_cond_wait.c:667
#3  0x00005555557b1593 in thrdpool (arg=0x5555565d0690) at threading.c:981
#4  0x00007ffff3b266db in start_thread (arg=0x7fffe13a9700) at pthread_create.c:463
#5  0x00007ffff384f71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffe1baa700 (LWP 26090)):
#0  0x00007ffff3b2d065 in futex_abstimed_wait_cancelable (private=<optimised out>, abstime=0x5555563905c0 <ts>, expected=0, futex_word=0x55555639072c <tcond+44>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  0x00007ffff3b2d065 in __pthread_cond_wait_common (abstime=0x5555563905c0 <ts>, mutex=0x5555563906c0 <tcond_mutex>, cond=0x555556390700 <tcond>) at pthread_cond_wait.c:539
#2  0x00007ffff3b2d065 in __pthread_cond_timedwait (cond=cond@entry=0x555556390700 <tcond>, mutex=mutex@entry=0x5555563906c0 <tcond_mutex>, abstime=abstime@entry=0x5555563905c0 <ts>)
    at pthread_cond_wait.c:667
#3  0x00005555557b1593 in thrdpool (arg=0x55555662e220) at threading.c:981
#4  0x00007ffff3b266db in start_thread (arg=0x7fffe1baa700) at pthread_create.c:463
#5  0x00007ffff384f71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffe94be700 (LWP 26051)):
#0  0x00007ffff3842cb9 in __GI___poll (fds=0x5555565b94e0, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff5d676e9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5d67a82 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff20882d6 in  () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007ffff5d8f2a5 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff3b266db in start_thread (arg=0x7fffe94be700) at pthread_create.c:463
#6  0x00007ffff384f71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffe9cbf700 (LWP 26050)):
#0  0x00007ffff3842cb9 in __GI___poll (fds=0x5555565a7ed0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff5d676e9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5d677fc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#3  0x00007ffff5d67841 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff5d8f2a5 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff3b266db in start_thread (arg=0x7fffe9cbf700) at pthread_create.c:463
#6  0x00007ffff384f71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff7f95ac0 (LWP 26045)):
#0  0x00007ffff3b31817 in raise (sig=<optimised out>) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff5d6e2e2 in g_logv () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff5d6e43f in g_log () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff75eba8d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#4  0x000055555558684f in lives_box_pack_start (padding=4, fill=0, expand=0, child=0x0, box=<optimised out>) at widget-helper.c:3503
#5  0x000055555558684f in add_warn_image (widget=widget@entry=0x555556c3e2f0, hbox=hbox@entry=0x555556c116d0) at widget-helper.c:8292
#6  0x000055555559fec8 in lives_standard_spin_button_new (labeltext=labeltext@entry=0x0, val=<optimised out>, val@entry=0, min=min@entry=-200, max=max@entry=200, step=<optimised out>, 
    step@entry=0.0001, page=<optimised out>, page@entry=1, dp=dp@entry=3, box=<optimised out>, tooltip=tooltip@entry=0x555556c35880 "Vary the video speed") at widget-helper.c:10126
#7  0x0000555555672ebb in create_LiVES () at gui.c:2146
#8  0x00005555555b3a5d in lives_startup (data=<optimised out>) at main.c:4158
#9  0x00007ffff5d673a5 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff5d67770 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff5d67a82 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff76faa25 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00005555555b1fd9 in real_main (argc=<optimised out>, argv=<optimised out>, gtk_thread=<optimised out>, id=<optimised out>) at main.c:5553
#14 0x00007ffff374fbf7 in __libc_start_main (main=0x55555557b7f0 <main>, argc=2, argv=0x7fffffffdb68, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7fffffffdb58)
    at ../csu/libc-start.c:310
#15 0x000055555557ebca in _start ()

A brief search on missing ../sysdeps/unix/sysv/linux/raise.c file seems to indicate it's not a worry and won't reveal anything anyway - the error has already been raised by the part of the code under control i.e. lives's!

Anything else you can think of? Thanks heaps!

salsaman commented 2 years ago

Will take a look. Yes you are correct, this is just a warning message. if running in gdb, you can just type "c" to continue. Thanks !

salsaman commented 2 years ago

So the warning was being generated because a stock icon was not being located. I just checked in a fix which should look for a near match. I hope this will resolve the latter issue for you and you will finally be able to run the program fully.