Skip to content
This repository has been archived by the owner on May 7, 2020. It is now read-only.

[Tradfri] Illegal status transition from REMOVING to OFFLINE, only REMOVED would have been allowed. #4384

Closed
cweitkamp opened this issue Oct 6, 2017 · 3 comments

Comments

@cweitkamp
Copy link
Contributor

I got the following exception after removing one of my remote controllers from my setup. The device itself got broken while updating its firmware.

The stack trace shows some changes which will be introduced in my ongoing PR #4373 but the issue in general is not related to my changes. I want to ask you and discuss how to handle this error in the right way.

2017-10-06 20:58:41.942 [ERROR] [alifornium.core.network.CoapEndpoint] - Exception in protocol stage thread: Illegal status transition from REMOVING to OFFLINE, only REMOVED would have been allowed.
java.lang.IllegalArgumentException: Illegal status transition from REMOVING to OFFLINE, only REMOVED would have been allowed.
	at org.eclipse.smarthome.core.thing.internal.ThingManager$1.statusUpdated(ThingManager.java:155) [106:org.eclipse.smarthome.core.thing:0.9.0.201709260841]
	at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.updateStatus(BaseThingHandler.java:384) [106:org.eclipse.smarthome.core.thing:0.9.0.201709260841]
	at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.updateStatus(BaseThingHandler.java:401) [106:org.eclipse.smarthome.core.thing:0.9.0.201709260841]
	at org.eclipse.smarthome.binding.tradfri.handler.TradfriThingHandler.setStatus(TradfriThingHandler.java:84) [223:org.eclipse.smarthome.binding.tradfri:0.9.0.201710052024]
	at org.eclipse.smarthome.binding.tradfri.internal.TradfriCoapHandler.onLoad(TradfriCoapHandler.java:73) [223:org.eclipse.smarthome.binding.tradfri:0.9.0.201710052024]
	at org.eclipse.californium.core.CoapClient$ObserveMessageObserverImpl.deliver(CoapClient.java:1044) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.CoapClient$MessageObserverImpl.succeeded(CoapClient.java:970) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.CoapClient$MessageObserverImpl.onResponse(CoapClient.java:949) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.coap.Request.setResponse(Request.java:415) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.EndpointManager$ClientMessageDeliverer.deliverResponse(EndpointManager.java:249) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.CoapStack$StackTopAdapter.receiveResponse(CoapStack.java:193) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.ObserveLayer.receiveResponse(ObserveLayer.java:138) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.BlockwiseLayer.receiveResponse(BlockwiseLayer.java:318) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.ReliabilityLayer.receiveResponse(ReliabilityLayer.java:263) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.stack.CoapStack.receiveResponse(CoapStack.java:135) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl.receiveMessage(CoapEndpoint.java:630) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl.access$700(CoapEndpoint.java:536) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl$1.run(CoapEndpoint.java:548) [219:californium-osgi:1.0.5]
	at org.eclipse.californium.core.network.CoapEndpoint$5.run(CoapEndpoint.java:695) [219:californium-osgi:1.0.5]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
	at java.lang.Thread.run(Thread.java:745) [?:?]
@J-N-K
Copy link
Contributor

J-N-K commented Oct 6, 2017

See #942 and #4182

@maggu2810
Copy link
Contributor

So, I assume this can be closed as duplicate. Correct?

@cweitkamp
Copy link
Contributor Author

cweitkamp commented Oct 12, 2017

Yes, it's clarified and duplicate. Thank you.

MEMO for myself: Use the search function next time!!! ;-)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants