Bug Tracker item #3305357, was opened at 2011-05-20 18:00
Message generated for change (Comment added) made by dcommander
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1126848&aid=3305357&group_id=254363

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: UN*X version
Group: 1.1.X
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Brian Hinz (bphinz)
Assigned to: Adam Tkac (atkac)
Summary: Enabling custom compression level on client crashes server

Initial Comment:
Enabling custom compression causes the server to crash with the following log 
message:

Fri May 20 18:39:07 2011
 VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian rgb888

Fri May 20 18:40:11 2011
 Connections: closed: 10.1.1.20::42053 (ZlibOutStream: deflate failed)
 SMsgWriter:  framebuffer updates 148
 SMsgWriter:    copyRect rects 43, bytes 688
 SMsgWriter:    Tight rects 592, bytes 311570
 SMsgWriter:    raw bytes equivalent 18822164, compression ratio 60.410707
Segmentation fault

Tried from both java and Windows exe.  Tried DRC's latest nightly build as well 
as r4428 (1_1 branch) built on RHEL4.

----------------------------------------------------------------------

>Comment By: D. R. Commander (dcommander)
Date: 2011-06-02 13:00

Message:
Seems OK to me.  I'd like to hear from Adam before committing it.


----------------------------------------------------------------------

Comment By: Brian Hinz (bphinz)
Date: 2011-05-28 09:15

Message:
Sorry, SYNC_FLUSH does seem to work.  FULL_FLUSH causes a segfault when the
client chooses compression level 1.  Attaching new patch.

----------------------------------------------------------------------

Comment By: Brian Hinz (bphinz)
Date: 2011-05-22 14:47

Message:
Can someone review the attached patch?  It seems to resolve the issue, but
to be honest I don't know much about compression.  The libz spec says the
following:

<snip>
Applications should ensure that the stream is flushed, e.g. by a call to
deflate(stream, Z_SYNC_FLUSH) before calling deflateParams(), or ensure
that there is sufficient space in next_out (as identified by avail_out) to
ensure that all pending output and all uncompressed input can be flushed in
a single call to deflate().

Rationale: Although the deflateParams() function should flush pending
output and compress all pending input, the result is unspecified if there
is insufficient space in the output buffer. Applications should only call
deflateParams() when the stream is effectively empty (flushed).
</snip>

So it seems like the Z_FULL_FLUSH is not necessary, however a Z_SYNC_FLUSH
didn't work.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1126848&aid=3305357&group_id=254363

------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger.
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Discover what all the cheering's about.
Get your free trial download today. 
http://p.sf.net/sfu/quest-dev2dev2 
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to