Bug 891840 - Thermost fails to boot with NoSuchMethodError
Summary: Thermost fails to boot with NoSuchMethodError
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: thermostat
Version: 18
Hardware: Unspecified
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Severin Gehwolf
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-01-04 07:11 UTC by Severin Gehwolf
Modified: 2013-01-18 20:22 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-01-18 20:22:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Severin Gehwolf 2013-01-04 07:11:05 UTC
Description of problem:
Installing thermostat on F18 and an attempt to run it results in a stack-trace and thermostat fails to boot.

Version-Release number of selected component (if applicable):
$ rpm -q thermostat
thermostat-0.4.0-3.fc18.i686


How reproducible:
Always.

Steps to Reproduce:
1. Install thermostat in a clean F18 Beta VM (with all updates installed and updates-testing turned off)
2. Run thermostat
  
Actual results:
$ thermostat
Exception in thread "main" java.lang.NoSuchMethodError: org.osgi.framework.BundleEvent.<init>(ILorg/osgi/framework/Bundle;Lorg/osgi/framework/Bundle;)V
	at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4249)
	at org.apache.felix.framework.Felix.installBundle(Felix.java:2881)
	at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)
	at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:138)
	at com.redhat.thermostat.bundles.impl.BundleLoader.installAndStartBundles(BundleLoader.java:68)
	at com.redhat.thermostat.bundles.OSGiRegistry.preLoadBundles(OSGiRegistry.java:61)
	at com.redhat.thermostat.main.impl.FrameworkProvider.loadBootstrapBundles(FrameworkProvider.java:220)
	at com.redhat.thermostat.main.impl.FrameworkProvider.startFramework(FrameworkProvider.java:90)
	at com.redhat.thermostat.main.Thermostat.main(Thermostat.java:106)

Expected results:
output of thermostat help.

Comment 1 Severin Gehwolf 2013-01-07 14:03:25 UTC
So far, I was only able to reproduce this on a 32 bit system.

Comment 2 Severin Gehwolf 2013-01-07 17:13:04 UTC
As it turns out it's also reproducible on x86_86. The reason why this was happening was that org.osgi.core.jar *and* org.apache.felix.framework.jar were symlinked in /usr/share/thermostat/libs. Since both libs provide org.osgi.framework.* classes this weird error surfaced. The fix is to only symlink felix.framework.

Comment 3 Fedora Update System 2013-01-08 10:25:00 UTC
thermostat-0.4.0-10.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/thermostat-0.4.0-10.fc18

Comment 4 Fedora Update System 2013-01-08 20:17:10 UTC
Package thermostat-0.4.0-10.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing thermostat-0.4.0-10.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-0420/thermostat-0.4.0-10.fc18
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2013-01-18 20:22:42 UTC
thermostat-0.4.0-10.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.