Coder Social home page Coder Social logo

Qtractor crash with stegosaurus about qtractor HOT 4 CLOSED

rncbc avatar rncbc commented on August 28, 2024
Qtractor crash with stegosaurus

from qtractor.

Comments (4)

rncbc avatar rncbc commented on August 28, 2024

On 09/09/2016 01:36 PM, Olivier Humbert wrote:

Qtractor 0.7.8, stegosaurus from https://github.com/thunderox/stegosaurus

Hi,
Trying to load stegosaurus in Qtractor on a MIDI track, Qtractor
crashes. Qtractor launched from a CLI, it tells "segfault", nothing more.
If that can helps, please note that the same stegosaurus works fine with
jalv.gtk, jalv.select and Ardour 5.3

Tell me if you'd need more info.

Hope that helps

not quite :)

build qtractor for debugging:
./configure --enable-debug ...
and then, a crash stacktrace might get dumped on cli.

being stegosaurus probably a Gtk based LV2 plugin UI and qtractor a Qt5
host one, you might get better alternative evidences if you run it under
jalv.qt5 (cf. current drobilla.net's git stack, not the almost 2yo stuff
that doesn't give a damn on Qt5 yet).

jalv.gtk and Ardour (any version for that matter), are Gtk hosts, so
sure there aren't any issues on showing Gtk UIs on that.

however this might not be a qtractor problem alone though. way too many
Gtk based LV2 plugin UIs are prone to crash under a Qt host. even the
mighty Calf gear have problems: not all of them do work flawlessly, or
at all.

moreover, if gtkmm is part of the plugins UI stack, then my friend give
up all hope ;)

