paynebc / tunefish

Tunefish virtual analog synthesizer
GNU General Public License v3.0
249 stars 35 forks source link

Linux: Crash when opening GUI #8

Open kmatheussen opened 7 years ago

kmatheussen commented 7 years ago

Hi, I got this crash once when trying to open the GUI in the radium music editor:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc704b700 (LWP 670)]
0x00007fffc73310db in juce::ReadWriteLock::tryEnterRead() const () from /home/kjetil/.vst/tunefish4.so
Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.23-31.fc17.x86_64 fftw-libs-single-3.3.3-5.fc17.x86_64 flac-1.2.1-9.fc17.x86_64 glibc-2.15-59.fc17.x86_64 gsm-1.0.13-6.fc17.x86_64 gstreame$
(gdb) bt
#0  0x00007fffc73310db in juce::ReadWriteLock::tryEnterRead() const () from /home/kjetil/.vst/tunefish4.so
#1  0x00007fffc7331235 in juce::ReadWriteLock::enterRead() const () from /home/kjetil/.vst/tunefish4.so
#2  0x00007fffc73fc153 in juce::RenderingHelpers::StackBasedLowLevelGraphicsContext<juce::RenderingHelpers::SoftwareRendererSavedState>::drawGlyph(int, juce::AffineTransform const&) ()
   from /home/kjetil/.vst/tunefish4.so
#3  0x00007fffc73de223 in juce::PositionedGlyph::draw(juce::Graphics const&) const () from /home/kjetil/.vst/tunefish4.so
#4  0x00007fffc73e852e in juce::GlyphArrangement::draw(juce::Graphics const&) const () from /home/kjetil/.vst/tunefish4.so
#5  0x00007fffc73ea878 in juce::Graphics::drawFittedText(juce::String const&, juce::Rectangle<int> const&, juce::Justification, int, float) const () from /home/kjetil/.vst/tunefish4.so
#6  0x00007fffc73ea98f in juce::Graphics::drawFittedText(juce::String const&, int, int, int, int, juce::Justification, int, float) const () from /home/kjetil/.vst/tunefish4.so
#7  0x00007fffc74b3d17 in juce::LookAndFeel_V2::drawLabel(juce::Graphics&, juce::Label&) () from /home/kjetil/.vst/tunefish4.so
#8  0x00007fffc74379b6 in juce::Component::paintComponentAndChildren(juce::Graphics&) () from /home/kjetil/.vst/tunefish4.so
#9  0x00007fffc743771b in juce::Component::paintEntireComponent(juce::Graphics&, bool) () from /home/kjetil/.vst/tunefish4.so
#10 0x00007fffc743779d in juce::Component::paintWithinParentContext(juce::Graphics&) () from /home/kjetil/.vst/tunefish4.so
#11 0x00007fffc7437a57 in juce::Component::paintComponentAndChildren(juce::Graphics&) () from /home/kjetil/.vst/tunefish4.so
#12 0x00007fffc743771b in juce::Component::paintEntireComponent(juce::Graphics&, bool) () from /home/kjetil/.vst/tunefish4.so
#13 0x00007fffc743779d in juce::Component::paintWithinParentContext(juce::Graphics&) () from /home/kjetil/.vst/tunefish4.so
#14 0x00007fffc7437a57 in juce::Component::paintComponentAndChildren(juce::Graphics&) () from /home/kjetil/.vst/tunefish4.so
#15 0x00007fffc743771b in juce::Component::paintEntireComponent(juce::Graphics&, bool) () from /home/kjetil/.vst/tunefish4.so
#16 0x00007fffc745e38f in juce::ComponentPeer::handlePaint(juce::LowLevelGraphicsContext&) () from /home/kjetil/.vst/tunefish4.so
#17 0x00007fffc74d01a5 in juce::LinuxComponentPeer::LinuxRepaintManager::performAnyPendingRepaintsNow() () from /home/kjetil/.vst/tunefish4.so
#18 0x00007fffc737a1e4 in juce::Timer::TimerThread::CallTimersMessage::messageCallback() () from /home/kjetil/.vst/tunefish4.so
#19 0x00007fffc7378a6e in juce::MessageManager::dispatchNextMessageOnSystemQueue(bool) () from /home/kjetil/.vst/tunefish4.so
#20 0x00007fffc7378daa in juce::MessageManager::runDispatchLoopUntil(int) () from /home/kjetil/.vst/tunefish4.so
#21 0x00007fffc752cb32 in SharedMessageThread::run() () from /home/kjetil/.vst/tunefish4.so
#22 0x00007fffc73315a8 in juce::Thread::threadEntryPoint() () from /home/kjetil/.vst/tunefish4.so
#23 0x00007fffc7331739 in threadEntryProc () from /home/kjetil/.vst/tunefish4.so
#24 0x0000003b49c07d14 in start_thread () from /lib64/libpthread.so.0
#25 0x0000003b494f168d in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7fffdb087700 (LWP 627)):
#0  0x0000003b494e8bdf in poll () from /lib64/libc.so.6
#1  0x00007ffff70cc589 in __interceptor_poll (fds=0x7fffdb086200, nfds=1, timeout=<optimized out>) at ../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:2765
#2  0x0000003b4c809f22 in _xcb_conn_wait (c=c@entry=0x62a00000c200, cond=cond@entry=0x7fffdb086270, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:414
#3  0x0000003b4c80b41e in wait_for_reply (c=c@entry=0x62a00000c200, request=1916, e=e@entry=0x7fffdb086328) at xcb_in.c:394
#4  0x0000003b4c80b62b in xcb_wait_for_reply (c=c@entry=0x62a00000c200, request=1916, e=e@entry=0x7fffdb086328) at xcb_in.c:424
#5  0x0000003b4d0432b9 in _XReply (dpy=dpy@entry=0x62100000dd00, rep=rep@entry=0x7fffdb086370, extra=extra@entry=0, discard=discard@entry=1) at xcb_io.c:601
#6  0x0000003b4d039179 in XQueryPointer (dpy=0x62100000dd00, w=659, root=0x7fffdb086428, child=0x7fffdb086420, root_x=0x7fffdb08641c, root_y=0x7fffdb086418, win_x=0x7fffdb086414, win_y=0x7fffdb086410,
    mask=0x7fffdb08640c) at QuPntr.c:48
#7  0x0000000002923976 in juce::MouseInputSource::getCurrentRawMousePosition () at ../../JuceLibraryCode/modules/juce_gui_basics/native/juce_linux_Windowing.cpp:3847
#8  0x000000000292b0da in juce::MouseInputSourceInternal::getScreenPosition (this=0x611002f12900) at ../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:96
#9  0x000000000289a180 in juce::MouseInputSource::getScreenPosition (this=0x7fffdb0864d0) at ../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:558
#10 0x000000000289b032 in juce::Desktop::getMousePositionFloat () at ../../JuceLibraryCode/modules/juce_gui_basics/components/juce_Desktop.cpp:157
#11 0x000000000289b44a in juce::Desktop::resetTimer (this=0x613000326700) at ../../JuceLibraryCode/modules/juce_gui_basics/components/juce_Desktop.cpp:205
#12 0x000000000289b480 in juce::Desktop::getMouseListeners (this=0x613000326700) at ../../JuceLibraryCode/modules/juce_gui_basics/components/juce_Desktop.cpp:210
#13 0x0000000002898650 in juce::Component::internalMouseMove (this=0x613000a2b780, source=..., relativePos=..., time=...) at ../../JuceLibraryCode/modules/juce_gui_basics/components/juce_Component.cpp:2569
#14 0x000000000292b3c9 in juce::MouseInputSourceInternal::sendMouseMove (this=0x611002f12900, comp=..., screenPos=..., time=...)
    at ../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:131
#15 0x000000000292c46c in juce::MouseInputSourceInternal::setScreenPos (this=0x611002f12900, newScreenPos=..., time=..., forceUpdate=false)
    at ../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:283
#16 0x000000000292c7d1 in juce::MouseInputSourceInternal::handleEvent (this=0x611002f12900, newPeer=..., positionWithinPeer=..., time=..., newMods=..., newPressure=0)
    at ../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:317
#17 0x000000000289a4c7 in juce::MouseInputSource::handleEvent (this=0x7fffdb0869b0, peer=..., pos=..., time=1472745273631, mods=..., pressure=0)
    at ../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:581
#18 0x0000000002916441 in juce::ComponentPeer::handleMouseEvent (this=0x613000a2bcc0, touchIndex=0, pos=..., newMods=..., newPressure=0, time=1472745273631)
    at ../../JuceLibraryCode/modules/juce_gui_basics/windows/juce_ComponentPeer.cpp:91
#19 0x000000000295caff in juce::LinuxComponentPeer::handleEnterNotifyEvent (this=0x613000a2bcc0, enterEvent=...) at ../../JuceLibraryCode/modules/juce_gui_basics/native/juce_linux_Windowing.cpp:2287
#20 0x000000000295bdef in juce::LinuxComponentPeer::handleWindowMessage (this=0x613000a2bcc0, event=...) at ../../JuceLibraryCode/modules/juce_gui_basics/native/juce_linux_Windowing.cpp:1996
#21 0x000000000295a413 in juce::LinuxComponentPeer::windowMessageReceive (event=...) at ../../JuceLibraryCode/modules/juce_gui_basics/native/juce_linux_Windowing.cpp:1541
#22 0x00000000027c3ec3 in juce::InternalMessageQueue::dispatchNextXEvent () at ../../JuceLibraryCode/modules/juce_events/native/juce_linux_Messaging.cpp:174
#23 0x00000000027c3a3b in juce::InternalMessageQueue::dispatchNextEvent (this=0x60700000a740) at ../../JuceLibraryCode/modules/juce_events/native/juce_linux_Messaging.cpp:93
#24 0x00000000027c16a9 in juce::MessageManager::dispatchNextMessageOnSystemQueue (returnIfNoPendingMessages=false) at ../../JuceLibraryCode/modules/juce_events/native/juce_linux_Messaging.cpp:390
#25 0x00000000027bda3a in juce::MessageManager::runDispatchLoop (this=0x60700000a7b0) at ../../JuceLibraryCode/modules/juce_events/messages/juce_MessageManager.cpp:130
#26 0x000000000263d90a in (anonymous namespace)::JuceThread::run (this=0x612000004840) at ../../../audio/Juce_plugins.cpp:531
---Type <return> to continue, or q <return> to quit---
#27 0x0000000002751a1e in juce::Thread::threadEntryPoint (this=0x612000004840) at ../../JuceLibraryCode/modules/juce_core/threads/juce_Thread.cpp:101
#28 0x0000000002751a89 in juce::juce_threadEntryPoint (userData=0x612000004840) at ../../JuceLibraryCode/modules/juce_core/threads/juce_Thread.cpp:113
#29 0x000000000276d284 in juce::threadEntryProc (userData=0x612000004840) at ../../JuceLibraryCode/modules/juce_core/native/juce_posix_SharedCode.h:852
#30 0x0000003b49c07d14 in start_thread () from /lib64/libpthread.so.0
#31 0x0000003b494f168d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ffff1366940 (LWP 605)):
#0  0x0000003b49c0b8c1 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000000276b4bc in juce::WaitableEvent::wait (this=0x611002737f10, timeOutMillisecs=20) at ../../JuceLibraryCode/modules/juce_core/native/juce_posix_SharedCode.h:97
#2  0x00000000027be018 in juce::MessageManagerLock::attemptLock (this=0x7fffffffbfe0, threadToCheck=0x0, job=0x0) at ../../JuceLibraryCode/modules/juce_events/messages/juce_MessageManager.cpp:327
#3  0x00000000027bde45 in juce::MessageManagerLock::MessageManagerLock (this=0x7fffffffbfe0, threadToCheck=0x0) at ../../JuceLibraryCode/modules/juce_events/messages/juce_MessageManager.cpp:284
#4  0x000000000263fde0 in get_preset_name (plugin=0x616001751d80, num=0) at ../../../audio/Juce_plugins.cpp:1223
#5  0x00000000006b7a81 in Plugin_widget::update_preset_widgets (this=0x6140001fc840) at Qt/Qt_plugin_widget_callbacks.h:436
#6  0x00000000006b3fc7 in Plugin_widget::calledRegularlyByParent (this=0x6140001fc840) at Qt/Qt_plugin_widget_callbacks.h:327
#7  0x00000000006fc738 in Audio_instrument_widget::calledRegularlyByParent (this=0x619000b6a380) at Qt/Qt_audio_instrument_widget_callbacks.h:473
marcoose777 commented 6 years ago

I have the same problem, GUI causes a SIGSEGV when you try to open the synth GUI in a host application. This happens with both Carla, and Renoise. I attached gdb and got: Thread 1 "Carla" received signal SIGSEGV, Segmentation fault. 0x00007f7e91fc317e in eAllocAligned (size=256, alignment=16) at ../../Source/runtime/runtime.cpp:80 80 ((eU64 *)alignedPtr)[-1] = (eU64)memPtr;

[-1] ... array index out of bounds perhaps? and a backtrace

`(gdb) bt

0 0x00007f7e91fc317e in eAllocAligned(unsigned int, unsigned int) (size=256, alignment=16) at ../../Source/runtime/runtime.cpp:80

1 0x00007f7e91f9e9d5 in eTfNoise::eTfNoise() (this=0x559583fe15c0)

at ../../Source/synth/tf4.hpp:519

2 0x00007f7e91f9ea86 in eTfVoice::eTfVoice(bool) (this=0x559583fe1498, allocFilters=true) at ../../Source/synth/tf4.hpp:543

3 0x00007f7e91f9ed09 in eTfInstrument::eTfInstrument() (this=0x559583fdd2d0)

at ../../Source/synth/tf4.hpp:596

4 0x00007f7e91f9bff7 in Tunefish4AudioProcessor::Tunefish4AudioProcessor() (this=0x559583f20f60) at ../../Source/PluginProcessor.cpp:63

5 0x00007f7e91f9e92f in createPluginFilter() ()

at ../../Source/PluginProcessor.cpp:592

6 0x00007f7e91c410d4 in createPluginFilterOfType(juce::AudioProcessor::WrapperType) (type=juce::AudioProcessor::wrapperType_VST)

at ../../JuceLibraryCode/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp:166

7 0x00007f7e91bf64f6 in (anonymous namespace)::pluginEntryPoint(VstHostCallback) (audioMaster=0x7f7ea7d6cc30)

at ../../JuceLibraryCode/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:2106

8 0x00007f7e91bf65bf in VSTPluginMain(VstHostCallback) (audioMaster=0x7f7ea7d6cc30)

at ../../JuceLibraryCode/modules/juce_audio_plugin_client/VST/juce_VST_Wrapp---Type <return> to continue, or q <return> to quit---

er.cpp:2155

9 0x00007f7ea7d676f4 in () at /usr/lib/carla/libcarla_standalone.so

10 0x00007f7ea7d63689 in () at /usr/lib/carla/libcarla_standalone.so

11 0x00007f7ea7cc33ed in () at /usr/lib/carla/libcarla_standalone.so

12 0x00007f7ea7cafe03 in carla_add_plugin ()

at /usr/lib/carla/libcarla_standalone.so

13 0x00007f7eb9bfe1c8 in ffi_call_unix64 () at /usr/lib/libffi.so.6

14 0x00007f7eb9bfdc2a in ffi_call () at /usr/lib/libffi.so.6

15 0x00007f7eb7c20e2b in _ctypes_callproc ()

at /usr/lib/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so

16 0x00007f7eb7c21834 in ()

at /usr/lib/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so

17 0x00007f7ebf786bf4 in _PyObject_FastCallDict ()

at /usr/lib/libpython3.6m.so.1.0

18 0x00007f7ebf7c395d in () at /usr/lib/libpython3.6m.so.1.0

19 0x00007f7ebf7612ea in _PyEval_EvalFrameDefault ()

at /usr/lib/libpython3.6m.so.1.0

20 0x00007f7ebf7c334a in () at /usr/lib/libpython3.6m.so.1.0

21 0x00007f7ebf7c38ee in () at /usr/lib/libpython3.6m.so.1.0

22 0x00007f7ebf7612ea in _PyEval_EvalFrameDefault ()

at /usr/lib/libpython3.6m.so.1.0

23 0x00007f7ebf7c334a in () at /usr/lib/libpython3.6m.so.1.0

24 0x00007f7ebf7c38ee in () at /usr/lib/libpython3.6m.so.1.0

---Type to continue, or q to quit---

25 0x00007f7ebf7612ea in _PyEval_EvalFrameDefault ()

at /usr/lib/libpython3.6m.so.1.0

26 0x00007f7ebf7c2dba in _PyFunction_FastCallDict ()

at /usr/lib/libpython3.6m.so.1.0

27 0x00007f7ebf786dce in _PyObject_FastCallDict ()

at /usr/lib/libpython3.6m.so.1.0

28 0x00007f7ebf7879d1 in _PyObject_Call_Prepend ()

at /usr/lib/libpython3.6m.so.1.0

29 0x00007f7ebf787abb in PyObject_Call () at /usr/lib/libpython3.6m.so.1.0

30 0x00007f7ebe50b31d in ()

at /usr/lib/python3.6/site-packages/PyQt4/QtCore.so

31 0x00007f7ebe50fdef in ()

at /usr/lib/python3.6/site-packages/PyQt4/QtCore.so

32 0x00007f7ebe50d21f in ()

at /usr/lib/python3.6/site-packages/PyQt4/QtCore.so

33 0x00007f7ebe50d472 in ()

at /usr/lib/python3.6/site-packages/PyQt4/QtCore.so

34 0x00007f7ebe00c508 in QMetaObject::activate(QObject, QMetaObject const, int, void**) () at /usr/lib/libQtCore.so.4

35 0x00007f7ebb9c65e3 in QAction::triggered(bool) () at /usr/lib/libQtGui.so.4

36 0x00007f7ebb9c79fb in QAction::activate(QAction::ActionEvent) ()

at /usr/lib/libQtGui.so.4

37 0x00007f7ebbe2fed5 in () at /usr/lib/libQtGui.so.4

---Type to continue, or q to quit---

38 0x00007f7ebbe34a45 in () at /usr/lib/libQtGui.so.4

39 0x00007f7ebc8f630b in ()

at /usr/lib/python3.6/site-packages/PyQt4/QtGui.so

40 0x00007f7ebba24748 in QWidget::event(QEvent*) () at /usr/lib/libQtGui.so.4

41 0x00007f7ebbe3887c in QMenu::event(QEvent*) () at /usr/lib/libQtGui.so.4

42 0x00007f7ebc8f58fb in ()

at /usr/lib/python3.6/site-packages/PyQt4/QtGui.so

43 0x00007f7ebb9cc714 in QApplicationPrivate::notify_helper(QObject, QEvent) () at /usr/lib/libQtGui.so.4

44 0x00007f7ebb9d4712 in QApplication::notify(QObject, QEvent) ()

at /usr/lib/libQtGui.so.4

45 0x00007f7ebc73ed46 in ()

at /usr/lib/python3.6/site-packages/PyQt4/QtGui.so

46 0x00007f7ebdff7f7e in QCoreApplication::notifyInternal(QObject, QEvent) () at /usr/lib/libQtCore.so.4

47 0x00007f7ebb9d334d in QApplicationPrivate::sendMouseEvent(QWidget, QMouseEvent, QWidget, QWidget, QWidget**, QPointer&, bool) ()

at /usr/lib/libQtGui.so.4

48 0x00007f7ebba510ce in () at /usr/lib/libQtGui.so.4

49 0x00007f7ebba50079 in QApplication::x11ProcessEvent(_XEvent*) ()

at /usr/lib/libQtGui.so.4

50 0x00007f7ebba79380 in () at /usr/lib/libQtGui.so.4

51 0x00007f7ebd80aa57 in g_main_context_dispatch ()

---Type to continue, or q to quit--- at /usr/lib/libglib-2.0.so.0

52 0x00007f7ebd80ac88 in () at /usr/lib/libglib-2.0.so.0

53 0x00007f7ebd80ad1c in g_main_context_iteration ()

at /usr/lib/libglib-2.0.so.0

54 0x00007f7ebe029268 in QEventDispatcherGlib::processEvents(QFlags) () at /usr/lib/libQtCore.so.4

55 0x00007f7ebba79508 in () at /usr/lib/libQtGui.so.4

56 0x00007f7ebdff6484 in QEventLoop::processEvents(QFlags) () at /usr/lib/libQtCore.so.4

57 0x00007f7ebdff67ef in QEventLoop::exec(QFlags) () at /usr/lib/libQtCore.so.4

58 0x00007f7ebdffc480 in QCoreApplication::exec() ()

at /usr/lib/libQtCore.so.4

59 0x00007f7ebc73bb0b in ()

at /usr/lib/python3.6/site-packages/PyQt4/QtGui.so

60 0x00007f7ebf7c5974 in _PyCFunction_FastCallDict ()

at /usr/lib/libpython3.6m.so.1.0

61 0x00007f7ebf7c382a in () at /usr/lib/libpython3.6m.so.1.0

62 0x00007f7ebf7612ea in _PyEval_EvalFrameDefault ()

at /usr/lib/libpython3.6m.so.1.0

63 0x00007f7ebf7c3da7 in PyEval_EvalCodeEx () at /usr/lib/libpython3.6m.so.1.0

64 0x00007f7ebf760feb in PyEval_EvalCode () at /usr/lib/libpython3.6m.so.1.0

65 0x00007f7ebf832682 in () at /usr/lib/libpython3.6m.so.1.0

---Type to continue, or q to quit---

66 0x00007f7ebf834cdd in PyRun_FileExFlags () at /usr/lib/libpython3.6m.so.1.0

67 0x00007f7ebf834ec7 in PyRun_SimpleFileExFlags ()

at /usr/lib/libpython3.6m.so.1.0

68 0x00007f7ebf82ae3c in Py_Main () at /usr/lib/libpython3.6m.so.1.0

69 0x0000559580bd4cb8 in main ()

`

luzpaz commented 4 years ago

Is this still reproducible ?

renegrob commented 3 years ago

Is this still reproducible ?

Yes, on Ubuntu 20.04.1 LTS