Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lmms hangs when loading a song with zynaddsubfx over an already opened song #2035

Closed
ycollet opened this issue May 4, 2015 · 3 comments
Closed

Comments

@ycollet
Copy link
Contributor

ycollet commented May 4, 2015

I use lmms from git repo on fedora 21 64 bits.
I opened https://lmms.io/lsp/?action=show&file=4274 (a song with a zynaddsubfx song).
I played it and then, I play this song: https://lmms.io/lsp/?action=show&file=819
lmms hangs while loading.
Here is the gdb trace:
(gdb) where

#0  0x0000000000000000 in  ()
#1  0x00007ffff693b993 in QObject::~QObject() () at /lib64/libQtCore.so.4
#2  0x00007fffca272b29 in NulEngine::~NulEngine() (this=0xba3bf50, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /home/collette/repositories/lmms/plugins/zynaddsubfx/zynaddsubfx/src/Nio/NulEngine.cpp:76
#3  0x00007fffca224737 in LocalZynAddSubFx::~LocalZynAddSubFx() (this=0xba3bd80, __in_chrg=<optimized out>)
    at /home/collette/repositories/lmms/plugins/zynaddsubfx/LocalZynAddSubFx.cpp:92
#4  0x00007fffc9fec93a in ZynAddSubFxInstrument::~ZynAddSubFxInstrument() (this=0x7fffea735f60, __in_chrg=<optimized out>)
    at /home/collette/repositories/lmms/plugins/zynaddsubfx/ZynAddSubFx.cpp:150
#5  0x00007fffc9fecae9 in ZynAddSubFxInstrument::~ZynAddSubFxInstrument() (this=0x7fffea735f60, __in_chrg=<optimized out>)
    at /home/collette/repositories/lmms/plugins/zynaddsubfx/ZynAddSubFx.cpp:155
#6  0x000000000058400d in InstrumentTrack::~InstrumentTrack() (this=0x7fffea733b20, __in_chrg=<optimized out>)
    at /home/collette/repositories/lmms/src/tracks/InstrumentTrack.cpp:161
#7  0x00000000005841a9 in InstrumentTrack::~InstrumentTrack() (this=0x7fffea733b20, __in_chrg=<optimized out>)
    at /home/collette/repositories/lmms/src/tracks/InstrumentTrack.cpp:162
#8  0x000000000053cf42 in TrackContainerView::clearAllTracks() (this=0xeefee0) at /home/collette/repositories/lmms/src/gui/TrackContainerView.cpp:333
#9  0x00000000004eb07c in Song::clearProject() (this=this@entry=0xa9c5b0) at /home/collette/repositories/lmms/src/core/Song.cpp:771
#10 0x00000000004ec38b in Song::loadProject(QString const&) (this=0xa9c5b0, fileName=...) at /home/collette/repositories/lmms/src/core/Song.cpp:934
#11 0x000000000052a7c5 in MainWindow::openRecentlyOpenedProject(QAction*) (this=0xc62420, _action=<optimized out>)
    at /home/collette/repositories/lmms/src/gui/MainWindow.cpp:829
#12 0x00007ffff6936cdc in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#13 0x00007ffff74e6ed2 in QMenu::triggered(QAction*) () at /lib64/libQtGui.so.4
#14 0x00007ffff74e8430 in QMenuPrivate::_q_actionTriggered() () at /lib64/libQtGui.so.4
#15 0x00007ffff6936cdc in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#16 0x00007ffff7092792 in QAction::triggered(bool) () at /lib64/libQtGui.so.4
#17 0x00007ffff7094317 in QAction::activate(QAction::ActionEvent) () at /lib64/libQtGui.so.4
#18 0x00007ffff74e71dd in QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () at /lib64/libQtGui.so.4
#19 0x00007ffff74ebb99 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () at /lib64/libQtGui.so.4
#20 0x00007ffff70ec118 in QWidget::event(QEvent*) () at /lib64/libQtGui.so.4
#21 0x00007ffff74efb7b in QMenu::event(QEvent*) () at /lib64/libQtGui.so.4
#22 0x00007ffff7098efc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#23 0x00007ffff709fabf in QApplication::notify(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#24 0x00007ffff692216d in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQtCore.so.4
#25 0x00007ffff709f11f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
    at /lib64/libQtGui.so.4
#26 0x00007ffff71158fa in QETWidget::translateMouseEvent(_XEvent const*) () at /lib64/libQtGui.so.4
#27 0x00007ffff7113f5c in QApplication::x11ProcessEvent(_XEvent*) () at /lib64/libQtGui.so.4
#28 0x00007ffff713bff4 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQtGui.so.4
#29 0x00007ffff3e3f7fb in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#30 0x00007ffff3e3fb98 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#31 0x00007ffff3e3fc4c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#32 0x00007ffff695149e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#33 0x00007ffff713c176 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtGui.so.4
#34 0x00007ffff6920cc1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#35 0x00007ffff6921025 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#36 0x00007ffff6926709 in QCoreApplication::exec() () at /lib64/libQtCore.so.4
#37 0x0000000000485670 in main(int, char**) (argc=1, argv=0x7fffffffdd48) at /home/collette/repositories/lmms/src/core/main.cpp:542

A "temporary" workaround:

diff --git a/plugins/zynaddsubfx/LocalZynAddSubFx.cpp b/plugins/zynaddsubfx/LocalZynAddSubFx.cpp
index 7bb7e76..33ced6d 100644
--- a/plugins/zynaddsubfx/LocalZynAddSubFx.cpp
+++ b/plugins/zynaddsubfx/LocalZynAddSubFx.cpp
@@ -89,7 +89,7 @@ LocalZynAddSubFx::LocalZynAddSubFx() :
 LocalZynAddSubFx::~LocalZynAddSubFx()
 {
        delete m_master;
-       delete m_ioEngine;
+       //if (m_ioEngine) delete m_ioEngine;

        if( --s_instanceCount == 0 )
        {
@tresf
Copy link
Member

tresf commented May 4, 2015

Thanks for the bug report.

Reminder, using ``` around stack traces will prevent #auto-linking a bunch of old bug reports, edited. :)

image

@ycollet
Copy link
Contributor Author

ycollet commented May 4, 2015

OK, thanks for the comment and the edit.

@zonkmachine
Copy link
Member

This would have been fixed in #2118
Closing. Please reopen if you see this on current master!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants