TurboVNC / turbovnc

Main TurboVNC repository
https://TurboVNC.org
GNU General Public License v2.0
761 stars 138 forks source link

'double free or corruption' in ARM64 #276

Closed woowahan-jaehoon closed 3 years ago

woowahan-jaehoon commented 3 years ago

Hi.

I use turbovnc 2.2.6 in ARM64-based ubuntu 20.04.

For using TurboVNC in that, I built turbojpeg and turbovnc.

It seems to be perfect but it sometimes crashed with this log

double free or corruption (out)
(EE) 
Fatal server error:
(EE) Caught signal 6 (Aborted). Server aborting
(EE) 

How can I find location of issue and fix it?

dcommander commented 3 years ago

Build the TurboVNC Server with debug symbols (CMAKE_BUILD_TYPE=RelWithDebInfo or CMAKE_BUILD_TYPE=Debug), start a TurboVNC Server instance, use gdb attach {TurboVNC-Server-PID} to attach GDB to the instance, and type continue in GDB. When the error occurs, GDB will stop at that point in the code.

You can also use valgrind to detect double free()s. In this case, however, you have to invoke /opt/TurboVNC/bin/Xvnc directly rather than using the vncserver script.