AbstractQueuedSynchronizer #190

nirtik opened this Issue Jun 20, 2016 · 1 comment


None yet

3 participants

nirtik commented Jun 20, 2016 edited

I write script which try to write some video in red5. If i cant write i save log and restart red5.
Some other error in log: I try to create other issue when i check other log file.

Short description

for that log files i set constant test name "server_480" and sometimes i see that error:
ERROR o.red5.server.stream.StreamService - Bad name server_480
2 days ago i change to dynamic thread name and a dont see any AbstractQueuedSynchronizer errors.

disconnected or connected

WARN o.r.s.net.rtmp.RTMPMinaConnection - Interrupted while waiting for write lock. State: disconnecting
java.lang.InterruptedException: null
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1039)

(in all log files)
WARN o.r.s.net.rtmp.RTMPMinaConnection - Interrupted while waiting for write lock. State: connected
java.lang.InterruptedException: null
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1326)

(red5_1466144332.log, red5_1466074354.log)
WARN org.red5.io.flv.impl.FLVReader - Exception acquiring lock
java.lang.InterruptedException: null
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1220)


Operating system and version:
Ubuntu 16.04 LTS

Java version:
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

Red5 version:

@mondain mondain added the bug label Jul 18, 2016
ncdanh90 commented Aug 31, 2016 edited

Hi! I got the same problem. I google it and I found a solution at https://groups.google.com/forum/#!topic/red5interest/kAkf75qvaVs

This is my code in StreamService class in method public void publish(String name, String mode)

IBroadcastScope bsScope = getBroadcastScope(scope, name); if(bsScope != null && !bsScope.getProviders().isEmpty()) { deleteStream(bsScope.getClientBroadcastStream().getConnection(), bsScope.getClientBroadcastStream().getStreamId()); } bsScope = getBroadcastScope(scope, name); if (bsScope != null && !bsScope.getProviders().isEmpty()) { // another stream with that name is already published sendNSFailed(streamConn, StatusCodes.NS_PUBLISH_BADNAME, name, name, streamId); log.error("Bad name {}", name); return; }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment