Video in sitemap breaks UI

Hi - I don’t suppose you’ve checked if it works using the iphone app?

Sorry, no apples here :slight_smile:

But tested it with habdroid (android app), works fine

Confirmed working, I guess just need to find out what’s going on w/ the apt-get builds.

Thanks for getting this fixed Kai, appreciate it. And now for me to plan my move to 2.x… scary!

1 Like

There seems to be an issue with this. After viewing any part of the sitemap that displays a video(MJPEG) the GUI becomes basically unresponsive, the log file goes nuts(if set to DEBUG) until the GUI is closed.

The logs are filled with these that don’t stop even when the specific view on the sitemap is changed back to the main screen.

09:28:54.943 [DEBUG] [httpclient.wire.content             ] - << "[0x91][0x8c][0xf7][0xe6][0x94]c[0xe6][0xcf][0xa7][0x14][0x0][0xda]^[0xc7][0xd6][0x81][0xc5][0x14][0x0][0xb9][0xc0][0xa6][0xd2][0xe3][0x8a]([0x0][0xe3][0x1e][0xf4]~[0x94]b[0x82J[0x0])([0xa5][0x1e][0xfd]([0x1])A [0x82]:[0x8a]([0xc9][0xc6]([0x2][0xcc]W[0x93][0x1][0xb3][0xcc] g9[0xeb][0xcd]k[0xdd][0xde][0xcfm[\r][0x9b]2Hq[0xb8][0xc8][0xe]Il[0xf7][0xae]z[0xa7][0xb7][0xb8]0[0xbc]l[0xaa][0xb9]C[0x9e][0x95][0x94][0xe9][0xa7][0xaa][0x15][0x8e][0xed].[0xec]5[0xf][0xf][0xc9]o[0xab]\G[0x1e][0xa8][0x8e]J6[0xd2]W[0x91][0x8d][0xcc]GL[0x1][[0x9e] [0xd5][[0xc3][0x1a][0x96][0x8a]4[0xbb]umWO[0xb7][0x93][0x12]2[0x99][0x11][0xc4][0x8a][0x7][0x99][0xc6];n[0xc1][0xf4]#[0xd3][0x9e][0x6][0x1d]o[0xed]H[0xd6][0xd7][0xa9][0x10][0xb7]n[0x81]S[0x18]?Z[0xd6][0xb1][0xf1]M[0xe6][0x8b]o}oh[0xe3][0xcb]kq[0x14]38[0xdc][0xf1][0x8e]x\[0xf4][0x7][0x91][0xf8][0xd7][0x13][0xc3][0xc9]I~]H[0xcd][0xc4][0xd5][0xd3]mt[0xab][0xbf][0xf][0xc9]{=[0xbc][0x88]e[0xb8][0xb7][0xb6][0xb9]E|7[\r][0xcb])[0xc7][0x1b][0x86]y[0xc7][0xff][0x0]_[\[0xd5][0xf4][0xdb])[0xa3][0xb1][0xd2]t([0xf4][0xc8][0xcc][0x9e]][0x9e][0xad][0x2][0xb4]W[0x0][0xf0][0x1f]q[0xea][0xe0][0xa9]#[0x4][0x9f][0xbd][0x9a][0xc7]KU[0xd4]5[0x97]kr[0xd6][0xd6][0xa5]aw[0xe3][0xfd]f[0x0],}[0xbb]~u[0xaf][0xac][0xff][0x0]gO[0xaa][0xeb][0x8b]s=[0xcd][0xcd][0x9e][0x94][0x14][0xc0][0xc8][0xc5]J[0xe7][0x19]][0xbf]R[0xc0][0xfb][0x8f]j[0xe6]r[0xb4][0xfa][0xf5][0xfd][0x11]%[0x81]e[0xe0]X[0xf4][0xb9][0xa1]}SW[0xfb]n[0x9d][0x1b]I%[0xd5][0xab][0x14]{[0xa0][0xe7][0x5]UIa[0xd4][0x81][0xc6][0x7]rz[0x9a][0xa1]o[0xa5]i[0x12]j[0x16]W[0xbe][0x1d]7mbQ|[0xe4][0xba][0xc1]ul[0xf0][0xc4][0x82]x[0xe0][0xd5]-7K[0x83]M[0xba][0xbc][0x86]-[0xff][0x0]ed[0x12]M[0xb8][0xe7][0xf7]f[0xb1]t[0x97][0x93]M[0x92][0xf4][0xcd]#[0xc1]o4[0x4]*[0x83][0xc9][0x1d][0x89][0xa2]0[0xbd][0xd2][0x93]~[0xbf][0xf0][0xc3]6N[0xbf][0xac][0xc9][0xe2][0x80][0xb2][0xeb][0xe][0x82][0x19][0x19]#2[0x11][0xb5]S[0xfb][0xbf]J[0xd1][0x9e][;[0xdd]qb[0xfb]d[\r]$[0x91][0x80][0xb]?[0xca][0xb8][0xcf][0xaf]N[0xb5][0xc2]i[0xfa]=[0xd5][0xdd][0xd5][0xa4][0xb7]E[0x97]O[0xb8][0x90][0x6][0x9f]#[0x85][0xcf]'[0xd8][0xd4][0xbe]'[0xf0][0xdc][0x9a]U[0xec][0x8d]b[0xc6][0xf7]K-[0x98][0xae][0x10]v[0xf4]>[0x84]c[0xf9]z[0xd7]S[0xc3]SrI[0xca][0xce][0xc5]X[0xe9]Rk[0xf4][0xfb]5[0x9d][0xbe][0xa5]dF[0x9e]$[0xb8][0x88][0xc8][0xea]Sqn[0x8a]O[0x1e][0xd8][0xe3][0xbd]q[0xba][0xec]^U[0xe4][0x97]-!y[0xa6]vv[0x7][0xd4][0x9c][0xe6][0xb3]v[0xe4][0xfd][0xc2][0x5]$[0xd8][0xda]0zW]<7[0xb3]wL[0x10][0x9]7py[0xcd]nhvz[0xad][0xd6][0x93][0xaa]O,[0x16][0xf6][\n]"

