QLC+ Segmentation Fault on Exit

Archive of the non-categorized posts related to the QLC+ technical support.
Please do not create new threads here, instead, use the categories above !
Post Reply
webdb22

QLC+ seems to work fine on Ubuntu 12.04.2 LTS, but core dumps on exit due to Segmentation Fault:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ qlcplus -d

Q Light Controller Plus version 4.3.3
This program is licensed under the terms of the GNU General Public License v2.
Copyright (c) Heikki Junnila (hjunnila@users.sf.net)
Copyright (c) Massimo Callegari (massimocallegari@yahoo.it)

IOPluginCache::IOPluginCache(QObject*)
bool QLCFixtureDefCache::load(const QDir&) "/home/sysadmin/.qlcplus/fixtures"
bool QLCFixtureDefCache::load(const QDir&) "/usr/share/qlcplus/fixtures"
void IOPluginCache::load(const QDir&) "/usr/lib/qt4/plugins/qlcplus"
Loaded I/O plugin "ArtNet" from "libartnet.so"
Loaded I/O plugin "DMX4Linux" from "libdmx4linux.so"
Loaded I/O plugin "DMX USB" from "libdmxusb.so"
Loaded I/O plugin "ENTTEC Wing" from "libenttecwing.so"
Loaded I/O plugin "HID" from "libhid.so"
Opened "/dev/input/js0" in read only mode
Loaded I/O plugin "MIDI" from "libmidiplugin.so"
virtual void MidiPlugin::init()
MidiEnumeratorPrivate::MidiEnumeratorPrivate(MidiEnumerator*)
void MidiEnumeratorPrivate::initAlsa()
ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: Permission denied
Unable to open ALSA interface!
MidiEnumerator::MidiEnumerator(QObject*)
void MidiEnumerator::rescan()
void MidiEnumeratorPrivate::rescan()
Loaded I/O plugin "OSC" from "libosc.so"
Loaded I/O plugin "Peperoni" from "libpeperoni.so"
Loaded I/O plugin "uDMX" from "libudmx.so"
SimpleDeskEngine::SimpleDeskEngine(Doc*)
SimpleDesk::SimpleDesk(QWidget*, Doc*)
void SimpleDesk::initEngine()
void SimpleDesk::initView()
void SimpleDesk::initUniverseSliders()
void SimpleDesk::initUniversePager()
void SimpleDesk::slotUniversePageChanged(int)
void SimpleDesk::initPlaybackSliders()
void SimpleDesk::initCueStack()
void SimpleDesk::slotSelectPlayback(uint)
CueStack* SimpleDeskEngine::createCueStack()
CueStack::CueStack(Doc*) 0x88ffce8
void CueStackModel::setCueStack(CueStack*) old: 0x0 new: 0x88ffce8
void SimpleDesk::updateCueStackButtons()
[InputOutputPatchEditor] Fill tree for universe: 0
[InputOutputPatchEditor] Fill tree for universe: 0
virtual SimpleDesk::~SimpleDesk()
virtual SimpleDeskEngine::~SimpleDeskEngine()
void SimpleDeskEngine::clearContents()
void CueStack::stop()
virtual CueStack::~CueStack() 0x88ffce8
virtual IOPluginCache::~IOPluginCache()
virtual MidiPlugin::~MidiPlugin()
virtual MidiEnumerator::~MidiEnumerator()
virtual MidiEnumeratorPrivate::~MidiEnumeratorPrivate()
void AlsaMidiInputThread::stop()
Segmentation fault (core dumped)
$
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Don't know if this is an issue, at least it's weird!
Massimo Callegari

ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: Permission denied
Unable to open ALSA interface!

That should ring a bell...
webdb22

Hmmm, maybe I didn't get it, QLC+ could not open the ALSA interface, fine (there is no sound card). But QLC+ shouldn't core dump on exit, should it?
Massimo Callegari

It shouldn't.

If you compile from sources try to replace this function in alsamidienumerator.cpp with the following code:

MidiEnumeratorPrivate::~MidiEnumeratorPrivate()
{
qDebug() stop();

while (m_outputDevices.isEmpty() == false)
delete m_outputDevices.takeFirst();

while (m_inputDevices.isEmpty() == false)
delete m_inputDevices.takeFirst();

delete m_inputThread;
m_inputThread = NULL;
}
}
webdb22

Thanks for the quick reply! Compiling from sources is unfortunately above my skills, I'd be happy if you would integrate this bugfix into the next version!

Please keep up your great work on QLC+! Thanks!
Post Reply