Menu

QLC+ Segmentation Fault on Exit

webdb22
2013-05-26
2013-05-27
  • webdb22

    webdb22 - 2013-05-26

    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

    webdb22 - 2013-05-27

    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() << Q_FUNC_INFO;

    if (m_inputThread != NULL)
    {
        m_inputThread->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

    webdb22 - 2013-05-27

    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!

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.