ccherrett / oom

The Open Octave Project exists to provide professional level orchestral midi orchestration tools.
http://www.openoctave.org
GNU General Public License v2.0
82 stars 18 forks source link

loading a session w/ HighLife plugin causes OOM to segfault #116

Open danboid opened 12 years ago

danboid commented 12 years ago

Running the latest debug builds of OOM and DISTRHO (as of 19th May) under AV Linux 5.0.3, OOM crashes when I attempt to load a project that uses the HighLife plugin, in both its VST and LV2 versions and built with or without debug.

Here is a backtrace from trying to load a session which uses the latest debug-built Highlife VST plugin:

GNU gdb (GDB) 7.0.1-debian Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/local/bin/oomidi...done. (gdb) run Starting program: /usr/local/bin/oomidi [Thread debugging using libthread_db enabled] Denormal protection enabled. [New Thread 0xb512ab70 (LWP 2160)] lscp_client_create: cmd: connect: Connection refused [New Thread 0xb4128b70 (LWP 2162)] [New Thread 0xb4929b70 (LWP 2161)] Locale detected: Keyboard: en_GB, System: en_GB no translation matching system locale /</usr/local/share/oom-2012.1.beta1/locale> Looking up LADSPA plugins... LSThread::pingLinuxsampler: Description: LinuxSampler - modular, streaming capable sampler, Version: 1.0.0.svn15, Protocol Version: 1.5

Looking up LV2 plugins... Looking up VST plugins... JUCE v2.0.21 [New Thread 0xb2a8fb70 (LWP 2166)] [Thread 0xb2a8fb70 (LWP 2166) exited] Trying RTC timer... RtcTimer::setTimerFreq(): cannot set tick on /dev/rtc: Permission denied precise timer not available Trying ALSA timer... AlsaTimer::initTimer(): best available ALSA timer: system timer got timer = 68 [New Thread 0xb2a8fb70 (LWP 2171)] starting with default template LSClient::startClient: hostname: localhost, port: 8888 Initialized LSCP client connection [New Thread 0xb1cffb70 (LWP 2172)] JACK: buffersize changed 2048 Starting midiMonitor [New Thread 0xb0c7eb70 (LWP 2173)] [New Thread 0xb047db70 (LWP 2174)] [New Thread 0xafc7cb70 (LWP 2175)] OOMidi Command Server Listening on port: 8415 LinuxSampler::ERROR: Could not scan LADSPA effects: library path '/usr/local/lib/ladspa:/usr/lib/ladspa' doesn't exist Stoping midiMonitor [Thread 0xb0c7eb70 (LWP 2173) exited] [Thread 0xafc7cb70 (LWP 2175) exited] [Thread 0xb047db70 (LWP 2174) exited] Setting project path to /home/iatn/music-stuff [New Thread 0xb047db70 (LWP 2176)]

Program received signal SIGSEGV, Segmentation fault. 0xb5cc0486 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 (gdb) bt

0 0xb5cc0486 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6

1 0x00000001 in ?? ()

2 0xb2e3147b in CHighLife::plug_load_program (this=0xaf391008, index=0, pmi=0xbfffd56c) at ../source/Highlife/HighLifePlug.cpp:107

3 0xb2e2c598 in CHighLife::setStateInformation (this=0xaf391008, data=0xaf0cf018, sizeInBytes=786487) at ../source/Highlife/Highlife.cpp:379

4 0xb2e49914 in JuceVSTWrapper::setChunk (this=0x9b96040, data=0xaf0cf018, byteSize=786487, onlyRestoreCurrentProgramData=false)

at ../../../libs/juce-2.0/source/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:959

5 0xb2e45dae in AudioEffect::dispatcher (this=0x9b96040, opcode=24, index=0, value=786487, ptr=0xaf0cf018, opt=0)

at ../../../sdks/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:190

6 0xb2e44207 in AudioEffectX::dispatcher (this=0x9b96040, opcode=24, index=0, value=786487, ptr=0xaf0cf018, opt=0)

at ../../../sdks/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.cpp:297

7 0xb2e4a0ff in JuceVSTWrapper::dispatcher (this=0x9b96040, opCode=24, index=0, value=786487, ptr=0xaf0cf018, opt=0)

at ../../../libs/juce-2.0/source/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:1169

8 0xb2e4578a in AudioEffect::dispatchEffectClass (e=0x9b96060, opCode=24, index=0, value=786487, ptr=0xaf0cf018, opt=0)

at ../../../sdks/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:32

9 0x08255aa3 in VstPlugin::readConfiguration (this=0x9b87330, xml=..., readPreset=false) at /home/iatn/src/oom/oom/plugin_vst.cpp:1080

10 0x0823e0e8 in SynthPluginDevice::read (this=0x9b34748, xml=...) at /home/iatn/src/oom/oom/plugin.cpp:627

11 0x081ecc26 in readConfigMidiPort (xml=...) at /home/iatn/src/oom/oom/conf.cpp:375

12 0x081ed8d3 in readSeqConfiguration (xml=...) at /home/iatn/src/oom/oom/conf.cpp:578

13 0x081edde1 in readConfiguration (xml=..., readOnlySequencer=false) at /home/iatn/src/oom/oom/conf.cpp:711

14 0x08281e57 in OOMidi::read (this=0x9415df0, xml=..., skipConfig=false) at /home/iatn/src/oom/oom/songfile.cpp:879

15 0x081c543a in OOMidi::loadProjectFile1 (this=0x9415df0, name=..., songTemplate=false, loadAll=true) at /home/iatn/src/oom/oom/app.cpp:1816

16 0x081c4657 in OOMidi::loadProjectFile (this=0x9415df0, name=..., songTemplate=false, loadAll=true) at /home/iatn/src/oom/oom/app.cpp:1656

17 0x081cb560 in OOMidi::selectProject (this=0x9415df0, act=0x98794b0) at /home/iatn/src/oom/oom/app.cpp:3166

18 0x082c7012 in OOMidi::qt_metacall (this=0x9415df0, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbfffe1e8)

at /home/iatn/src/oom/build/oom/moc_app.cxx:327

19 0xb60465dd in QMetaObject::metacall(QObject, QMetaObject::Call, int, void*) () from /usr/lib/libQtCore.so.4

20 0xb6055320 in QMetaObject::activate(QObject, QMetaObject const, int, void**) () from /usr/lib/libQtCore.so.4

21 0xb68fe385 in QMenu::triggered(QAction*) () from /usr/lib/libQtGui.so.4

22 0xb68ff48d in ?? () from /usr/lib/libQtGui.so.4

23 0xb69032d3 in QMenu::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtGui.so.4

24 0xb60465dd in QMetaObject::metacall(QObject, QMetaObject::Call, int, void*) () from /usr/lib/libQtCore.so.4

25 0xb6055320 in QMetaObject::activate(QObject, QMetaObject const, int, void**) () from /usr/lib/libQtCore.so.4

26 0xb645953d in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4

27 0xb64597db in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4

28 0xb68fe643 in ?? () from /usr/lib/libQtGui.so.4

29 0xb6904e3f in ?? () from /usr/lib/libQtGui.so.4

30 0xb6907ae5 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4

31 0xb64bac7f in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4

32 0xb690656c in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4

33 0xb64607a4 in QApplicationPrivate::notifyhelper(QObject, QEvent_) () from /usr/lib/libQtGui.so.4

34 0xb64665bb in QApplication::notify(QObject, QEvent) () from /usr/lib/libQtGui.so.4

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

35 0x081b6600 in OOMidiApplication::notify (this=0xbffff380, receiver=0x9669990, event=0xbfffebd8) at /home/iatn/src/oom/oom/main.cpp:148

36 0xb604022e in QCoreApplication::notifyInternal(QObject, QEvent) () from /usr/lib/libQtCore.so.4

37 0xb6461760 in QApplicationPrivate::sendMouseEvent(QWidget, QMouseEvent, QWidget, QWidget, QWidget**, QPointer&, bool) ()

from /usr/lib/libQtGui.so.4

38 0xb64eb95d in ?? () from /usr/lib/libQtGui.so.4

39 0xb64ea1e7 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4

40 0xb6515b0c in ?? () from /usr/lib/libQtGui.so.4

41 0xb7584252 in g_main_context_dispatch () from /lib/libglib-2.0.so.0

42 0xb7584a30 in ?? () from /lib/libglib-2.0.so.0

43 0xb7584ce4 in g_main_context_iteration () from /lib/libglib-2.0.so.0

44 0xb606e477 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQtCore.so.4

45 0xb651572a in ?? () from /usr/lib/libQtGui.so.4

46 0xb603f24d in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQtCore.so.4

47 0xb603f491 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQtCore.so.4

48 0xb6043bea in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4

49 0xb645e624 in QApplication::exec() () from /usr/lib/libQtGui.so.4

50 0x081b59b8 in main (argc=1, argv=0xbffff554) at /home/iatn/src/oom/oom/main.cpp:570

danboid commented 12 years ago

In fact, loading a session that uses HL LV2 doesn't crash OOM - the plugin just doesn't produce any sound as if its failed to load its chunk data or something properly and OOM gives an error like:

Application asked to unregister timer 0x1c000029 which is not registered in this thread. Fix application.