[Red5] My persistent so's stopped working between RC1andRC2[issue found, mixed arrays!?]
Tyler Kocheran
rfkrocktk at gmail.com
Fri Mar 27 09:58:22 PST 2009
Well, that's definitely a write exception and it totally fits the bug you're
describing. Have you filed the bug on JIRA?
This actually might have to do with AMF3 stuff. I do a lot of manual AMF3
serialization for custom classes and such, and one thing I've learned is
that you cannot EVER send a null value across AMF3 normally. Eg:
output.writeObject(null) will fail horribly, from both the server and client
side. If the SharedObject has no attributes (something may be null
somewhere), and Red5 tries to persist it, I could see how that would cause a
BufferUnderflowException.
2009/3/27 Naicu Octavian <naicuoctavian at gmail.com>
> I did, I also added my own logs to follow the issue even better:
>
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readDataType()
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readDataType(byte)
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG
> org.red5.io.object.Deserializer - Type: 4
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG
> org.red5.io.object.Deserializer - Datatype: String
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readDataType()
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readDataType(byte)
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG
> org.red5.io.object.Deserializer - Type: 4
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG
> org.red5.io.object.Deserializer - Datatype: String
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readDataType()
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readDataType(byte)
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG
> org.red5.io.object.Deserializer - Type: 7
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG
> org.red5.io.object.Deserializer - Datatype: List
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readMap()
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> Read start mixed array: 0
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> hasMoreProperties()
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> End of object: ? true
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> mixed array is a regular array
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readMap() call storeReference()
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readMap() called storeReference() and returned to readMap(), calling
> skipEndObject()
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> skipEndObject()
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readMap() called skipEndObject() and returned to readMap(), returning the
> result
> 2009-03-27 19:45:39,062 [pool-4-thread-12] DEBUG org.red5.io.amf.Input -
> readDataType()
> 2009-03-27 19:45:39,078 [pool-4-thread-12] ERROR
> o.red5.server.net.rtmp.RTMPHandler - Error connecting {}
> java.nio.BufferUnderflowException
> at java.nio.Buffer.nextGetIndex(Buffer.java:474) [na:1.6.0_12]
> at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:117) [na:1.6.0_12]
> at
> org.apache.mina.common.support.BaseByteBuffer.get(BaseByteBuffer.java:177)
> [mina-core-1.1.7.jar:na]
> at org.red5.io.amf.Input.readDataType(Input.java:86) [red5.jar:na]
> at org.red5.io.object.Deserializer.deserialize(Deserializer.java:49)
> [red5.jar:na]
> at org.red5.server.so.SharedObject.deserialize(SharedObject.java:650)
> [red5.jar:na]
> at
> org.red5.server.persistence.FilePersistence.doLoad(FilePersistence.java:293)
> [red5.jar:na]
> at
> org.red5.server.persistence.FilePersistence.doLoad(FilePersistence.java:220)
> [red5.jar:na]
> at
> org.red5.server.persistence.FilePersistence.load(FilePersistence.java:345)
> [red5.jar:na]
> at
> org.red5.server.so.SharedObjectScope.<init>(SharedObjectScope.java:97)
> [red5.jar:na]
> at
> org.red5.server.so.SharedObjectService.createSharedObject(SharedObjectService.java:123)
> [red5.jar:na]
> at
> org.red5.server.so.SharedObjectService.getSharedObject(SharedObjectService.java:139)
> [red5.jar:na]
> at
> org.red5.server.adapter.MultiThreadedApplicationAdapter.getSharedObject(MultiThreadedApplicationAdapter.java:708)
> [red5.jar:na]
> at AVChat2.Application.roomStart(Application.java:24) [na:na]
> at
> org.red5.server.adapter.MultiThreadedApplicationAdapter.start(MultiThreadedApplicationAdapter.java:330)
> [red5.jar:na]
> at
> org.red5.server.adapter.ApplicationAdapter.start(ApplicationAdapter.java:60)
> [red5.jar:na]
> at org.red5.server.Scope.addChildScope(Scope.java:278) [red5.jar:na]
> at org.red5.server.Scope.createChildScope(Scope.java:372) [red5.jar:na]
> at org.red5.server.ScopeResolver.resolveScope(ScopeResolver.java:101)
> [red5.jar:na]
> at org.red5.server.Context.resolveScope(Context.java:155) [red5.jar:na]
> at org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:252)
> [red5.jar:na]
> at
> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:146)
> [red5.jar:na]
> at
> org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:130)
> [red5.jar:na]
> at
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.filter.LoggingFilter.messageReceived(LoggingFilter.java:89)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
> [mina-core-1.1.7.jar:na]
> at
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
> [mina-core-1.1.7.jar:na]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> [na:1.6.0_12]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> [na:1.6.0_12]
> at java.lang.Thread.run(Thread.java:619) [na:1.6.0_12]
> 2009-03-27 19:45:39,078 [pool-4-thread-12] INFO
> o.r.s.net.rtmp.RTMPMinaIoHandler - [/127.0.0.1:3076] WRITE:
> org.red5.server.net.rtmp.message.Packet at f2da21
> 2009-03-27 19:45:39,078 [pool-4-thread-12] DEBUG
> org.red5.io.object.Serializer - serialize
>
>
>
> 2009/3/27 Tyler Kocheran <rfkrocktk at gmail.com>
>
>> You should turn on all logging for SharedObject related packages in Red5,
>> so you can see if anything is happening there. Is the SharedObject ever
>> getting persisted? If not, maybe the error resides in the "write to disk"
>> portion of Red5's internal SharedObject code.
>>
>> 2009/3/27 Naicu Octavian <naicuoctavian at gmail.com>
>>
>> After spending about 20 hours on finding this issue I can say with
>>> certainty that there is a bug in Red5 regarding prsing/reading empty
>>> persistent shared objects!
>>>
>>>
>>>
>>>
>>> On Fri, Mar 27, 2009 at 7:33 PM, Naicu Octavian <naicuoctavian at gmail.com
>>> > wrote:
>>>
>>>> It seems to only happen with empty shared objects!
>>>>
>>>> As soon as I add
>>>> roomslist.setAttribute("name", "naicu");
>>>> after
>>>> ISharedObject roomslist = getSharedObject(room, "roomslist",true);
>>>>
>>>> the connection issue goes away!
>>>>
>>>>
>>>>
>>>> 2009/3/27 Andy Shaules <bowljoman at hotmail.com>
>>>>
>>>>> I guess I misunderstood.
>>>>>
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>> *From:* Naicu Octavian <naicuoctavian at gmail.com>
>>>>> *To:* red5 at osflash.org
>>>>> *Sent:* Friday, March 27, 2009 9:11 AM
>>>>> *Subject:* Re: [Red5] My persistent so's stopped working between
>>>>> RC1andRC2[issue found, mixed arrays!?]
>>>>>
>>>>> I don't see where I am mixing them. My as2 application worked just fine
>>>>> from red5 0.6 about 2 -3 years ago until revision r3431. Also I am not using
>>>>> at all shared objects on the client side!
>>>>>
>>>>> I also just tried connecting to the same Red5 test sos app using
>>>>> as3/fp9, same exact result! First connection ok, second connection BAM!
>>>>>
>>>>> 2009/3/27 Tyler Kocheran <rfkrocktk at gmail.com>
>>>>>
>>>>>> Yeah, you're mixing black magic dude. AMF0 and AMF3 are not
>>>>>> compatible, not in the least bit. Just like you can't run AS2 code in AS3,
>>>>>> you can't use AMF0 with AMF3.
>>>>>>
>>>>>> 2009/3/27 Andy Shaules <bowljoman at hotmail.com>
>>>>>>
>>>>>>> Ok, then during flash boot-up, set something like this.
>>>>>>>
>>>>>>> NetConnection.defaultObjectEncoding=ObjectEncoding.AMF0;
>>>>>>>
>>>>>>> and
>>>>>>>
>>>>>>> SharedObject.defaultObjectEncoding=ObjectEncoding.AMF0;
>>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> *From:* Naicu Octavian <naicuoctavian at gmail.com>
>>>>>>> *To:* red5 at osflash.org
>>>>>>> *Sent:* Friday, March 27, 2009 8:47 AM
>>>>>>> *Subject:* Re: [Red5] My persistent so's stopped working between RC1
>>>>>>> andRC2[issue found, mixed arrays!?]
>>>>>>>
>>>>>>> *My as2 FP7 client code:*
>>>>>>>
>>>>>>> var nc:NetConnection = new NetConnection()
>>>>>>> nc.onStatus = function(data){
>>>>>>> trace(data.code)
>>>>>>> }
>>>>>>> nc.connect("rtmp://localhost/avchat23/_definst_")
>>>>>>>
>>>>>>> *My red5 server side code:*
>>>>>>>
>>>>>>> public boolean roomStart(IScope room){
>>>>>>> // log.debug("roomStart room.toString()="+room.toString());
>>>>>>> ISharedObject roomslist = getSharedObject(room,
>>>>>>> "roomslist",true);
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> That is all the code I use, and i connect, disconnect, connect again
>>>>>>> and BAM!!! the error below shows up the moment the execution reaches
>>>>>>> getSharedObject(room, "roomslist",true); .
>>>>>>>
>>>>>>> I have identified revision r3431<http://code.google.com/p/red5/source/detail?r=3431>as the revision inwhich my shared objects stopped working properly! The revision includes a
>>>>>>> shared object related patch: *
>>>>>>> http://jira.red5.org/browse/APPSERVER-311 .*
>>>>>>>
>>>>>>> 2009-03-24 18:42:19,718 [pool-4-thread-3] ERROR
>>>>>>> o.red5.server.net.rtmp.
>>>>>>> RTMPHandler - Error connecting {}
>>>>>>> java.nio.BufferUnderflowException
>>>>>>> at java.nio.Buffer.nextGetIndex(Buffer.java:474) [na:1.6.0_12]
>>>>>>> at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:117)
>>>>>>> [na:1.6.0_12]
>>>>>>> at
>>>>>>> org.apache.mina.common.support.BaseByteBuffer.get(BaseByteBuffer.java:177)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at org.red5.io.amf.Input.readDataType(Input.java:85)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.io.object.Deserializer.deserialize(Deserializer.java:49)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.so.SharedObject.deserialize(SharedObject.java:650)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.persistence.FilePersistence.doLoad(FilePersistence.java:293)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.persistence.FilePersistence.doLoad(FilePersistence.java:220)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.persistence.FilePersistence.load(FilePersistence.java:345)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.so.SharedObjectScope.<init>(SharedObjectScope.java:97)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.so.SharedObjectService.createSharedObject(SharedObjectService.java:123)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.so.SharedObjectService.getSharedObject(SharedObjectService.java:139)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.adapter.MultiThreadedApplicationAdapter.getSharedObject(MultiThreadedApplicationAdapter.java:708)
>>>>>>> [red5.jar:na]
>>>>>>> at Chat.Application.roomConnect(Application.java:1004)
>>>>>>> [Application.class:na]
>>>>>>> at
>>>>>>> org.red5.server.adapter.MultiThreadedApplicationAdapter.connect(MultiThreadedApplicationAdapter.java:308)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.adapter.ApplicationAdapter.connect(ApplicationAdapter.java:48)
>>>>>>> [red5.jar:na]
>>>>>>> at org.red5.server.Scope.connect(Scope.java:321) [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.BaseConnection.connect(BaseConnection.java:293)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.net.rtmp.RTMPConnection.connect(RTMPConnection.java:290)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.net.rtmp.RTMPMinaConnection.connect(RTMPMinaConnection.java:81)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:296)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:146)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:130)
>>>>>>> [red5.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.filter.LoggingFilter.messageReceived(LoggingFilter.java:89)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutorjava:886)
>>>>>>> [na:1.6.0_12]
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>> [na:1.6.0_12]
>>>>>>> at java.lang.Thread.run(Thread.java:619) [na:1.6.0_12]
>>>>>>> 2009-03-24 18:42:19,734 [pool-4-thread-3] INFO
>>>>>>> o.r.s.net.rtmp.RTMPMinaIoHandler - [/127.0.0.1:1246] WRITE:
>>>>>>> org.red5.server.net.rtmp.message.Packet at b34b1
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Naicu Octavian,
>>>>>>> Product Manager @ AVChat Software
>>>>>>> http://www.avchat.net/blog/
>>>>>>>
>>>>>>>
>>>>>>> 2009/3/27 Andy Shaules <bowljoman at hotmail.com>
>>>>>>>
>>>>>>>> Shared objects might have stopped working when you upgraded your
>>>>>>>> flash player to a version which defaults to AMF3, and you didnts explicitly
>>>>>>>> set it to AMF0.
>>>>>>>>
>>>>>>>> Occasionally I see issues using amf3 and shared objects. And notice
>>>>>>>> I wrote 'might'. It may be legitamate bug.
>>>>>>>>
>>>>>>>> However consider that if you are not requireing your clients to use
>>>>>>>> higher versions of flash, they may connect with a defaulting AMF0 and others
>>>>>>>> are in AMF3 which will often cause a problem.
>>>>>>>>
>>>>>>>> Do you have any errors in your log regarding the RTMP failing to
>>>>>>>> decode some data?
>>>>>>>>
>>>>>>>> Andy
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ----- Original Message -----
>>>>>>>> *From:* Naicu Octavian <naicuoctavian at gmail.com>
>>>>>>>> *To:* red5 at osflash.org
>>>>>>>> *Sent:* Friday, March 27, 2009 7:09 AM
>>>>>>>> *Subject:* Re: [Red5] My persistent so's stopped working between
>>>>>>>> RC1 and RC2[issue found, mixed arrays!?]
>>>>>>>>
>>>>>>>> I can reproduce the issue with a single call to
>>>>>>>> getSharedObject(room, "roomslist",true); placed in roomStart
>>>>>>>>
>>>>>>>> I've done a red5 application with just that line of code and the
>>>>>>>> connection from the flash client fails consistently (and curiously) from the
>>>>>>>> third connection attempt on!
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Mar 24, 2009 at 9:02 PM, Naicu Octavian <
>>>>>>>> naicuoctavian at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> I have emailed Matt Hodgson who submitted the patch for
>>>>>>>>> http://jira.red5.org/browse/APPSERVER-311, hopefully he will have
>>>>>>>>> some better insight into the issue!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2009/3/24 Tyler Kocheran <rfkrocktk at gmail.com>
>>>>>>>>>
>>>>>>>>> Way back when, (0.7) there was a bug with persisting custom
>>>>>>>>>> objects to SharedObjects. When I persisted a SharedObject with a custom
>>>>>>>>>> externalizable value in it, sometimes it would corrupt the SharedObject and
>>>>>>>>>> the only solution was to delete the SharedObject by hand. I don't know if
>>>>>>>>>> this was fixed, but maybe it has something to do with what you're
>>>>>>>>>> experiencing.
>>>>>>>>>>
>>>>>>>>>> 2009/3/24 Naicu Octavian <naicuoctavian at gmail.com>
>>>>>>>>>>
>>>>>>>>>> Just a small update regarding my issue, today I made a boolean
>>>>>>>>>>> search trough the repository for the exact revision number (between rc1 and
>>>>>>>>>>> rc2) where my Shared Objects's stopped working!
>>>>>>>>>>>
>>>>>>>>>>> I have compiled and tested about 10 Red5 revisions between Rc1
>>>>>>>>>>> and Rc2 and I have identified revision r3431<http://code.google.com/p/red5/source/detail?r=3431>as the revision inwhich my shared objects stopped working properly!
>>>>>>>>>>>
>>>>>>>>>>> The SVN logs shows what was changed in this revision:
>>>>>>>>>>> *=========================================
>>>>>>>>>>> Fix http://jira.red5.org/browse/APPSERVER-311 with patch
>>>>>>>>>>> provided, and re-enable system regression test for it
>>>>>>>>>>> Modified /java/server/trunk/test/fixtures/red5-selftest.swf
>>>>>>>>>>> Modified /java/server/trunk/src/org/red5/io/amf/Input.java*
>>>>>>>>>>> =========================================
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Also I have changed the log level for org.red5.io to DEBUG and
>>>>>>>>>>> you can see below what I get now in the logs when the error triggers.
>>>>>>>>>>>
>>>>>>>>>>> My issue is not completely solved yet but now I am closer to the
>>>>>>>>>>> exact issue. Hope this helps someone!
>>>>>>>>>>>
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.object.Deserializer - Type: 4
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.object.Deserializer - Datatype: String
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.object.Deserializer - Type: 4
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.object.Deserializer - Datatype: String
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.object.Deserializer - Type: 7
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.object.Deserializer - Datatype: List
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.amf.Input - Read start mixed array: 0
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.amf.Input - End of object: ? true
>>>>>>>>>>> 2009-03-24 18:42:19,703 [pool-4-thread-3] DEBUG
>>>>>>>>>>> org.red5.io.amf.Input - mixed array is a regular array
>>>>>>>>>>> 2009-03-24 18:42:19,718 [pool-4-thread-3] ERROR
>>>>>>>>>>> o.red5.server.net.rtmp.RTMPHandler - Error connecting {}
>>>>>>>>>>> java.nio.BufferUnderflowException
>>>>>>>>>>> at java.nio.Buffer.nextGetIndex(Buffer.java:474)
>>>>>>>>>>> [na:1.6.0_12]
>>>>>>>>>>> at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:117)
>>>>>>>>>>> [na:1.6.0_12]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.common.support.BaseByteBuffer.get(BaseByteBuffer.java:177)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at org.red5.io.amf.Input.readDataType(Input.java:85)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.io.object.Deserializer.deserialize(Deserializer.java:49)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.so.SharedObject.deserialize(SharedObject.java:650)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.persistence.FilePersistence.doLoad(FilePersistence.java:293)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.persistence.FilePersistence.doLoad(FilePersistence.java:220)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.persistence.FilePersistence.load(FilePersistence.java:345)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.so.SharedObjectScope.<init>(SharedObjectScope.java:97)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.so.SharedObjectService.createSharedObject(SharedObjectService.java:123)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.so.SharedObjectService.getSharedObject(SharedObjectService.java:139)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.adapter.MultiThreadedApplicationAdapter.getSharedObject(MultiThreadedApplicationAdapter.java:708)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at Chat.Application.roomConnect(Application.java:1004)
>>>>>>>>>>> [Application.class:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.adapter.MultiThreadedApplicationAdapter.connect(MultiThreadedApplicationAdapter.java:308)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.adapter.ApplicationAdapter.connect(ApplicationAdapter.java:48)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at org.red5.server.Scope.connect(Scope.java:321)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.BaseConnection.connect(BaseConnection.java:293)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.net.rtmp.RTMPConnection.connect(RTMPConnection.java:290)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.net.rtmp.RTMPMinaConnection.connect(RTMPMinaConnection.java:81)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:296)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:146)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:130)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.filter.LoggingFilter.messageReceived(LoggingFilter.java:89)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>> at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutorjava:886)
>>>>>>>>>>> [na:1.6.0_12]
>>>>>>>>>>>
>>>>>>>>>>> at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>>>>> [na:1.6.0_12]
>>>>>>>>>>> at java.lang.Thread.run(Thread.java:619) [na:1.6.0_12]
>>>>>>>>>>> 2009-03-24 18:42:19,734 [pool-4-thread-3] INFO
>>>>>>>>>>> o.r.s.net.rtmp.RTMPMinaIoHandler - [/127.0.0.1:1246] WRITE:
>>>>>>>>>>> org.red5.server.net.rtmp.message.Packet at b34b1
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Naicu Octavian,
>>>>>>>>>>> Product Manager @ AVChat Software
>>>>>>>>>>> http://www.avchat.net/blog/
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Sat, Mar 21, 2009 at 2:16 AM, Naicu Octavian <
>>>>>>>>>>> naicuoctavian at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I am using mostly Maps, like this:
>>>>>>>>>>>>
>>>>>>>>>>>> ISharedObject roomslist = getSharedObject(room,
>>>>>>>>>>>> "roomslist",true);
>>>>>>>>>>>> Map nextroom =
>>>>>>>>>>>> (Map)roomslist.getAttribute((String)client.getAttribute("roomid"));
>>>>>>>>>>>> Integer newusernr= (Integer)nextroom.get("users");
>>>>>>>>>>>> nextroom.put("users",++newusernr);
>>>>>>>>>>>> roomslist.setAttribute((String)client.getAttribute("roomid"),
>>>>>>>>>>>> nextroom);
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Naicu
>>>>>>>>>>>>
>>>>>>>>>>>> 2009/3/20 Tyler Kocheran <rfkrocktk at gmail.com>
>>>>>>>>>>>>
>>>>>>>>>>>> Are you storing custom objects in your SharedObjects?
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2009/3/20 Naicu Octavian <naicuoctavian at gmail.com>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> With RC1 everything works fine.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> With Rc2 and the svn version, my flash chat application
>>>>>>>>>>>>>> connects just fine to my red5 server side chat application, some persistent
>>>>>>>>>>>>>> sos are created server side in Application.roomStart , everything works
>>>>>>>>>>>>>> almost super smooth.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> During this phase I get some WARN's tough:
>>>>>>>>>>>>>> 2009-03-20 16:45:50,093 [pool-4-thread-16] WARN
>>>>>>>>>>>>>> org.red5.server.Context - Bean lookup failed for r0users..soservice in the
>>>>>>>>>>>>>> application context
>>>>>>>>>>>>>> whenever the execution reaches a getSharedObject or
>>>>>>>>>>>>>> createSharedObject for r0users
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now if I disconnect and connect again with the flash client
>>>>>>>>>>>>>> app, the connection wont go trough. The executions stops when it hits a
>>>>>>>>>>>>>> getSharedObject or createSharedObject inside Application.roomStart.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The exact stack trace is :
>>>>>>>>>>>>>> 2009-03-20 16:46:00,796 [pool-4-thread-16] ERROR
>>>>>>>>>>>>>> o.red5.server.net.rtmp.RTMPHandler - Error connecting {}
>>>>>>>>>>>>>> java.nio.BufferUnderflowException
>>>>>>>>>>>>>> at java.nio.Buffer.nextGetIndex(Buffer.java:474)
>>>>>>>>>>>>>> [na:1.6.0_12]
>>>>>>>>>>>>>> at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:117)
>>>>>>>>>>>>>> [na:1.6.0_12]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.common.support.BaseByteBuffer.get(BaseByteBuffer.java:177)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at org.red5.io.amf.Input.readDataType(Input.java:85)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.io.object.Deserializer.deserialize(Deserializer.java:50)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.so.SharedObject.deserialize(SharedObject.java:650)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.persistence.FilePersistence.doLoad(FilePersistence.java:293)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.persistence.FilePersistence.doLoad(FilePersistence.java:220)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.persistence.FilePersistence.load(FilePersistence.java:345)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.so.SharedObjectScope.<init>(SharedObjectScope.java:97)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.so.SharedObjectService.createSharedObject(SharedObjectService.java:120)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.adapter.MultiThreadedApplicationAdapter.createSharedObject(MultiThreadedApplicationAdapter.java:644)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> SuperChat.Application.createRoomInScope(Application.java:740)
>>>>>>>>>>>>>> [Application.class:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> SuperChat.Application.loadSettings(Application.java:287)
>>>>>>>>>>>>>> [Application.class:na]
>>>>>>>>>>>>>> at SuperChat.Application.roomStart(Application.java:910)
>>>>>>>>>>>>>> [Application.class:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.adapter.MultiThreadedApplicationAdapter.start(MultiThreadedApplicationAdapter.java:323)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.adapter.ApplicationAdapter.start(ApplicationAdapter.java:60)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at org.red5.server.Scope.addChildScope(Scope.java:274)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at org.red5.server.Scope.createChildScope(Scope.java:364)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.ScopeResolver.resolveScope(ScopeResolver.java:101)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at org.red5.server.Context.resolveScope(Context.java:148)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:250)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:146)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:127)
>>>>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.filter.LoggingFilter.messageReceived(LoggingFilter.java:89)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>>>>>>>>>>>>>> [mina-core-1.1.7.jar:na]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutorjava:886)
>>>>>>>>>>>>>> [na:1.6.0_12]
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>>>>>>>> [na:1.6.0_12]
>>>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:619) [na:1.6.0_12]
>>>>>>>>>>>>>> 2009-03-20 16:46:05,656 [DefaultQuartzScheduler_Worker-7]
>>>>>>>>>>>>>> WARN o.r.server.net.rtmp.RTMPConnection - Closing RTMPMinaConnection from
>>>>>>>>>>>>>> 127.0.0.1 : 1195 to localhost (in: 3429 out 3177 ), with id 21960486 due to
>>>>>>>>>>>>>> long handshake
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Any ideas?!
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Naicu Octavian,
>>>>>>>>>>>>>> Product Manager @ AVChat Software
>>>>>>>>>>>>>> http://www.avchat.net/blog/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Red5 mailing list
>>>>>>>>>>>>>> Red5 at osflash.org
>>>>>>>>>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> And do this, knowing the time, that now it is high time to
>>>>>>>>>>>>> awake out of sleep;
>>>>>>>>>>>>> for now our salvation is nearer than when we first believed.
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Red5 mailing list
>>>>>>>>>>>>> Red5 at osflash.org
>>>>>>>>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Red5 mailing list
>>>>>>>>>>> Red5 at osflash.org
>>>>>>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> And do this, knowing the time, that now it is high time to awake
>>>>>>>>>> out of sleep;
>>>>>>>>>> for now our salvation is nearer than when we first believed.
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Red5 mailing list
>>>>>>>>>> Red5 at osflash.org
>>>>>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>> ------------------------------
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Red5 mailing list
>>>>>>>> Red5 at osflash.org
>>>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Red5 mailing list
>>>>>>>> Red5 at osflash.org
>>>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>>>
>>>>>>>>
>>>>>>> ------------------------------
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Red5 mailing list
>>>>>>> Red5 at osflash.org
>>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Red5 mailing list
>>>>>>> Red5 at osflash.org
>>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> And do this, knowing the time, that now it is high time to awake out
>>>>>> of sleep;
>>>>>> for now our salvation is nearer than when we first believed.
>>>>>>
>>>>>> _______________________________________________
>>>>>> Red5 mailing list
>>>>>> Red5 at osflash.org
>>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>>
>>>>>>
>>>>> ------------------------------
>>>>>
>>>>> _______________________________________________
>>>>> Red5 mailing list
>>>>> Red5 at osflash.org
>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Red5 mailing list
>>>>> Red5 at osflash.org
>>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>>
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> Red5 mailing list
>>> Red5 at osflash.org
>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>
>>>
>>
>>
>> --
>> And do this, knowing the time, that now it is high time to awake out of
>> sleep;
>> for now our salvation is nearer than when we first believed.
>>
>> _______________________________________________
>> Red5 mailing list
>> Red5 at osflash.org
>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>
>>
>
> _______________________________________________
> Red5 mailing list
> Red5 at osflash.org
> http://osflash.org/mailman/listinfo/red5_osflash.org
>
>
--
And do this, knowing the time, that now it is high time to awake out of
sleep;
for now our salvation is nearer than when we first believed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://osflash.org/pipermail/red5_osflash.org/attachments/20090327/41538c6d/attachment-0001.html>
More information about the Red5
mailing list