You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@openmeetings.apache.org by "Coscend@OM" <OM...@Coscend.com> on 2019/11/26 17:09:15 UTC

OM5: Toggle Video in Room Not Working

Dear Community,

 

We are seeking inputs into the following non-functioning video toggle in a
room.

 

HTTPS Video and audio WAS WORKING in intranet (within NAT-- no coturn, no
reverse proxy) till yesterday.  Today, when we click on video icon in a room
to activate it, nothing happens.  After clicking to toggle audio, when we
click to toggle video, a red cross appears.  But there is no video or audio
frame that appears on screen.

 

Cause:  Kurento server exception (thanks to Maxim's exception handling code)

https://github.com/apache/openmeetings/blob/master/openmeetings-core/src/mai
n/java/org/apache/openmeetings/core/remote/StreamProcessor.java#L188

 

All relevant ports are open in OS.  Has any library changed in docker,
kurento or video-related program in the last day or two?  We are using
OM5.0.0M2 binary from OpenMeetings Web site.

 

We have reinstalled all of these today, but nothing seems to solve the
issue.

Database.

Kurento

OM5

 

Environment:

CentOS 8

MariaDB 10.13.18

Kurento in Docker-CE container

 

 

The log is below.

 

 

_[39mDEBUG_[0;39m 11-26 10:40:21.942 _[36mo.a.o.c.u.WebSocketHelper:205
[apr-443-exec-5]_[0;39m - Sending json WebSocket message to room:
{"type":"wb"}

_[39mDEBUG_[0;39m 11-26 10:40:24.443 _[36mo.a.o.c.r.StreamProcessor:84
[pr-443-exec-10]_[0;39m - Incoming message from user with ID '1':
{"type":"kurento","id":"toggleActivity","activity":"VIDEO"}

_[34mINFO _[0;39m 11-26 10:40:24.444 _[36mo.a.o.c.r.StreamProcessor:188
[pr-443-exec-10]_[0;39m - PARTICIPANT Client
[uid=060f6c26-73f7-4fc2-b7c7-6c843ee4ada2,
sessionId=DAFBD4ADED84FF1575CAE4C56DB37FCD, pageId=2, userId=1, room=5,
rights=[superModerator], sactivities=[], connectedSince=Tue Nov 26 10:40:12
CST 2019]: trying to toggle activity VIDEO

_[39mDEBUG_[0;39m 11-26 10:40:24.480 _[36mo.a.o.c.r.StreamProcessor:232
[pr-443-exec-10]_[0;39m - User 4a6f2767-06bf-49c2-8ca9-76108f96aedf: has
started broadcast

_[1;31mERROR_[0;39m 11-26 10:40:24.498 _[36mo.a.o.w.c.OmWebSocketPanel:117
[pr-443-exec-10]_[0;39m - Error while processing incoming message

java.lang.IllegalArgumentException: Empty key

                    at
java.base/javax.crypto.spec.SecretKeySpec.<init>(SecretKeySpec.java:95)

                    at
org.apache.openmeetings.core.remote.KurentoHandler.getTurnServers(KurentoHan
dler.java:272)

                    at
org.apache.openmeetings.core.remote.StreamProcessor.toggleActivity(StreamPro
cessor.java:236)

                    at
org.apache.openmeetings.core.remote.StreamProcessor.onMessage(StreamProcesso
r.java:97)

                    at
org.apache.openmeetings.core.remote.KurentoHandler.onMessage(KurentoHandler.
java:172)

                    at
org.apache.openmeetings.core.remote.Wicket_Proxy_KurentoHandler$$FastClassBy
CGLIB$$756e116d.invoke(<generated>)

                    at
net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)

                    at
org.apache.wicket.proxy.LazyInitProxyFactory$AbstractCGLibInterceptor.interc
ept(LazyInitProxyFactory.java:364)

                    at
org.apache.openmeetings.core.remote.Wicket_Proxy_KurentoHandler$$EnhancerByC
GLIB$$f080d901.onMessage(<generated>)

                    at
org.apache.openmeetings.web.common.OmWebSocketPanel$2.onMessage(OmWebSocketP
anel.java:98)

                    at
org.apache.wicket.protocol.ws.api.WebSocketBehavior.onEvent(WebSocketBehavio
r.java:64)

                    at
org.apache.wicket.settings.FrameworkSettings.dispatchEvent(FrameworkSettings
.java:147)

                    at
org.apache.wicket.ComponentEventSender.dispatchToComponent(ComponentEventSen
der.java:292)

                    at
org.apache.wicket.ComponentEventSender$ComponentEventVisitor.component(Compo
nentEventSender.java:329)

                    at
org.apache.wicket.ComponentEventSender$ComponentEventVisitor.component(Compo
nentEventSender.java:306)

                    at
org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)

                    at
org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)

                    at
org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)

                    at
org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)

                    at
org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)

                    at
org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:976)

                    at
org.apache.wicket.ComponentEventSender.breadth(ComponentEventSender.java:160
)

                    at
org.apache.wicket.ComponentEventSender.send(ComponentEventSender.java:68)

                    at org.apache.wicket.Component.send(Component.java:4416)

                    at
org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler$1.run(Web
SocketMessageBroadcastHandler.java:74)

                    at
org.apache.wicket.protocol.ws.WebSocketSettings$SameThreadExecutor.run(WebSo
cketSettings.java:361)

                    at
org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler.respond(W
ebSocketMessageBroadcastHandler.java:97)

                    at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Request
Cycle.java:917)

                    at
org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecu
tor.java:63)

                    at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283)

                    at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.jav
a:254)

                    at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Request
Cycle.java:222)

                    at
org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.broadcastMessag
e(AbstractWebSocketProcessor.java:258)

                    at
org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.onMessage(Abstr
actWebSocketProcessor.java:148)

                    at
org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor$StringMessageHan
dler.onMessage(JavaxWebSocketProcessor.java:65)

                    at
org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor$StringMessageHan
dler.onMessage(JavaxWebSocketProcessor.java:60)

                    at
org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:395
)

                    at
org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServ
er.java:119)

                    at
org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495
)

                    at
org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294)

                    at
org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:
133)

                    at
org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServ
er.java:82)

                    at
org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameSe
rver.java:171)

                    at
org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrame
Server.java:151)

                    at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHt
tpUpgradeHandler.java:148)

                    at
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradePr
ocessorInternal.java:54)

                    at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java
