Can reproduce this fairly reliably (3.4.0 64-bit Linux client) using bandwidth throttling.
Log from error "zero size rect: --- 2012-07-16T15:36:28: vncviewer pid is 8909 2012-07-16T15:36:28: vncviewer: 2012-07-16T15:36:28: vncviewer: ThinLinc Client 64-bit v3.4.0post (20120716) 2012-07-16T15:36:28: vncviewer: Built on Jul 16 2012 at 13:01:07 2012-07-16T15:36:28: vncviewer: Copyright (C) 1999-2011 TigerVNC Team and many others 2012-07-16T15:36:28: vncviewer: See included EULA.txt for licensing details. 2012-07-16T15:36:28: vncviewer: See http://www.cendio.com for information on ThinLinc. 2012-07-16T15:36:28: vncviewer: 2012-07-16T15:36:28: vncviewer: Mon Jul 16 15:36:28 2012 2012-07-16T15:36:28: vncviewer: CConn: connected to host 127.0.0.1 port 35131 2012-07-16T15:36:28: unfsd: UNFS3 unfsd 0.9.20 (C) 2006, Pascal Schmidt <unfs3-server@ewetel.net> 2012-07-16T15:36:28: unfsd: /media/cdrom: ip 127.0.0.1 mask 255.255.255.255 options 24 2012-07-16T15:36:28: vncviewer: CConnection: Server supports RFB protocol version 3.8 2012-07-16T15:36:28: vncviewer: CConnection: Using RFB protocol version 3.8 2012-07-16T15:36:28: pulseaudio: W: alsa-util.c: Cannot find mixer control "PCM". 2012-07-16T15:36:28: pulseaudio: E: oss-util.c: open('/dev/dsp'): No such file or directory 2012-07-16T15:36:28: pulseaudio: E: module.c: Failed to load module "module-oss" (argument: ""): initialization failed. 2012-07-16T15:36:28: pulseaudio: E: main.c: Module load failed. 2012-07-16T15:36:28: vncviewer: PlatformPixelBuffer: Using default colormap and visual, TrueColor, depth 24. 2012-07-16T15:36:28: vncviewer: CConn: Using pixel format depth 24 (32bpp) little-endian rgb888 2012-07-16T15:36:28: vncviewer: CConn: Using Tight encoding 2012-07-16T15:36:28: vncviewer: CConn: Enabling continuous updates 2012-07-16T15:36:54: vncviewer: 2012-07-16T15:36:54: vncviewer: Mon Jul 16 15:36:54 2012 2012-07-16T15:36:54: vncviewer: CConn: Throughput 277 kbit/s - changing to quality 6 2012-07-16T15:36:54: vncviewer: CConn: Using Tight encoding 2012-07-16T15:37:03: vncviewer: 2012-07-16T15:37:03: vncviewer: Mon Jul 16 15:37:03 2012 2012-07-16T15:37:03: vncviewer: CConn: Throughput 229 kbit/s - full color is now disabled 2012-07-16T15:37:06: vncviewer: 2012-07-16T15:37:06: vncviewer: Mon Jul 16 15:37:06 2012 2012-07-16T15:37:06: vncviewer: CConn: Using pixel format depth 8 (8bpp) color-map 2012-07-16T15:37:07: vncviewer: 2012-07-16T15:37:07: vncviewer: Mon Jul 16 15:37:07 2012 2012-07-16T15:37:07: vncviewer: CConn: Throughput 272 kbit/s - full color is now enabled 2012-07-16T15:37:10: vncviewer: 2012-07-16T15:37:10: vncviewer: Mon Jul 16 15:37:10 2012 2012-07-16T15:37:10: vncviewer: CConn: Using pixel format depth 24 (32bpp) little-endian rgb888 2012-07-16T15:37:10: vncviewer: Warning: zero size rect 2012-07-16T15:37:10: Process 8909 killed by signal 11 2012-07-16T15:37:10: Log file ended --- Backtrace: --- $ gdb /opt/thinlinc/lib/tlclient/vncviewer ./core.8909 GNU gdb (GDB) Fedora (7.4.50.20120120-49.fc17) Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /opt/thinlinc/lib/tlclient/vncviewer...Reading symbols from /usr/lib/debug/opt/thinlinc/lib/tlclient/vncviewer.debug...done. done. [New LWP 8909] Core was generated by `/opt/thinlinc/lib/tlclient/vncviewer -RemoteResize=1 -FullScreen -FullScreenAll'. Program terminated with signal 11, Segmentation fault. #0 rfb::CMsgReader::readRect (this=0xfb38b0, r=..., encoding=-255) at /home/aaron/ThinLinc/ctc/buildarea/BUILD/thinlinc-client/tigervnc/common/rfb/CMsgReader.cxx:115 115 /home/aaron/ThinLinc/ctc/buildarea/BUILD/thinlinc-client/tigervnc/common/rfb/CMsgReader.cxx: No such file or directory. Missing separate debuginfos, use: debuginfo-install thinlinc-client-3.4.0post-3564.x86_64 (gdb) bt #0 rfb::CMsgReader::readRect (this=0xfb38b0, r=..., encoding=-255) at /home/aaron/ThinLinc/ctc/buildarea/BUILD/thinlinc-client/tigervnc/common/rfb/CMsgReader.cxx:115 #1 0x0000000000457bcd in rfb::CMsgReaderV3::readMsg (this=0xfb38b0) at /home/aaron/ThinLinc/ctc/buildarea/BUILD/thinlinc-client/tigervnc/common/rfb/CMsgReaderV3.cxx:96 #2 0x000000000044bf40 in CConn::socketEvent (fd=<optimized out>, data=0xfb47c0) at /home/aaron/ThinLinc/ctc/buildarea/BUILD/thinlinc-client/tigervnc/vncviewer/CConn.cxx:223 #3 0x00000000004afebf in fl_wait(double) () #4 0x000000000049813a in Fl::wait(double) () #5 0x00000000004557de in main (argc=16, argv=<optimized out>) at /home/aaron/ThinLinc/ctc/buildarea/BUILD/thinlinc-client/tigervnc/vncviewer/vncviewer.cxx:424 --- This was achieved with a nightly build against tl.cendio.se, on a ~3Mb/s connection.
Log from error "unknown message type": --- 2012-07-16T16:11:34: vncviewer pid is 9268 2012-07-16T16:11:34: vncviewer: 2012-07-16T16:11:34: vncviewer: ThinLinc Client 64-bit v3.4.0post (20120716) 2012-07-16T16:11:34: vncviewer: Built on Jul 16 2012 at 13:01:07 2012-07-16T16:11:34: vncviewer: Copyright (C) 1999-2011 TigerVNC Team and many others 2012-07-16T16:11:34: vncviewer: See included EULA.txt for licensing details. 2012-07-16T16:11:34: vncviewer: See http://www.cendio.com for information on ThinLinc. 2012-07-16T16:11:34: unfsd: UNFS3 unfsd 0.9.20 (C) 2006, Pascal Schmidt <unfs3-server@ewetel.net> 2012-07-16T16:11:34: unfsd: /media/cdrom: ip 127.0.0.1 mask 255.255.255.255 options 24 2012-07-16T16:11:34: vncviewer: 2012-07-16T16:11:34: vncviewer: Mon Jul 16 16:11:34 2012 2012-07-16T16:11:34: vncviewer: CConn: connected to host 127.0.0.1 port 54485 2012-07-16T16:11:34: vncviewer: CConnection: Server supports RFB protocol version 3.8 2012-07-16T16:11:34: vncviewer: CConnection: Using RFB protocol version 3.8 2012-07-16T16:11:34: pulseaudio: W: alsa-util.c: Cannot find mixer control "PCM". 2012-07-16T16:11:34: pulseaudio: E: oss-util.c: open('/dev/dsp'): No such file or directory 2012-07-16T16:11:34: pulseaudio: E: module.c: Failed to load module "module-oss" (argument: ""): initialization failed. 2012-07-16T16:11:34: pulseaudio: E: main.c: Module load failed. 2012-07-16T16:11:34: vncviewer: PlatformPixelBuffer: Using default colormap and visual, TrueColor, depth 24. 2012-07-16T16:11:34: vncviewer: CConn: Using pixel format depth 24 (32bpp) little-endian rgb888 2012-07-16T16:11:34: vncviewer: CConn: Using Tight encoding 2012-07-16T16:11:34: vncviewer: CConn: Enabling continuous updates 2012-07-16T16:11:34: vncviewer: PlatformPixelBuffer: Using default colormap and visual, TrueColor, depth 24. 2012-07-16T16:11:34: vncviewer: DesktopWindow: Failure grabbing mouse 2012-07-16T16:11:35: Last line was repeated 1 time(s). 2012-07-16T16:11:35: vncviewer: 2012-07-16T16:11:35: vncviewer: Mon Jul 16 16:11:35 2012 2012-07-16T16:11:35: vncviewer: DesktopWindow: Failure grabbing mouse 2012-07-16T16:11:36: Last line was repeated 1 time(s). 2012-07-16T16:11:36: vncviewer: 2012-07-16T16:11:36: vncviewer: Mon Jul 16 16:11:36 2012 2012-07-16T16:11:36: vncviewer: DesktopWindow: Failure grabbing mouse 2012-07-16T16:11:37: Last line was repeated 1 time(s). 2012-07-16T16:11:37: vncviewer: 2012-07-16T16:11:37: vncviewer: Mon Jul 16 16:11:37 2012 2012-07-16T16:11:37: vncviewer: DesktopWindow: Failure grabbing mouse 2012-07-16T16:11:38: Last line was repeated 1 time(s). 2012-07-16T16:11:38: vncviewer: 2012-07-16T16:11:38: vncviewer: Mon Jul 16 16:11:38 2012 2012-07-16T16:11:38: vncviewer: DesktopWindow: Failure grabbing mouse 2012-07-16T16:11:39: Last line was repeated 1 time(s). 2012-07-16T16:11:39: vncviewer: 2012-07-16T16:11:39: vncviewer: Mon Jul 16 16:11:39 2012 2012-07-16T16:11:39: vncviewer: DesktopWindow: Failure grabbing mouse 2012-07-16T16:11:46: vncviewer: 2012-07-16T16:11:46: vncviewer: Mon Jul 16 16:11:46 2012 2012-07-16T16:11:46: vncviewer: CConn: Throughput 213 kbit/s - changing to quality 6 2012-07-16T16:11:46: vncviewer: CConn: Throughput 213 kbit/s - full color is now disabled 2012-07-16T16:11:48: vncviewer: 2012-07-16T16:11:48: vncviewer: Mon Jul 16 16:11:48 2012 2012-07-16T16:11:48: vncviewer: CConn: Using pixel format depth 8 (8bpp) color-map 2012-07-16T16:11:48: vncviewer: CConn: Using Tight encoding 2012-07-16T16:11:59: vncviewer: unknown message type 232
Log from error "rect too big": --- 2012-07-16T16:16:50: vncviewer pid is 9312 2012-07-16T16:16:50: vncviewer: 2012-07-16T16:16:50: vncviewer: ThinLinc Client 64-bit v3.4.0post (20120716) 2012-07-16T16:16:50: vncviewer: Built on Jul 16 2012 at 13:01:07 2012-07-16T16:16:50: vncviewer: Copyright (C) 1999-2011 TigerVNC Team and many others 2012-07-16T16:16:50: vncviewer: See included EULA.txt for licensing details. 2012-07-16T16:16:50: vncviewer: See http://www.cendio.com for information on ThinLinc. 2012-07-16T16:16:50: vncviewer: 2012-07-16T16:16:50: vncviewer: Mon Jul 16 16:16:50 2012 2012-07-16T16:16:50: vncviewer: CConn: connected to host 127.0.0.1 port 44231 2012-07-16T16:16:50: vncviewer: CConnection: Server supports RFB protocol version 3.8 2012-07-16T16:16:50: vncviewer: CConnection: Using RFB protocol version 3.8 2012-07-16T16:16:50: pulseaudio: W: alsa-util.c: Cannot find mixer control "PCM". 2012-07-16T16:16:50: vncviewer: PlatformPixelBuffer: Using default colormap and visual, TrueColor, depth 24. 2012-07-16T16:16:50: vncviewer: CConn: Using pixel format depth 24 (32bpp) little-endian rgb888 2012-07-16T16:16:50: vncviewer: CConn: Using Tight encoding 2012-07-16T16:16:50: pulseaudio: E: oss-util.c: open('/dev/dsp'): No such file or directory 2012-07-16T16:16:50: pulseaudio: E: module.c: Failed to load module "module-oss" (argument: ""): initialization failed. 2012-07-16T16:16:50: pulseaudio: E: main.c: Module load failed. 2012-07-16T16:17:12: vncviewer: 2012-07-16T16:17:12: vncviewer: Mon Jul 16 16:17:12 2012 2012-07-16T16:17:12: vncviewer: CConn: Throughput 240 kbit/s - changing to quality 6 2012-07-16T16:17:12: vncviewer: CConn: Throughput 240 kbit/s - full color is now disabled 2012-07-16T16:17:12: vncviewer: CConn: Enabling continuous updates 2012-07-16T16:17:15: vncviewer: 2012-07-16T16:17:15: vncviewer: Mon Jul 16 16:17:15 2012 2012-07-16T16:17:15: vncviewer: CConn: Using pixel format depth 8 (8bpp) color-map 2012-07-16T16:17:15: vncviewer: CConn: Using Tight encoding 2012-07-16T16:17:23: vncviewer: 2012-07-16T16:17:23: vncviewer: Mon Jul 16 16:17:23 2012 2012-07-16T16:17:23: vncviewer: CConn: Throughput 271 kbit/s - full color is now enabled 2012-07-16T16:17:24: vncviewer: 2012-07-16T16:17:24: vncviewer: Mon Jul 16 16:17:24 2012 2012-07-16T16:17:24: vncviewer: CConn: Using pixel format depth 24 (32bpp) little-endian rgb888 2012-07-16T16:17:30: vncviewer: 2012-07-16T16:17:30: vncviewer: Mon Jul 16 16:17:30 2012 2012-07-16T16:17:30: vncviewer: CConn: Throughput 209 kbit/s - full color is now disabled 2012-07-16T16:17:33: vncviewer: 2012-07-16T16:17:33: vncviewer: Mon Jul 16 16:17:33 2012 2012-07-16T16:17:33: vncviewer: CConn: Using pixel format depth 8 (8bpp) color-map 2012-07-16T16:17:36: vncviewer: Rect too big: 276x69 at 37038,805 exceeds 1024x768 2012-07-16T16:17:36: vncviewer: 2012-07-16T16:17:36: vncviewer: Mon Jul 16 16:17:36 2012 2012-07-16T16:17:36: vncviewer: CConn: Rect too big 2012-07-16T16:17:41: Process 9312 exited with code 0 2012-07-16T16:17:42: Log file ended
(In reply to comment #2) > Log from error "zero size rect: This segfault is caused whenever a negative encoding value is encountered. The first step is to stop the client segfaulting when this happens, and the second step is to find out why we are getting negative encoding values from the server in the first place.
(In reply to comment #5) > (In reply to comment #2) > > Log from error "zero size rect: > > This segfault is caused whenever a negative encoding value is encountered. The > first step is to stop the client segfaulting when this happens A patch has been committed upstream and will be pulled in with the next > find out why we are getting negative encoding values from the server > in the first place. The reason that this manifests itself over limited bandwidth is because in this situation, the pixel depth is switching between back and forth between low and high colour all the time. If this pixel depth is not in sync between the client and server, then the server may, for example, send a 24-bit cursor update while the client is only reading the data for an 8-bit cursor update. This leaves extra rubbish in the pipe, which is interpreted as bad data on the next read. In this case the error is in fact in the cursor update code.
Problem was a bug in the fence code. The client uses fences to determine when the server has properly switched pixel formats. Unfortunately the server sent out the fence response too early, creating a small window where the client has switched to the new pixel format, but the server still uses the old one. Fixed in r25518.
Works on 200 ms RTT/50 kbps.
Still getting this problem (both "Zlib: Inflate failed" and "rect too big") from the other side of the world on a 256kb/~370ms connection. Leaving bug closed for now though, until we can reproduce it without having to fly to New Zealand.
(In reply to comment #9) > Still getting this problem (both "Zlib: Inflate failed" and "rect too big") > from the other side of the world on a 256kb/~370ms connection. Leaving bug > closed for now though, until we can reproduce it without having to fly to New > Zealand. Continuing on bug 4536.