Only way to get the GUI back to a usable state is to close the page, reload(F5) does nothing. This is on the latest (as of last night) openhab2-offline, as online was broken last night because repo.eclipse.org was not available.

Waited long enough after changing the URL from the classicui to the base :8080 page, and this is the last thing :

Exception in thread "pool-42-thread-1" java.lang.OutOfMemoryError: Java heap space
Exception in thread "HTTP Refresh Service" java.lang.OutOfMemoryError: Java heap space
SLF4J: Failed toString() invocation on an object of type [org.eclipse.jetty.server.HttpConnection]
java.lang.OutOfMemoryError: Java heap space
        at java.util.regex.Matcher.<init>(Matcher.java:226)
        at java.util.regex.Pattern.matcher(Pattern.java:1093)
        at java.util.Formatter.parse(Formatter.java:2547)
        at java.util.Formatter.format(Formatter.java:2501)
        at java.util.Formatter.format(Formatter.java:2455)
        at java.lang.String.format(String.java:2940)
        at org.eclipse.jetty.io.SelectChannelEndPoint.toString(SelectChannelEndPoint.java:200)
        at java.util.Formatter$FormatSpecifier.printString(Formatter.java:2886)
        at java.util.Formatter$FormatSpecifier.print(Formatter.java:2763)
        at java.util.Formatter.format(Formatter.java:2520)
        at java.util.Formatter.format(Formatter.java:2455)
        at java.lang.String.format(String.java:2940)
        at org.eclipse.jetty.io.AbstractConnection.toString(AbstractConnection.java:261)
        at org.eclipse.jetty.server.HttpConnection.toString(HttpConnection.java:494)
        at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:297)
        at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:269)
        at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:227)
        at org.eclipse.jetty.util.log.JettyAwareLogger.log(JettyAwareLogger.java:619)
        at org.eclipse.jetty.util.log.JettyAwareLogger.debug(JettyAwareLogger.java:206)
        at org.eclipse.jetty.util.log.Slf4jLog.debug(Slf4jLog.java:89)
        at org.eclipse.jetty.io.AbstractConnection.next(AbstractConnection.java:275)
        at org.eclipse.jetty.io.AbstractConnection.fillInterested(AbstractConnection.java:133)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:285)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:745)