also try to get plugin's author into the conversation. seeing by this yt
(https://www.youtube.com/watch?v=Kro5KwKBbu4) it's been working for some.

cheers

rncbc aka. Rui Nuno Capela

from qtractor.

trebmuh avatar trebmuh commented on August 28, 2024

@rncbc it looks like this one slipped out of my attention! Apologize for that.

I've been able to rebuild stegosaurus from a current fork and I've been building Qtractor (0.8.5) with the debug activated thanks to your previous comment here.

Then I created a MIDI track, choose the channel n°10, added stegosaurus (after a rescan for cleaning-ness sake), activated stegosaurus, and opened the pianoroll view in Qtractor, then played some note by clicking on those on the pianoroll. Bim! Qtractor crashed.

Here is (the relevant part of) the terminal output:

qtractorPluginFactory::createPlugin(0x558a13267bc0, "http://nickbailey.co.nr/plugins/stegosaurus", 0, 4)
qtractorLv2PluginType[0x558a136dc750]::open() uri="http://nickbailey.co.nr/plugins/stegosaurus"
qtractorLv2Plugin[0x558a13540540] uri="http://nickbailey.co.nr/plugins/stegosaurus"
qtractorLv2Plugin[0x558a13540540]::setChannels(2) instances=1
Tuning - 0,918750

Loading and converting - /usr/lib/lv2/stegosaurus.lv2/waves/sine.wav

qtractorLv2Plugin[0x558a13540540]::setChannels(2) instance[0]=0x558a1353e810
qtractorLv2Plugin[0x558a13540540]::openEditor("http://lv2plug.in/ns/extensions/ui#X11UI")
qtractorLv2Plugin[0x558a13540540]::lv2_ui_instantiate("http://nickbailey.co.nr/plugins/stegosaurus#ui")
Fonctionnalité http://lv2plug.in/ns/ext/urid#map
Fonctionnalité http://lv2plug.in/ns/ext/urid#unmap
Fonctionnalité http://lv2plug.in/ns/ext/state
Fonctionnalité http://lv2plug.in/ns/ext/buf-size#fixedBlockLength
Fonctionnalité http://lv2plug.in/ns/ext/buf-size#boundedBlockLength
Fonctionnalité http://lv2plug.in/ns/ext/state#loadDefaultState
Fonctionnalité http://lv2plug.in/ns/ext/state#mapPath
Fonctionnalité http://kxstudio.sf.net/ns/lv2ext/programs#Host
Fonctionnalité http://lv2plug.in/ns/ext/options#options
Fonctionnalité http://lv2plug.in/ns/ext/data-access
Fonctionnalité http://lv2plug.in/ns/ext/instance-access
Fonctionnalité http://kxstudio.sf.net/ns/lv2ext/external-ui#Host
Fonctionnalité http://lv2plug.in/ns/extensions/ui#external
Fonctionnalité http://lv2plug.in/ns/extensions/ui#portMap
Fonctionnalité http://lv2plug.in/ns/extensions/ui#touch
Fonctionnalité http://lv2plug.in/ns/extensions/ui#parent
Fonctionnalité http://lv2plug.in/ns/extensions/ui#resize
Fonctionnalité http://lv2plug.in/ns/extensions/ui#idleInterface
qtractorTrackCommand::addTrack(0x558a13251570, 0x0)
qtractorMidiBus[0x558a128dfdf0]::setPatch(9, "", 0, -1, -1)
qtractorMidiControl::sendAllControllers(0)
qtractorTrack[0x558a13251570]::stateChangeNotify(0, 1)
qtractorMainForm::transportRecord()
qtractorSession::trackRecord("Track 1", 1, 0, 3674368)
qtractorSession::createFilePath("/home/capturixeur2-dev/Bureau/tef-Track_1-1.mid")
qtractorMainForm::transportPlay()
qtractorMidiEngine::resetDrift()
qtractorMidiEngine::driftCheck(8): iAudioTime=5759 iMidiTime=5756 (3) iTimeDrift=6 (0.1%)
qtractorMainForm::transportStop()
qtractorSession::trackRecord("Track 1", 0, 145920, 146176)
qtractorMainForm::saveSessionFileEx("/home/capturixeur2-dev/Bureau/tef.auto-save.qts", 0, 0)
qtractorMainForm::transportRecord()
qtractorSession::trackRecord("Track 1", 1, 145920, 370176)
qtractorSession::createFilePath("/home/capturixeur2-dev/Bureau/tef-Track_1-1.mid")
qtractorMainForm::transportPlay()
qtractorMidiEngine::resetDrift()
qtractorMidiEngine::driftCheck(8): iAudioTime=5762 iMidiTime=5760 (2) iTimeDrift=4 (0.069%)
qtractorMainForm::transportStop()
qtractorClipCommand[0x558a131d5b30]::addClipRecordTake(0x558a13251570, 0x558a15b3e990, 145920, 0, 157440, 0x0)
qtractorSession::trackRecord("Track 1", 0, 303360, 303872)
qtractorMainForm::saveSessionFileEx("/home/capturixeur2-dev/Bureau/tef.auto-save.qts", 0, 0)
qtractorTrack[0x558a13251570]::stateChangeNotify(0, 0)
Some sort of atom event detected.........Event detected - 153 - 60 - 64 
Kick triggered..
Some sort of atom event detected.........Event detected - 137 - 60 - 0 
Some sort of atom event detected.........Event detected - 153 - 60 - 64 
Kick triggered..
Some sort of atom event detected.........Event detected - 137 - 60 - 0 
Some sort of atom event detected.........Event detected - 153 - 61 - 64 
Some sort of atom event detected.........Event detected - 137 - 61 - 0 
Some sort of atom event detected.........Event detected - 153 - 62 - 64 
Snare triggered..
[New LWP 6568]
[New LWP 6569]
[New LWP 6570]
[New LWP 6571]
[New LWP 6572]
[New LWP 6573]
[New LWP 6574]
[New LWP 6575]
[New LWP 6576]
[New LWP 6577]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f7a4447f6ad in poll () at ../sysdeps/unix/syscall-template.S:84
84	../sysdeps/unix/syscall-template.S: Aucun fichier ou dossier de ce type.

Thread 11 (Thread 0x7f7a19957700 (LWP 6577)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7a452a8c6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x0000558a10839522 in qtractorMidiOutputThread::run (this=0x558a13025f40) at qtractorMidiEngine.cpp:545
#3  0x00007f7a452a7da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f7a44fe3494 in start_thread (arg=0x7f7a19957700) at pthread_create.c:333
#5  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 10 (Thread 0x7f7a1a158700 (LWP 6576)):
#0  0x00007f7a4447f6ad in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x0000558a10841f25 in poll (__timeout=200, __nfds=1, __fds=0x7f7a1a157b10) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qtractorMidiInputThread::run (this=0x558a128dff40) at qtractorMidiEngine.cpp:421
#3  0x00007f7a452a7da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f7a44fe3494 in start_thread (arg=0x7f7a1a158700) at pthread_create.c:333
#5  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 9 (Thread 0x7f7a1a959700 (LWP 6575)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7a452a8c6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x0000558a1084cfbe in qtractorMidiSyncThread::run (this=0x558a13027130) at qtractorMidiManager.cpp:149
#3  0x00007f7a452a7da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f7a44fe3494 in start_thread (arg=0x7f7a1a959700) at pthread_create.c:333
#5  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 8 (Thread 0x7f7a2d45c700 (LWP 6574)):
#0  0x00007f7a44fecb3a in __waitpid (pid=6619, stat_loc=0x7f7a2d45b2bc, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x0000558a10772566 in stacktrace (signo=<optimized out>) at qtractor.cpp:403
#2  <signal handler called>
#3  0x00007f7a0bdbcffc in wavetable_tick () from /usr/lib/lv2/stegosaurus.lv2/stegosaurus.so
#4  0x00007f7a0bdbc07e in stegosaurus_synth_play () from /usr/lib/lv2/stegosaurus.lv2/stegosaurus.so
#5  0x0000558a107f2853 in lilv_instance_run (instance=0x558a1353e810, instance=0x558a1353e810, sample_count=256) at /usr/include/lilv-0/lilv/lilv.h:1694
#6  qtractorLv2Plugin::process (this=0x558a13540540, ppIBuffer=0x558a1300fe90, ppOBuffer=0x558a132165f0, nframes=256) at qtractorLv2Plugin.cpp:2993
#7  0x0000558a10875291 in qtractorPluginList::process (this=0x558a13267bc0, ppBuffer=0x558a1300fe90, nframes=nframes@entry=256) at qtractorPlugin.cpp:1766
#8  0x0000558a1084e158 in qtractorMidiManager::process (this=0x558a1330d4f0, iTimeStart=813568, iTimeEnd=<optimized out>) at qtractorMidiManager.cpp:637
#9  0x0000558a107860f1 in qtractorAudioEngine::process (this=0x558a12a3a930, nframes=256) at qtractorAudioEngine.cpp:893
#10 0x00007f7a48c3cffe in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#11 0x00007f7a48c3c7c8 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#12 0x00007f7a48c547c0 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#13 0x00007f7a44fe3494 in start_thread (arg=0x7f7a2d45c700) at pthread_create.c:333
#14 0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 7 (Thread 0x7f7a2d2b5700 (LWP 6573)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7a452a8c6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x0000558a10777196 in qtractorAudioBufferThread::run (this=0x558a12fbffc0) at qtractorAudioBuffer.cpp:148
#3  0x00007f7a452a7da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f7a44fe3494 in start_thread (arg=0x7f7a2d2b5700) at pthread_create.c:333
#5  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 6 (Thread 0x7f7a2d4dd700 (LWP 6572)):
#0  0x00007f7a44fec20d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f7a48c55a25 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#2  0x00007f7a48c5903c in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#3  0x00007f7a48c547c0 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#4  0x00007f7a44fe3494 in start_thread (arg=0x7f7a2d4dd700) at pthread_create.c:333
#5  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 5 (Thread 0x7f7a2d55e700 (LWP 6571)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7a48c5518c in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#2  0x00007f7a48c4cdc8 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#3  0x00007f7a48c547c0 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#4  0x00007f7a44fe3494 in start_thread (arg=0x7f7a2d55e700) at pthread_create.c:333
#5  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 4 (Thread 0x7f7a2ef85700 (LWP 6570)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7a452a8c6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f7a45f80301 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007f7a452a7da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f7a44fe3494 in start_thread (arg=0x7f7a2ef85700) at pthread_create.c:333
#5  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 3 (Thread 0x7f7a2f8b5700 (LWP 6569)):
#0  0x00007f7a4447f6ad in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f7a411289f6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f7a41128b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f7a454cc04f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f7a454759ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f7a452a30f3 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f7a377586d5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f7a452a7da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f7a44fe3494 in start_thread (arg=0x7f7a2f8b5700) at pthread_create.c:333
#9  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 2 (Thread 0x7f7a36905700 (LWP 6568)):
#0  0x00007f7a4447f6ad in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f7a3e5af150 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f7a3e5b0ee9 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f7a48f00b69 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f7a452a7da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f7a44fe3494 in start_thread (arg=0x7f7a36905700) at pthread_create.c:333
#6  0x00007f7a44488aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f7a48ff9a40 (LWP 6567)):
#0  0x00007f7a4447f6ad in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f7a411289f6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f7a41128b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f7a454cc04f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f7a454759ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f7a4547e13c in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x0000558a1076f8dd in main (argc=<optimized out>, argv=<optimized out>) at qtractor.cpp:643


Looking at it now, I see some French localised strings in it. If they're annoying for you and you'll like to get the English ones, let me know and I'll start Qtractor with LANG=C qtractor.

Hope that you can understand something out of that and tell me if Qtractor is responsible or Stegosaurus is the culprit (or a mix of both [or something else]).

Cheers

from qtractor.

rncbc avatar rncbc commented on August 28, 2024

from the stacktrace the crash point is in setegosaurus:

Thread 8 (Thread 0x7f7a2d45c700 (LWP 6574)):
#0  0x00007f7a44fecb3a in __waitpid (pid=6619, stat_loc=0x7f7a2d45b2bc, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x0000558a10772566 in stacktrace (signo=<optimized out>) at qtractor.cpp:403
#2  <signal handler called>
#3  0x00007f7a0bdbcffc in wavetable_tick () from /usr/lib/lv2/stegosaurus.lv2/stegosaurus.so
#4  0x00007f7a0bdbc07e in stegosaurus_synth_play () from /usr/lib/lv2/stegosaurus.lv2/stegosaurus.so
#5  0x0000558a107f2853 in lilv_instance_run (instance=0x558a1353e810, instance=0x558a1353e810, sample_count=256) at /usr/include/lilv-0/lilv/lilv.h:1694
...

maybe you can have a more helpful to stegosaurus author if you build it with debug information (-g) as well.

byee

from qtractor.

trebmuh avatar trebmuh commented on August 28, 2024

Thanks Rui. I've been updating Stegosaurus's github issue. With a bit of luck its author will be back working on it.

from qtractor.

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.