:53)

                    at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtoco
l.java:853)

                    at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.jav
a:2126)

                    at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:
49)

                    at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecut
or.java:1128)

                    at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecu
tor.java:628)

                    at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.ja
va:61)

                    at java.base/java.lang.Thread.run(Thread.java:834)

 

 

 

Thank you.

 

Sincerely,

 

Hemant K. Sabat

 <http://www.coscend.com/> www.Coscend.com 

------------------------------------------------------------------

Real-time, Interactive Video Collaboration, Tele-healthcare, Tele-education,
Telepresence Services, on the fly.

------------------------------------------------------------------

CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail
Messages from Coscend Communications Solutions' posted at:
<http://www.coscend.com/Anchor/Common/Terms_and_Conditions.html>
http://www.Coscend.com/Anchor/Common/Terms_and_Conditions.html

 

 


Re: OM5: Toggle Video in Room Not Working

Posted by Maxim Solodovnik <so...@gmail.com>.
According to stacktrace your JDK/JRE doen't have necessary crypto algorithm
I have no idea how you did it :)

On Wed, 27 Nov 2019 at 00:09, Coscend@OM <OM...@coscend.com> wrote:

> Dear Community,
>
>
>
> We are seeking inputs into the following non-functioning video toggle in a
> room.
>
>
>
> HTTPS Video and audio WAS WORKING in intranet (within NAT-- no coturn, no
> reverse proxy) till yesterday.  Today, when we click on video icon in a
> room to activate it, nothing happens.  After clicking to toggle audio, when
> we click to toggle video, a red cross appears.  But there is no video or
> audio frame that appears on screen.
>
>
>
> Cause:  Kurento server exception (thanks to Maxim’s exception handling
> code)
>
>
> https://github.com/apache/openmeetings/blob/master/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java#L188
>
>
>
> All relevant ports are open in OS.  Has any library changed in docker,
> kurento or video-related program in the last day or two?  We are using
> OM5.0.0M2 binary from OpenMeetings Web site.
>
>
>
> We have reinstalled all of these today, but nothing seems to solve the
> issue.
>
> Database.
>
> Kurento
>
> OM5
>
>
>
> Environment:
>
> CentOS 8
>
> MariaDB 10.13.18
>
> Kurento in Docker-CE container
>
>
>
>
>
> The log is below.
>
>
>
>
>
> _[39mDEBUG_[0;39m 11-26 10:40:21.942 _[36mo.a.o.c.u.WebSocketHelper:205
> [apr-443-exec-5]_[0;39m - Sending json WebSocket message to room:
> {"type":"wb"}
>
> _[39mDEBUG_[0;39m 11-26 10:40:24.443 _[36mo.a.o.c.r.StreamProcessor:84
> [pr-443-exec-10]_[0;39m - Incoming message from user with ID '1':
> {"type":"kurento","id":"toggleActivity","activity":"VIDEO"}
>
> _[34mINFO _[0;39m 11-26 10:40:24.444 _[36mo.a.o.c.r.StreamProcessor:188
> [pr-443-exec-10]_[0;39m - PARTICIPANT Client
> [uid=060f6c26-73f7-4fc2-b7c7-6c843ee4ada2,
> sessionId=DAFBD4ADED84FF1575CAE4C56DB37FCD, pageId=2, userId=1, room=5,
> rights=[superModerator], sactivities=[], connectedSince=Tue Nov 26 10:40:12
> CST 2019]: trying to toggle activity VIDEO
>
> _[39mDEBUG_[0;39m 11-26 10:40:24.480 _[36mo.a.o.c.r.StreamProcessor:232
> [pr-443-exec-10]_[0;39m - User 4a6f2767-06bf-49c2-8ca9-76108f96aedf: has
> started broadcast
>
> _[1;31mERROR_[0;39m 11-26 10:40:24.498 _[36mo.a.o.w.c.OmWebSocketPanel:117
> [pr-443-exec-10]_[0;39m - Error while processing incoming message
>
> java.lang.IllegalArgumentException: Empty key
>
>                     at
> java.base/javax.crypto.spec.SecretKeySpec.<init>(SecretKeySpec.java:95)
>
>                     at
> org.apache.openmeetings.core.remote.KurentoHandler.getTurnServers(KurentoHandler.java:272)
>
>                     at
> org.apache.openmeetings.core.remote.StreamProcessor.toggleActivity(StreamProcessor.java:236)
>
>                     at
> org.apache.openmeetings.core.remote.StreamProcessor.onMessage(StreamProcessor.java:97)
>
>                     at
> org.apache.openmeetings.core.remote.KurentoHandler.onMessage(KurentoHandler.java:172)
>
>                     at
> org.apache.openmeetings.core.remote.Wicket_Proxy_KurentoHandler$$FastClassByCGLIB$$756e116d.invoke(<generated>)
>
>                     at
> net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
>
>                     at
> org.apache.wicket.proxy.LazyInitProxyFactory$AbstractCGLibInterceptor.intercept(LazyInitProxyFactory.java:364)
>
>                     at
> org.apache.openmeetings.core.remote.Wicket_Proxy_KurentoHandler$$EnhancerByCGLIB$$f080d901.onMessage(<generated>)
>
>                     at
> org.apache.openmeetings.web.common.OmWebSocketPanel$2.onMessage(OmWebSocketPanel.java:98)
>
>                     at
> org.apache.wicket.protocol.ws.api.WebSocketBehavior.onEvent(WebSocketBehavior.java:64)
>
>                     at
> org.apache.wicket.settings.FrameworkSettings.dispatchEvent(FrameworkSettings.java:147)
>
>                     at
> org.apache.wicket.ComponentEventSender.dispatchToComponent(ComponentEventSender.java:292)
>
>                     at
> org.apache.wicket.ComponentEventSender$ComponentEventVisitor.component(ComponentEventSender.java:329)
>
>                     at
> org.apache.wicket.ComponentEventSender$ComponentEventVisitor.component(ComponentEventSender.java:306)
>
>                     at
> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
>
>                     at
> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
>
>                     at
> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
>
>                     at
> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
>
>                     at
> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)
>
>                     at
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:976)
>
>                     at
> org.apache.wicket.ComponentEventSender.breadth(ComponentEventSender.java:160)
>
>                     at
> org.apache.wicket.ComponentEventSender.send(ComponentEventSender.java:68)
>
>                     at
> org.apache.wicket.Component.send(Component.java:4416)
>
>                     at
> org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler$1.run(WebSocketMessageBroadcastHandler.java:74)
>
>                     at
> org.apache.wicket.protocol.ws.WebSocketSettings$SameThreadExecutor.run(WebSocketSettings.java:361)
>
>                     at
> org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler.respond(WebSocketMessageBroadcastHandler.java:97)
>
>                     at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:917)
>
>                     at
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:63)
>
>                     at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283)
>
>                     at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:254)
>
>                     at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:222)
>
>                     at
> org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.broadcastMessage(AbstractWebSocketProcessor.java:258)
>
>                     at
> org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.onMessage(AbstractWebSocketProcessor.java:148)
>
>                     at
> org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor$StringMessageHandler.onMessage(JavaxWebSocketProcessor.java:65)
>
>                     at
> org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor$StringMessageHandler.onMessage(JavaxWebSocketProcessor.java:60)
>
>                     at
> org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:395)
>
>                     at
> org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:119)
>
>                     at
> org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495)
>
>                     at
> org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294)
>
>                     at
> org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
>
>                     at
> org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82)
>
>                     at
> org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
>
>                     at
> org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
>
>                     at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
>
>                     at
> org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
>
>                     at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53)
>
>                     at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)
>
>                     at
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2126)
>
>                     at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>
>                     at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>
>                     at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>
>                     at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
>                     at java.base/java.lang.Thread.run(Thread.java:834)
>
>
>
>
>
>
>
> Thank you.
>
>
>
> Sincerely,
>
>
>
> Hemant K. Sabat
>
> www.Coscend.com <http://www.coscend.com/>
>
> ------------------------------------------------------------------
>
> *Real-time, Interactive Video Collaboration, Tele-healthcare,
> Tele-education, Telepresence Services, on the fly…*
>
> ------------------------------------------------------------------
>
> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail
> Messages from Coscend Communications Solutions' posted at:
> http://www.Coscend.com/Anchor/Common/Terms_and_Conditions.html
> <http://www.coscend.com/Anchor/Common/Terms_and_Conditions.html>
>
>
>
>
>


-- 
WBR
Maxim aka solomax