Then it displays the start index and the log entries and things go away, until you try to view a camera again.

Last update on this, it seems to run until it runs out of memory, things get progressively slower until it just flat out fails. I’m streaming one of 12 streams from my zoneminder install, so they are all the same. It will finally crash the whole instance with this :

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "fileinstall-/home/bhomeyer/openhab2/addons"

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Scheduler-718329267"
Exception in thread "Karaf Lock Monitor Thread" java.lang.OutOfMemoryError: Java heap space
Exception in thread "HTTP Refresh Service" java.lang.OutOfMemoryError: Java heap space
Exception in thread "Active Thread: Equinox Container: 20edab46-3c5e-0016-1e7d-f8b0cc984c31" java.lang.OutOfMemoryError: Java heap space
Exception in thread "pool-52-thread-1" java.lang.OutOfMemoryError: Java heap space

Doesn’t sound good. Please enter an issue at https://github.com/kaikreuzer/openhab-core/issues to make sure that it is not forgotten. Thanks!

So, reading this thread, I understand Video label should be operational in OH2 now?

For me it is not. I have a new Hikvision that works fine outside oh2, but I can only get a picture within OH2 using Webview, but that introduces the same problem that @blacklightning are seeing - a very small picture that has to be scrolled.

As soon as I enter “Video” into the line, the camera output is gone. I have tried both classic and basic.

Frame label=“Kameror” {
Video label “test” url=“http://admin:1234567a@uth_entre/Streaming/channels/102/httppreview” encoding=“mjpeg”
}

At one time I got basic UI to show the stream, and then it “just worked” until I hit reload. Since then I have not been able to get it back.

I have verified that this stream is mjpeg in vlc, and if I paste the line in a browswer, I will also get the stream output.

I initially started with Rotini, and thought it was the problem, but now I see that also basic/blassic UI does not work, which is why I found this thread.

Edit:
If I, in Mozilla/basic UI, right click in the area where the stream should show, and select “Show Picture”, I get a new page;

HTTP ERROR 500

Problem accessing /proxy. Reason:

    Server Error

Caused by:

org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=37, size=6
	at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:346)
	at org.eclipse.smarthome.ui.internal.items.ItemUIRegistryImpl.getWidget(ItemUIRegistryImpl.java:489)
	at org.eclipse.smarthome.ui.internal.proxy.ProxyServlet.doGet(ProxyServlet.java:157)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:271)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
	at org.eclipse.jetty.server.Server.handle(Server.java:499)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
	at java.lang.Thread.run(Thread.java:745)

Edit2:
When I have mozilla open, the logs in oh is filled with a similar message.

09:44:20.572 [WARN ] [eclipse.jetty.servlet.ServletHandler] - /proxy
org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=44, size=6
        at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:346)[62:org.eclipse.emf.common:2.11.0.v20150805-0538]
        at org.eclipse.smarthome.ui.internal.items.ItemUIRegistryImpl.getWidget(ItemUIRegistryImpl.java:489)[130:org.eclipse.smarthome.ui:0.9.0.201609061916]
        at org.eclipse.smarthome.ui.internal.proxy.ProxyServlet.doGet(ProxyServlet.java:157)[130:org.eclipse.smarthome.ui:0.9.0.201609061916]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)[20:javax.servlet-api:3.1.0]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)[20:javax.servlet-api:3.1.0]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)[79:org.eclipse.jetty.servlet:9.2.14.v20151106]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)[79:org.eclipse.jetty.servlet:9.2.14.v20151106]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)[165:org.ops4j.pax.web.pax-web-jetty:4.2.4]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)[77:org.eclipse.jetty.security:9.2.14.v20151106]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:271)[165:org.ops4j.pax.web.pax-web-jetty:4.2.4]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)[79:org.eclipse.jetty.servlet:9.2.14.v20151106]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)[165:org.ops4j.pax.web.pax-web-jetty:4.2.4]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.eclipse.jetty.server.Server.handle(Server.java:499)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[78:org.eclipse.jetty.server:9.2.14.v20151106]
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[70:org.eclipse.jetty.io:9.2.14.v20151106]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[81:org.eclipse.jetty.util:9.2.14.v20151106]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[81:org.eclipse.jetty.util:9.2.14.v20151106]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_102]