Description of problem: I'm not really sure what happened. I had several things going on. - Host System: Browsing web pages in host firefox. - Host System: Copying data from an external USB hard drive to an NFS mounted file system - Host System: VNC viewer was open on another desktop but should have been idle. I didn't notice VNC Viewer crashing because my XServer (KDE) appeared to crash and I was back at a KDM login prompt. Version-Release number of selected component: tigervnc-1.3.0-14.fc20 Additional info: reporter: libreport-2.2.1 backtrace_rating: 4 cmdline: /usr/bin/vncviewer crash_function: rfb::Logger::write executable: /usr/bin/vncviewer kernel: 3.13.10-200.fc20.x86_64 runlevel: N 5 type: CCpp uid: 500 Truncated backtrace: Thread no. 1 (8 frames) #6 rfb::Logger::write at /usr/src/debug/tigervnc-1.3.0/common/rfb/Logger.cxx:54 #7 rfb::LogWriter::info at /usr/src/debug/tigervnc-1.3.0/common/rfb/LogWriter.h:73 #8 CleanupSignalHandler at /usr/src/debug/tigervnc-1.3.0/vncviewer/vncviewer.cxx:112 #10 Fl_Preferences::~Fl_Preferences at Fl_Preferences.cxx:369 #11 __cxa_finalize at cxa_finalize.c:56 #12 __do_global_dtors_aux at /lib64/libfltk.so.1.3 #13 ?? #14 _dl_fini at dl-fini.c:252
Created attachment 890204 [details] File: backtrace
Created attachment 890205 [details] File: cgroup
Created attachment 890206 [details] File: core_backtrace
Created attachment 890207 [details] File: dso_list
Created attachment 890208 [details] File: environ
Created attachment 890209 [details] File: limits
Created attachment 890210 [details] File: maps
Created attachment 890211 [details] File: open_fds
Created attachment 890212 [details] File: proc_pid_status
Created attachment 890213 [details] File: var_log_messages
It looks like it was already in the process of invoking destructors when it got the signal to clean up. Maybe the signal handling needs checking.
What's happened is that a signal, perhaps SIGTERM, has been received during the progress of exiting normally (i.e. 'Exit viewer'). The destructor rfb::Logger::~Logger(this=<logStdErr>) gets called before the destructor Fl_Preferences::~Fl_Preferences() which is the point at which the signal was handled. The problem is the rfb::Logger::~Logger doesn't actually do anything: Logger::~Logger() { // *** Should remove this logger here! }
Reported upstream: https://sourceforge.net/p/tigervnc/bug-tracker/153/