Bug 558986

Summary: vncviewer segfaults
Product: [Fedora] Fedora Reporter: Chris Tyler <ctyler.fedora>
Component: tigervncAssignee: Adam Tkac <atkac>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: atkac, ovasik
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-01-27 07:40:44 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Chris Tyler 2010-01-26 15:41:16 EST
Description of problem:
/usr/bin/vncviewer from tigervnc segfaults on x86_64 and i386 Fedora 12 systems.

Version-Release number of selected component (if applicable):

How reproducible:
Use vncviewer for a period of time. Eventually, it crashes. There doesn't appear to be a reliable set of circumstances under which it crashes, but I suspect that it's related to automatic colour-depth (or possibly encoding) changes.

Additional info:
gdb crash info and backtrace:

Program received signal SIGSEGV, Segmentation fault.
rfb::TransImageGetter::setColourMapEntries (this=0x0, firstCol=0, nCols=0, 
    writer=0x0) at TransImageGetter.cxx:244
244	    nCols = (1 << pb->getPF().depth) - firstCol;

(gdb) bt
#0  rfb::TransImageGetter::setColourMapEntries (this=0x0, firstCol=0, nCols=0, 
    writer=0x0) at TransImageGetter.cxx:244
#1  0x0000000000408384 in DesktopWindow::handleTimeout (this=0x17f96f0, 
    timer=0x0) at DesktopWindow.cxx:323
#2  0x000000000042e666 in rfb::Timer::checkTimeouts () at Timer.cxx:106
#3  0x000000000040aa51 in CConn::blockCallback (this=0x7fffd87fc820)
    at CConn.cxx:178
#4  0x0000000000462599 in rdr::FdInStream::readWithTimeoutOrCallback (
    this=0x17f01d0, buf=<value optimized out>, len=<value optimized out>, 
    wait=true) at FdInStream.cxx:239
#5  0x0000000000462cf2 in rdr::FdInStream::readBytes (this=0x17f01d0, 
    data=<value optimized out>, length=14173) at FdInStream.cxx:122
#6  0x000000000042fb0f in rfb::DecompressJpegRect(const rfb::Rect &, struct rdr::InStream *, rdr::U32 *, struct rfb::CMsgHandler *) (r=@0x7fffd87fc230, 
    is=<value optimized out>, buf=<value optimized out>, handler=
    0x7fffd87fc820) at ../rfb/tightDecode.h:249
#7  0x0000000000430e01 in rfb::tightDecode32 (r=@0x7fffd87fc230, is=0x17f01d0, 
    zis=<value optimized out>, buf=<value optimized out>, 
    handler=<value optimized out>) at ../rfb/tightDecode.h:100
#8  0x00000000004506cc in rfb::CMsgReader::readRect (this=0x17f8eb0, 
    r=@0x7fffd87fc230, encoding=7) at CMsgReader.cxx:115
#9  0x000000000041df62 in rfb::CMsgReaderV3::readMsg (this=0x17f8eb0)
    at CMsgReaderV3.cxx:94
#10 0x00000000004160bb in main (argc=<value optimized out>, 
    argv=0x7fffd87fff28) at vncviewer.cxx:407

(gdb) print nCols
$1 = 0
(gdb) print pb->getFP().depth
Cannot access memory at address 0x10
(gdb) print firstCol
$2 = 0
Comment 1 Chris Tyler 2010-01-26 23:43:07 EST
Another curiosity: abrt isn't catching these segfaults (on multiple boxes).
Comment 2 Adam Tkac 2010-01-27 07:40:44 EST

*** This bug has been marked as a duplicate of bug 551262 ***