Yes,

I found out the root of the issue. The root is not the HashMap actually,
the root is that we change the publicSID of the RTMP connection that
connects to the SWF10 app dynamically.
The SWF10 rtmp connection intially gets a publicSID assigned, but to makes
sure the client has the same rights like the rtmp-connection to the SWF8
app, we do overwrite this publicSID with the one from the SWF8 app.
But in the session cache we still have the rtmp-connection / client with
the old publicSID in a list as key (to have fast access). This publicSID is
never cleaned up. That is the issue. I will look into it now.

Sebastian


2013/1/31 Maxim Solodovnik <solomax...@gmail.com>

> Here is the scenario to reproduce the weird behavior with publicSID:
>
> 1) login as user1
> 2) enter any room
> 3) do nothing, exit the room
> 4) repeat steps 2 and 3 5 times
> 5) open Administration->Connections
>
> Result:    clientsByServerAndPublicSID Server null Number of PublicSIDs: *
> 16*
> *
> *
> I believe number of publicSIDs should be 1
>
> 6) do logout
> 7) do login
> 8) open Administration->Connections
> Result: clientsByServerAndPublicSID Server null Number of PublicSIDs: *16*
>
>
>
>
>
> On Thu, Jan 31, 2013 at 12:49 PM, Maxim Solodovnik 
> <solomax...@gmail.com>wrote:
>
>> Also I believe address is more human-readable value in config than
>> serverId :)
>>
>>
>> On Thu, Jan 31, 2013 at 12:47 PM, Maxim Solodovnik 
>> <solomax...@gmail.com>wrote:
>>
>>> The first issue was with
>>> openmeetings-applicationContext.xml
>>>
>>> "null" in serverId was interpreted as String with value "null" (4
>>> characters)
>>>
>>> The second issue was with ManageCryptStyle, it was not autowired in
>>> anonymous class
>>>
>>> Was tested on 2 machines (Linux+Windows)
>>>
>>> continue investigating
>>>
>>>
>>> On Thu, Jan 31, 2013 at 12:36 PM, seba.wag...@gmail.com <
>>> seba.wag...@gmail.com> wrote:
>>>
>>>> Are you sure you are using the default config files and a fresh build?
>>>> Cause I don't have those errors. It seems like your
>>>> openmeetings-applicationContext.xml is outdated or you did not svn update.
>>>>
>>>> Sebastian
>>>>
>>>>
>>>> 2013/1/31 Maxim Solodovnik <solomax...@gmail.com>
>>>>
>>>>> Currently OM is broken (on our side)
>>>>>
>>>>> Here is the part of stacktrace from OM log:
>>>>> ERROR 01-31 12:09:40.339 ScopeApplicationAdapter.java 56269 199
>>>>> org.apache.openmeetings.remote.red5.ScopeApplicationAdapter
>>>>> [http-nio-0.0.0.0-8088-exec-6] - roomJoin
>>>>> java.lang.NumberFormatException: For input string: "null"
>>>>>         at
>>>>> java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
>>>>> ~[na:1.7.0_04]
>>>>>         at java.lang.Long.parseLong(Long.java:441) ~[na:1.7.0_04]
>>>>>         at java.lang.Long.parseLong(Long.java:483) ~[na:1.7.0_04]
>>>>>         at
>>>>> org.apache.openmeetings.session.ServerUtil.getCurrentServer(ServerUtil.java:76)
>>>>> ~[na:na]
>>>>>         at
>>>>> org.apache.openmeetings.session.SessionManager.addClientListItem(SessionManager.java:387)
>>>>> ~[na:na]
>>>>>         at
>>>>> org.apache.openmeetings.remote.red5.ScopeApplicationAdapter.roomConnect(ScopeApplicationAdapter.java:186)
>>>>> ~[na:na]
>>>>>         at
>>>>> org.red5.server.adapter.MultiThreadedApplicationAdapter.connect(MultiThreadedApplicationAdapter.java:326)
>>>>> [red5.jar:na]
>>>>>
>>>>>
>>>>> And part of stacktrace from red5.log:
>>>>>
>>>>> 2013-01-31 12:09:39,669 [NioProcessor-2] INFO
>>>>>  o.r.s.n.r.codec.RTMPProtocolDecoder - Action xmlcrm.getsessiondata
>>>>> 2013-01-31 12:09:39,794 [NioProcessor-2] INFO
>>>>>  o.r.s.n.r.codec.RTMPProtocolDecoder - Action _error
>>>>> 2013-01-31 12:09:39,845 [NioProcessor-2] INFO
>>>>>  o.r.s.n.r.codec.RTMPProtocolDecoder - Action getPublicSID
>>>>> 2013-01-31 12:09:39,857 [NioProcessor-2] ERROR
>>>>> o.r.server.service.ServiceInvoker - Error executing call: Service: null
>>>>> Method: getPublicSID Num Params: 0
>>>>> java.lang.reflect.InvocationTargetException: null
>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> ~[na:1.7.0_04]
>>>>>     at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>> ~[na:1.7.0_04]
>>>>>     at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> ~[na:1.7.0_04]
>>>>>     at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_04]
>>>>>     at
>>>>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:196)
>>>>> [red5.jar:na]
>>>>>     at
>>>>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:115)
>>>>> [red5.jar:na]
>>>>>     at
>>>>> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:157)
>>>>> [red5.jar:na]
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> I'm going to investigate, then will retest publicSID issue
>>>>>
>>>>>
>>>>> On Thu, Jan 31, 2013 at 10:16 AM, seba.wag...@gmail.com <
>>>>> seba.wag...@gmail.com> wrote:
>>>>>
>>>>>> Hi Maxim,
>>>>>>
>>>>>> could you describe the use case that you had issue with the session
>>>>>> not being correctly cleaned up?
>>>>>>
>>>>>> Thanks!
>>>>>> Sebastian
>>>>>>
>>>>>> --
>>>>>> Sebastian Wagner
>>>>>> https://twitter.com/#!/dead_lock
>>>>>> http://www.webbase-design.de
>>>>>> http://www.wagner-sebastian.com
>>>>>> seba.wag...@gmail.com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> WBR
>>>>> Maxim aka solomax
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sebastian Wagner
>>>> https://twitter.com/#!/dead_lock
>>>> http://www.webbase-design.de
>>>> http://www.wagner-sebastian.com
>>>> seba.wag...@gmail.com
>>>>
>>>
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>
>
>
>
> --
> WBR
> Maxim aka solomax
>



-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wag...@gmail.com

Reply via email to