rncbc / samplv1

samplv1 - an old-school polyphonic sampler
https://samplv1.sourceforge.io
GNU General Public License v2.0
38 stars 9 forks source link

segmentation fault #17

Closed tjingboem closed 6 years ago

tjingboem commented 6 years ago

when i delete one of the CCs that are in the list Please have a look at the video: sementation01-2018-03-25_16.49.08.mp4.zip

Using Samplv1 as a standalone.

rncbc commented 6 years ago

unfortunately that's not easily reproducible if at all :( what happens when you hit Reset from the MIDI Controller... dialog (right-click on the subject knob)- instead of Delete in the Help > Configure > Controllers ?

tjingboem commented 6 years ago

i made a new video to show: sementation02-2018-03-25_21.35.14.mp4.zip I guess this works fine...

rncbc commented 6 years ago

can you build with debug symbols (.configure --enable-debug) and try to run under gdb and have a back-trace of the segfault ?

you don't need to install it all the way, just follow these lines from the source tree:

$ ./autogen.sh clean
$ ./autogen.sh
$ ./configure --enable-debug
$ make
$ export LD_LIBRARY_PATH=$(pwd)/src
$ gdb src/samplv1_jack
gdb> run

returning to gdb prompt when segfaults, enter

gdb> bt

dump here the bt output (only the first page please).

seeya

tjingboem commented 6 years ago

I never worked with with gdb, but was able to do all the things you mentioned :)

I was able to build and run it from gdb. I got the segmentation fault but Samplv1 did not disappear completely this time, although it seems to be frozen. Here is the output you asked for:

(gdb) run Starting program: /media/menno/datae/Downloads/samplv1-master/src/samplv1_jack [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffe9e0f700 (LWP 10040)] [New Thread 0x7fffded31700 (LWP 10041)] [New Thread 0x7fffde530700 (LWP 10042)] [New Thread 0x7fffde4af700 (LWP 10043)] [New Thread 0x7fffdd4ed700 (LWP 10044)] [New Thread 0x7fffde41c700 (LWP 10045)] samplv1widget::newPreset() samplv1widget::clearSampleFile() [New Thread 0x7fffc9096700 (LWP 10046)] [Thread 0x7fffc9096700 (LWP 10046) exited] samplv1widget::loadSampleFile("/media/menno/datae/onderzoek/bluetests/freeze3.wav")

Thread 1 "samplv1_jack" received signal SIGSEGV, Segmentation fault. 0x00007ffff6f117c0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (gdb) bt

0 0x00007ffff6f117c0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

1 0x00007ffff6f1197b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

2 0x00007ffff6edef7b in QTreeView::isIndexHidden(QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

3 0x00007ffff6ee0ea7 in QTreeView::visualRect(QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

4 0x00007ffff6e875da in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

5 0x00007ffff6e87ae8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

6 0x00007fffec9e69d9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5

7 0x00007fffec9e6f49 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5

8 0x00007fffec9ec3ac in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5

9 0x00007ffff7e68abe in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5

10 0x00007ffff7e6a26e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5

11 0x00007ffff68c7c01 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

12 0x00007ffff6c4305c in QApplicationPrivate::notify_helper(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

13 0x00007ffff6c48516 in QApplication::notify(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

14 0x00007ffff689838b in QCoreApplication::notifyInternal(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

15 0x00007ffff689a786 in QCoreApplicationPrivate::sendPostedEvents(QObject, int, QThreadData) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

16 0x00007ffff68ee3c3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

17 0x00007ffff4467197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

18 0x00007ffff44673f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

19 0x00007ffff446749c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

20 0x00007ffff68ee7cf in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

21 0x00007ffff6895b4a in QEventLoop::exec(QFlags) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

22 0x00007ffff6e3dd8d in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

23 0x00007ffff71b8cb9 in samplv1widget::helpConfigure (this=0x89a2e0) at samplv1widget.cpp:1257

24 0x00007ffff71f100f in samplv1widget::qt_static_metacall (_o=0x89a2e0, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fffffffcc10) at .moc_ui/moc_samplv1widget.cpp:157

25 0x00007ffff68c6d2a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

26 0x00007ffff6c39412 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

27 0x00007ffff6c3b898 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

28 0x00007ffff6dbde52 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

29 0x00007ffff6dc40ec in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

30 0x00007ffff6dc8060 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

31 0x00007ffff6c85fc8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

32 0x00007ffff6dc8ab3 in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

33 0x00007ffff6c4305c in QApplicationPrivate::notify_helper(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

34 0x00007ffff6c48c19 in QApplication::notify(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

35 0x00007ffff689838b in QCoreApplication::notifyInternal(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

36 0x00007ffff6c47b32 in QApplicationPrivate::sendMouseEvent(QWidget, QMouseEvent, QWidget, QWidget, QWidget**, QPointer&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

37 0x00007ffff6ca091d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

38 0x00007ffff6ca2b7b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

39 0x00007ffff6c4305c in QApplicationPrivate::notify_helper(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

40 0x00007ffff6c48516 in QApplication::notify(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5

41 0x00007ffff689838b in QCoreApplication::notifyInternal(QObject, QEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

42 0x00007ffff4a734e1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5

43 0x00007ffff4a751a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5

44 0x00007ffff4a58f08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5

45 0x00007fffec9c8200 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5

46 0x00007ffff4467197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

47 0x00007ffff44673f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

48 0x00007ffff446749c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

49 0x00007ffff68ee7cf in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

50 0x00007ffff6895b4a in QEventLoop::exec(QFlags) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

51 0x00007ffff689dbec in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

52 0x000000000040c52f in samplv1_jack_application::exec (this=0x7fffffffda70) at samplv1_jack.cpp:758

53 0x000000000040cdcc in main (argc=1, argv=0x7fffffffdbb8) at samplv1_jack.cpp:885

(gdb)

rncbc commented 6 years ago

seems weird environmental: it is not clear (to me) why samplv1_jack links to libQt5XcbQpa.so.5 and libQt5DBus.so.5 ...

can you tell me what distro, desktop environment, whether it's xorg, wayland, mir, unity, whatever?

tjingboem commented 6 years ago

Sure. I'm on Linux Mint 18.3 (= Ubuntu-like), Cinnamon as WM, KXstudio, low-latency

tjingboem commented 6 years ago

I am not sure if it is related, but "our" version of Samplv1 has a somewhat different look from the one i see on your website: schermafdruk van 2018-03-26 09-38-13

As you see, the different submodules (LFO, DCF etc.) have no border like the one on your website. May this have to do with this QT link?

On a second machine, the whole problem does not exist. This machine runs the same Linux Mint 18.3. There, i can delete the CC without a crash - in standalone version as well as the LV2.

I'm not sure if it is interesting to pursue this problem any further if it is on my machine only?