Bug 891840

Summary: Thermost fails to boot with NoSuchMethodError
Product: [Fedora] Fedora Reporter: Severin Gehwolf <sgehwolf>
Component: thermostatAssignee: Severin Gehwolf <sgehwolf>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: jerboaa, jon.vanalten, omajid
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-18 20:22:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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.