Java Exception "upnp-async" after upgrade from 4.0.3 to 4.1.0

I tried to do an update from 4.0.3 to 4.1.

I’m running OH in a Unraid/Docker environment (stable for many years).
After upgrade to 4.1 I get the following output in the logs:

Exception in thread "upnp-async-11" java.lang.IllegalArgumentException: Invalid URI host: null (authority: :30080)
        at org.eclipse.jetty.client.HttpClient.checkHost(HttpClient.java:541)
        at org.eclipse.jetty.client.HttpClient.newHttpRequest(HttpClient.java:526)
        at org.eclipse.jetty.client.HttpClient.newRequest(HttpClient.java:484)
        at org.jupnp.transport.impl.jetty.JettyStreamClientImpl.createRequest(JettyStreamClientImpl.java:113)
        at org.jupnp.transport.impl.jetty.JettyStreamClientImpl.createRequest(JettyStreamClientImpl.java:1)
        at org.jupnp.transport.spi.AbstractStreamClient.sendRequest(AbstractStreamClient.java:87)
        at org.jupnp.transport.RouterImpl.send(RouterImpl.java:327)
        at org.jupnp.protocol.RetrieveRemoteDescriptors.describeService(RetrieveRemoteDescriptors.java:325)
        at org.jupnp.protocol.RetrieveRemoteDescriptors.describeServices(RetrieveRemoteDescriptors.java:263)
        at org.jupnp.protocol.RetrieveRemoteDescriptors.describe(RetrieveRemoteDescriptors.java:205)
        at org.jupnp.protocol.RetrieveRemoteDescriptors.describe(RetrieveRemoteDescriptors.java:184)
        at org.jupnp.protocol.RetrieveRemoteDescriptors.run(RetrieveRemoteDescriptors.java:104)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)

I have no idea where I can start my research for this issue :frowning:

Has anyone a hint for me what coud be the reason for this excemtion?

After rollback to 4.0.3, OH is working in the same environment stable.

It looks similar to this issue but it is supposed to be fixed:

1 Like

I think in your case the device communicates an empty host with port :30080 and not null. So probably an additional check (or catch) in the jupnp library needs to be added for it to be suppressed.

1 Like

If you didn’t get this exception on older openHAB versions, it may be due to the “UPnP Suggestion Finder” which can be disabled in the “Advanced” settings of “Add-on Management”:

I set up a new container.
And, after 20 rounds the OH runs. So, this message comes with the start of OH and after X rounds, it stops an OH is running.

I activate the debug log (log:set debug org.jupnp).
But I don’t see any message with the port 30080 …

I have created this issue to track it:

2 Likes

There’s now also a PR to fix it :slight_smile:

1 Like