OpenLP will not start with QT4.8 with Impress enabled

Bug #902115 reported by Wesley Stout
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OpenLP
Fix Released
Critical
Tim Bentley

Bug Description

On Fedora 16 (GNOME) fresh install (from repos) when I attempt to open OpenLP for the first time. I make it to the language selection then Fedora gives me this: Process /usr/bin/python was killed by signal 6 (SIGABRT). That didn't really help me much so I ran in debug mode and have attached openlp.log also.

Related branches

Revision history for this message
Wesley Stout (wesleystout) wrote :
Revision history for this message
Raoul Snyman (raoul-snyman) wrote :

This is an issue in PyQt4 in Fedora, see https://bugzilla.redhat.com/show_bug.cgi?id=752101. There is nothing we can do but wait.

Revision history for this message
Wesley Stout (wesleystout) wrote :

Here is a work around: Delete ~/.config/OpenLP/OpenLP.conf Then when the first run wizard runs again disable Presentations. OpenLP then works. I know that loses all of the users config settings but at least it works. I am sure there is a way to edit the config file to not fire up the presentation plugin also.

Revision history for this message
Jonathan Corwin (j-corwin) wrote :

If the bug isn't fixed soon, is it worth considering disabling the presentations setting in the Fedora 16 package?

Revision history for this message
Wesley Stout (wesleystout) wrote :

For anyone that stumbles upon this, I found this to work, and much cleaner than deleting your config file. Open ~/.config/OpenLP/OpenLP.conf and you will have this:

[Presentation]
status=1

change it to

status=0

This will disable the plugin without having to delete your config.

Tim Bentley (trb143)
summary: - OpenLP will not start on Fedora 16 (GNOME)
+ OpenLP will not start on Fedora 16 with Impress enabled
Changed in openlp:
status: New → Confirmed
assignee: nobody → Tim Bentley (trb143)
Revision history for this message
Joe Mulloy (jdmulloy) wrote : Re: OpenLP will not start on Fedora 16 with Impress enabled

This crash also occurs on openSUSE Factory (12.2), so it would appear to be a bug in QT4 and/or py-qt4. It's likely to start hitting other distros as well.

I've managed to create a small python program that exhibits this crash. I've found that it doesn't matter what program is executed. My program uses xterm, but any program should cause a crash. This program segfaults on Fedora 16 and openSUSE Factory. It exits cleanly on openSUSE 12.1 which has older versions of QT4 and py-qt4.

Revision history for this message
Joe Mulloy (jdmulloy) wrote :

It's not python-qt4, it's QT4 itself. I've attached the code that proves it. It's pretty much a C++ version of the python program I posted earlier. It runs fine in openSUSE 12.1 and crashes in openSUSE 12.2 in the exact same way the python example and OpenLP crash.

To build it you'll need your distro's C++ and QT4 development packages.

Follow these steps to build

mkdir qprocess_c++_test
cd qprocess_c++_test
<Put the file in this directory>
qmake -project
qmake qprocess_c++_test.pro
make

Revision history for this message
Joe Mulloy (jdmulloy) wrote :

Filled bug against openSUSE 12.2 Factory which also has this bug.

https://bugzilla.novell.com/show_bug.cgi?id=748241

Revision history for this message
Tim Bentley (trb143) wrote :

Kevin Kofler <email address hidden> changed:

          What |Removed |Added
----------------------------------------------------------------------------
         Component|qt |OpenLP
        AssignedTo|<email address hidden> |<email address hidden>

--- Comment #14 from Kevin Kofler <email address hidden> 2012-02-24 14:37:55 EST ---
You cannot waitForStarted() on a process started with startDetached().

startDetached is a static method of QProcess, which starts a process in a
fire&forget way, it does not track any state inside a QProcess object (in fact,
it can be run without any). Thus, you're running waitForStarted on a
default-constructed process where nothing is actually being started in the
first place.

Tim Bentley (trb143)
Changed in openlp:
assignee: Tim Bentley (trb143) → nobody
importance: Undecided → Critical
milestone: none → 1.9.9
summary: - OpenLP will not start on Fedora 16 with Impress enabled
+ OpenLP will not start with QT4.8 with Impress enabled
Revision history for this message
Joe Mulloy (jdmulloy) wrote :

According to the RedHat bug report the problem is that OpenLP shouldn't be calling waitForStarted on this object. This should probably raise an exception instead of causing a buffer overflow, but the OpenLP code should still be corrected. Perhaps we should be using start instead of startDetached?

Tim Bentley (trb143)
Changed in openlp:
assignee: nobody → Tim Bentley (trb143)
Tim Bentley (trb143)
Changed in openlp:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.