[Spice-devel] Release the androidSpice-0.1.3 experimental.

Shuxiang Lim shohyanglim at gmail.com
Mon Apr 25 18:40:35 PDT 2011


Now confirmed,it will fall in dead loop in spice_channel_iterate() for
g_io_wait_interruptable()-->coroutine_yield()-->coroutine_swap() because
coroutine_swap() always returns NULL, how to fix this? Any spice-gtk guys
can help me?
  Rgrds.

On Mon, Apr 25, 2011 at 9:08 PM, Shuxiang Lim <shohyanglim at gmail.com> wrote:

> After some tracing work: I found that,when no input occurs in the
> client,the output flow from server to client may be jammed by the slow
> network but will never be choked.But when there's input, the client
> will always fall soon in the endless calling for coroutine_yield() and
> coroutine_swap() in coroutine_gthread.c (for threads prior
> swapping???why should this?) and usually cause the "yield to
> itself"-->abort() -->segfault. Thus,client will have no mood to
> receive data from server at all,and the output will be choked(input
> still OK).
>  So,why does such dead-lock-liked thing happens only on android,how
> can I fix this,or how can I disable such Swapping? Any ideas?
> Rgrds.
>
>
> On 4/25/11, Shuxiang Lim <shohyanglim at gmail.com> wrote:
> > Hi,all!
> >    I'm happy to release the experimental androidSpice under LGPL,welcome
> to
> > improve!
> >    The source and wiki now dwell in google code site here:
> > http://code.google.com/p/spice-client-android/
> >    All introductions of porting can be found or redirected in the wiki
> > page.
> >
> >    The structure of androidSpice:
> > 1.Data layer,extracted from spice-gtk-0.5, the main logic and data
> > transportation/proccessing of spice protocol,along with all its
> > dependencies,built statically into libspicec.so
> > 2.Data layer will add two new threads in android-worker.c for the I/O
> with
> > Java UI layer via UNIX-sockets(see the PROBLEMS below)
> > 3.UI layer,rewritten in Java. Output the Images and capture user-input
> > events and communicate with libspicec.so.
> >
> > PROBLEMS:
> >
> > "The damned greatest obstacle I've faced in the porting lies in the
> > structure of Android itself:It has no(at least for version<2.3 ) exposed
> > audio/image output and input API for C(only Java!)! So I have to
> transport
> > all the fixed data got from spice-server to Java layer by adding two new
> > threads to handle the I/O communication with Java UI via two
> > UNIX-sockets,that's the leg-drawing of speed. Besides, quic.c in client
> is
> > buggy of SIGBUS or SIGSEGV on android(anyone can fix it?thx!),I have no
> > better way but to force use of JPEG compression in server and the client
> > will send jpeg data directly to Java UI for output, it's queer and should
> > be
> > condemned('cause Spice's value is in the image processing ability)"
> >
> > So now It just WORKS,but works badly, the first untolerable bug is this
> >
> > Bug 1:If press fast on the device the spice-server as well as the
> > android-spice-client will be choked and no image updates will be sent out
> > from server.
> > I'm still working on this bug,I need help!
> >
> > Best regards,
> >     --林
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20110426/91462425/attachment.htm>


More information about the Spice-devel mailing list