vncviewer/4.1.3 with -Log='*:stdout:100' crashes after session is closed ( Solaris )

2011-11-14 Thread Parthasarathy Selvaraj


This happens with version 4.1.3 on Solaris 10.

[partha@walle ~]$vncviewer -Log=*:stdout:100 -FullColour 
geometry=1680x1050+0+0 :2


VNC Viewer Free Edition 4.1.3 for X - built Dec  3 2008 23:03:17
Copyright (C) 2002-2008 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.

Mon Sep 12 19:27:49 2011
 Config:  set FullColour(Bool) to 1
 Config:  set geometry(String) to 1680x1050+0+0
 CConn:   connected to host localhost port 5902
 CConnection: reading protocol version
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8
 CConnection: processing security types message
 CConnection: Server offers security type VncAuth(2)
 CConnection: Choosing security type VncAuth(2)
 CConnection: processing security message

Mon Sep 12 19:27:51 2011
 CConnection: processing security result message
 CConnection: processing security result message
 CConnection: Authentication success!
 CConnection: reading server initialisation
 CConnection: initialisation done
 TXImage: Using shared memory XImage
 TXImage: Using default colormap and visual, TrueColor, depth 24.
 CConn:   Using pixel format depth 24 (32bpp) little-endian rgb888
 CConn:   Using ZRLE encoding
 DesktopWindow: no selection (1)
 DesktopWindow: no selection (271)
 PixelBuffer: reallocating managed buffer (16x16)
 PixelBuffer: reallocating managed buffer (16x16)
 PixelBuffer: reallocating managed buffer (16x16)
 PixelBuffer: reallocating managed buffer (16x16)
 DesktopWindow: no selection (1)
 DesktopWindow: no selection (271)
 DesktopWindow: cut buffer time is 0, later 0

Mon Sep 12 19:28:19 2011
 DesktopWindow: no selection (1)
 DesktopWindow: no selection (271)
 DesktopWindow: cut buffer time is 0, later 0
Pure virtual function called
Abort (core dumped)

[partha@walle /local/cores]$pstack vncviewer___pid16113_i86pc_walle | 
/local/CBE/SunStudio/SS12/bin/c++filt


core 'vncviewer___pid16113_i86pc_walle' of 16113:   vncviewer 
-Log=*:stdout:100 -FullColour geometry=1680x1050+0+0 :1

 fef2b485 _lwp_kill (1, 6) + 15
 feed26b7 raise(6) + 1f
 feeb1e1d abort(80c5528, 8068b18, 8044d10, 80bb000, 8044d10, 
80887a0) + cd

 fecd6884 void __Crun::pure_error() (80c5528, 64, 80a573c, 8043d10) + 2c
 080887a0 void rfb::Logger::write(int,const char*,const char*,void*) 
(80c5528, 64, 80a573c, 80a5984, 8044d44) + 4c
 08077d44 void rfb::LogWriter::debug(const char*,...) (80c3e28, 
80a5984) + 34

 0807a590 void TXImage::destroyXImage() (843dca0) + 38
 08079d23 TXImage::~TXImage() (843dca0) + 3b
 0807abcd __SLIP.DELETER__D (843dca0, 1) + 1d
 0807ae80 TXImageCleanup::~TXImageCleanup #Nvariant 1() (80c3e98) + 40
 0807aa4b __SLIP.FINAL__B (80c3f8c, 8044f40, fef9e000, fefa3ec0, 
8044e84, feea4de2) + 1f

 feeb2569 _exithandle (80bb000, 806b636, 1, 80bb000, 8044f24, 8044f24) + 4e
 feea4de2 exit (80451e8, 8432f70) + 12
 0807da1f void TXWindow::handleXEvent(_XEvent*) (8432f70, 8044f40) + a3
 0807cb0c void TXWindow::handleXEvents(_XDisplay*) (84248f0) + a8
 0806b76f void CConn::blockCallback() (80451e8) + 3b
 080a2c3b int 
rdr::FdInStream::readWithTimeoutOrCallback(void*,int,bool) (8433e28, 
8433e68, 2000, 1) + 1f7
 080a2a02 int rdr::FdInStream::overrun(int,int,bool) (8433e28, 1, 1, 1) 
+ d2

 0807885d main (5, 8047220, 8047238) + 4ed
 08068ba2  (5, 804736c, 8047376, 8047388, 8047394, 80473ab)


This is due to the static order initialization/destruction fiasco 
problem. I've attached a simple fix, which should fix this problem. Can 
someone review the changes ?


--
Thanks,
Partha
diff -r 622f45d3847e common/rfb/Logger_stdio.cxx
--- a/common/rfb/Logger_stdio.cxx   Thu Sep 22 21:03:27 2011 +0530
+++ b/common/rfb/Logger_stdio.cxx   Thu Sep 22 21:04:59 2011 +0530
@@ -22,11 +22,11 @@
 
 using namespace rfb;
 
-static Logger_StdIO logStdErr(stderr, stderr);
-static Logger_StdIO logStdOut(stdout, stdout);
+bool rfb::initStdIOLoggers() {
+  static Logger_StdIO *logStdErr = new Logger_StdIO(stderr, stderr);
+  static Logger_StdIO *logStdOut = new Logger_StdIO(stdout, stdout);
 
-bool rfb::initStdIOLoggers() {
-  logStdErr.registerLogger();
-  logStdOut.registerLogger();
+  logStdErr-registerLogger();
+  logStdOut-registerLogger();
   return true;
 }
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


VNC server stops responding after a few days

2011-11-14 Thread James Wheaton

Hi everyone,

We've got a problem with RealVNC server which stops working after a few 
days. A computer reboot is required to get it to work again. The error 
message upon connecting is: unable to connect to host. 2 computers do 
this on the regular and they have Windows XP installed. Is this a known 
problem? Any idea what could be causing it?

--
James Wheaton
FloSource, Inc.
Phone: 765.342.1360
Fax: 765.342.1361

Visit us on the web: www.flosource.com http://www.flosource.com
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: VNC server stops responding after a few days

2011-11-14 Thread Paul Dunn

On 14/11/2011 16:41, James Wheaton wrote:

Hi everyone,

We've got a problem with RealVNC server which stops working after a few
days. A computer reboot is required to get it to work again. The error
message upon connecting is: unable to connect to host. 2 computers do
this on the regular and they have Windows XP installed. Is this a known
problem? Any idea what could be causing it?


DNS lease timeout?

___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list