#9 Unknown message type 5

open
nobody
2015-03-29
2011-10-21
No

I see this error message a lot, causing Chicken to disconnect when connected to a vac server running on Oracle Enterprise Linux 6, I can't clear the message until I connect with another VNC client.

Could we at least get a patch to ignore this message rather than disconnect?

Discussion

  • dustinac

    dustinac - 2011-10-22

    The way that the VNC protocol works, the only way to tell the length of a message is to parse it correctly. Thus, this error message could mean that the server is sending a message that Chicken doesn't recognize, or Chicken could be getting out of sync with the server. Even in the former case, there's no way to tell the length of the message, so we can't ignore it without getting out of sync. In short, in order to fix this, we need to figure out the root cause.

    First of all, this seems like it may be a bug with the VNC server. Since connecting with another VNC client makes the problem go away, it seems that the problem is related to the server getting some internal state messed up. Have you tried reporting this bug to Oracle or the VNC server software community?

    Speaking of which, do you know what exactly the VNC server software is and what version?

    Can you try going to Connection Profiles and disabling all the encodings except for Raw and seeing if that helps? Is there a single encoding which seems to be causing the problem?

    Just for reference, here are some forum posts which seem to be related to this bug:
    https://sourceforge.net/projects/chicken/forums/forum/1269540/topic/4425542
    https://sourceforge.net/projects/chicken/forums/forum/1269540/topic/4762086

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous - 2012-01-19

    So I was getting "Unknown message type 9" a lot, and on occassion "Unknown message type -21" when talking to an Xvnc4 server. I'd disabled everything but raw and this continued.

    Digging into the code, I found my issue, which may be the same. In FrameBufferUpdateReader.m there is a hack for compatibility with OSXvnc 1.0. This breaks some frame buffer updates completely because if an update had 2 rectangles, and the first rectangle matches the conditional it breaks out and doesn't decode the second rectangle, and gets everything out of sync.

    In my case, there is a 0x0 rectangle at (0,0) with encoding rfbEncodingRichCursor, which was causing the early exit that broke everything. Adding "&& encoding != rfbEncodingRichCursor" to the conditional solved the problem so far for me.

     
    Last edit: Anonymous 2016-01-11
  • dustinac

    dustinac - 2012-01-21

    Eduardo,

    Thank you very much for identifying digging into the source to identify the cause of this problem and sharing it with us. Your fix is completely correct, but the more I think about it, I'd like to go even further. That whole conditional is contrary to the specification and just a hack for a very old version of OSXvnc that probably isn't actually in use anywhere. I'm pretty sure that for the next release of Chicken, I'm just going to remove the whole conditional.

    Thanks again for your contribution and your interest in Chicken.

     
  • Hari Dara

    Hari Dara - 2012-02-07

    I have been seeing these "unknown message type" errors for very long now and the only way to get out of it is to restart x11vnc on the server. I am glad that a solution is now proposed, I will look forward to a new version with a fix.

     
  • Eric Polinko

    Eric Polinko - 2013-02-15

    I'm also getting a similar error from time to time, and restarting server to solve. On server-side running latest version of Vine Server (OSXvnc).
    Specific error text is: "Unknown message type -125. (Previous encoding was Raw)"

     
    Last edit: Eric Polinko 2013-02-15
  • john hume

    john hume - 2013-04-29

    Getting this same error when connected to a server running vnc4server version 4.1.1+xorg4.3.0-37ubuntu4. Seems to kick in frequently when I'm typing into the gnome-terminal in the session.

    Like others, can restart the server or connect w/ another client to be able to reconnect w/ Chicken.

    The log on the server has this for one of the failed connections:

    Mon Apr 29 16:34:43 2013
     Connections: accepted: 0.0.0.0::51675
     SConnection: Client needs protocol version 3.8
     SConnection: Client requests security type VncAuth(2)
     VNCSConnST:  Server default pixel format depth 16 (16bpp) little-endian rgb565
    
    Mon Apr 29 16:34:44 2013
     VNCSConnST:  Client pixel format depth 16 (16bpp) little-endian rgb565
     Connections: closed: 0.0.0.0::51675 (write: Broken pipe (32))
     SMsgWriter:  framebuffer updates 0
     SMsgWriter:    raw bytes equivalent 2380012, compression ratio inf
    
     
  • dustinac

    dustinac - 2015-03-29
    • labels: --> compatibility
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks