[Pkg-tigervnc-devel] Bug#923962: 923962: tigervnc-standalone-server: crashes on ARM after VncAuth

Bernhard Übelacker bernhardu at mailbox.org
Thu Apr 11 23:38:03 BST 2019


Dear Maintainer,
I tried to triage that issue and came to this try and catch block:

    146       try {
    147         PlainPasswd plainPassword(obfuscated);
    148         password->replaceBuf(plainPassword.takeBuf());
    149         PlainPasswd plainPasswordReadOnly(obfuscatedReadOnly);
    150         readOnlyPassword->replaceBuf(plainPasswordReadOnly.takeBuf());
    151       } catch (...) {
    152       }

In line 149 a new object is tried to be constructed while there
is no readonly password configured:

    (gdb) print obfuscatedReadOnly
    $2 = {<rfb::CharArray> = {buf = 0xaaaad89b3a10 "\b1\236\253\377\377"}, length = 0}

Now in the constuctor an exception is thrown in line 46:

    44      PlainPasswd::PlainPasswd(const ObfuscatedPasswd& obfPwd) : CharArray(9) {
    45        if (obfPwd.length < 8)
    46          throw rdr::Exception("bad obfuscated password length");


Now I think below __cxa_throw something goes wrong.
As far as I see in libunwind we receive from unw_get_proc_info
a -10 which leads to a:

    60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
    61              return _URC_FATAL_PHASE1_ERROR;

Therefore in __cxa_throw std::terminate() is called:

    93        // Some sort of unwinding error.  Note that terminate is a handler.
    94        __cxa_begin_catch (&header->exc.unwindHeader);
    95        std::terminate ();

This std::terminate "just" sends a signal that is catched by OsSigHandler.


So I am unsure who has to be asked for.
Should this issue be forwarded to libunwind8 ?


Attached some debugging attempts.


Kind regards,
Bernhard



Problem seem to start here:
    (gdb) bt
    #0  0x0000ffff958ebed8 in _Unwind_RaiseException (exception_object=exception_object at entry=0xaaab147e2960) at unwind/RaiseException.c:60
    #1  0x0000ffff953afba4 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaab147e2980, tinfo=0xaaaae06f4df8 <typeinfo for rdr::Exception>, dest=0xaaaae05b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:90
    #2  0x0000aaaae05ee4d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe2f00d00, obfPwd=...) at ./common/rfb/Password.cxx:46
    #3  0x0000aaaae05dd144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe2f00d90, readOnlyPassword=0xffffe2f00d98) at ./common/rfb/SSecurityVncAuth.cxx:149
    #4  0x0000aaaae05dd5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaab148571e0, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
    #5  0x0000aaaae05d5348 in rfb::SConnection::processSecurityMsg (this=0xaaab1480eea0) at ./common/rfb/SConnection.cxx:213
    #6  0x0000aaaae05e1f64 in rfb::VNCSConnectionST::processMessages (this=0xaaab1480eea0) at ./common/rfb/VNCSConnectionST.cxx:151
    #7  0x0000aaaae05bf178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaab14497f70, fd=fd at entry=10, sockserv=0xaaab144ae920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
    #8  0x0000aaaae05bf28c in XserverDesktop::handleSocketEvent (this=0xaaab14497f70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
    #9  0x0000aaaae065e2d8 in ospoll_wait (ospoll=0xaaab14497b80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
    #10 0x0000aaaae0657090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
    #11 0x0000aaaae060f774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
    #12 0x0000aaaae0614ae8 in dix_main (argc=20, argv=0xffffe2f02218, envp=0xffffe2f022c0) at ././unix/xserver/dix/main.c:276
    #13 0x0000ffff950ecd24 in __libc_start_main (main=0xaaaae04e3150 <main>, argc=20, argv=0xffffe2f02218, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
    #14 0x0000aaaae04e49c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210


Final backtrace:
    (gdb) bt
    #0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
    #1  0x0000ffff950ec8e8 in __GI_abort () at abort.c:79
    #2  0x0000aaaae06604dc in OsAbort () at ././unix/xserver/os/utils.c:1350
    #3  0x0000aaaae0665c24 in AbortServer () at ././unix/xserver/os/log.c:879
    #4  0x0000aaaae0666984 in FatalError (f=f at entry=0xaaaae0685890 "Caught signal %d (%s). Server aborting\n") at ././unix/xserver/os/log.c:1017
    #5  0x0000aaaae065d8b4 in OsSigHandler (unused=<optimized out>, sip=0xffffe2eff670, signo=6) at ././unix/xserver/os/osinit.c:156
    #6  OsSigHandler (signo=6, sip=0xffffe2eff670, unused=<optimized out>) at ././unix/xserver/os/osinit.c:110
    #7  <signal handler called>
    #8  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
    #9  0x0000ffff950ec8e8 in __GI_abort () at abort.c:79
    #10 0x0000ffff953b1ac4 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:50
    #11 0x0000ffff953af8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
    #12 0x0000ffff953af8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
    #13 0x0000ffff953afc10 in __cxxabiv1::__cxa_rethrow () at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:133
    #14 0x0000ffff953b1a60 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:80
    #15 0x0000ffff953af8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
    #16 0x0000ffff953af8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
    #17 0x0000ffff953afbb0 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaab147e2980, tinfo=0xaaaae06f4df8 <typeinfo for rdr::Exception>, dest=0xaaaae05b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:95
    #18 0x0000aaaae05ee4d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe2f00d00, obfPwd=...) at ./common/rfb/Password.cxx:46
    #19 0x0000aaaae05dd144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe2f00d90, readOnlyPassword=0xffffe2f00d98) at ./common/rfb/SSecurityVncAuth.cxx:149
    #20 0x0000aaaae05dd5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaab148571e0, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
    #21 0x0000aaaae05d5348 in rfb::SConnection::processSecurityMsg (this=0xaaab1480eea0) at ./common/rfb/SConnection.cxx:213
    #22 0x0000aaaae05e1f64 in rfb::VNCSConnectionST::processMessages (this=0xaaab1480eea0) at ./common/rfb/VNCSConnectionST.cxx:151
    #23 0x0000aaaae05bf178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaab14497f70, fd=fd at entry=10, sockserv=0xaaab144ae920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
    #24 0x0000aaaae05bf28c in XserverDesktop::handleSocketEvent (this=0xaaab14497f70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
    #25 0x0000aaaae065e2d8 in ospoll_wait (ospoll=0xaaab14497b80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
    #26 0x0000aaaae0657090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
    #27 0x0000aaaae060f774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
    #28 0x0000aaaae0614ae8 in dix_main (argc=20, argv=0xffffe2f02218, envp=0xffffe2f022c0) at ././unix/xserver/dix/main.c:276
    #29 0x0000ffff950ecd24 in __libc_start_main (main=0xaaaae04e3150 <main>, argc=20, argv=0xffffe2f02218, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
    #30 0x0000aaaae04e49c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210
-------------- next part --------------

#923962, tigervnc-standalone-server: crashes on ARM after VncAuth

# Buster aarch64 qemu VM 2019-04-11


apt update
apt dist-upgrade


apt install dpkg-dev devscripts systemd-coredump net-tools psmisc openbox mc gdb tigervnc-standalone-server tigervnc-standalone-server-dbgsym libstdc++6-8-dbg libunwind8-dbgsym



mkdir /home/benutzer/source/tigervnc-standalone-server/orig -p
cd    /home/benutzer/source/tigervnc-standalone-server/orig
apt source tigervnc-standalone-server
cd

mkdir /home/benutzer/source/libstdc++6/orig -p
cd    /home/benutzer/source/libstdc++6/orig
apt source libstdc++6
cd gcc-8-8.3.0
dpkg-buildpackage -b -d
cd

mkdir /home/benutzer/source/libunwind8/orig -p
cd    /home/benutzer/source/libunwind8/orig
apt source libunwind8
cd






# At aarch64 host
tigervncserver


# At another host e.g. amd64
xtigervncviewer 127.0.0.1:5901



gdb -q --pid $(pidof Xtigervnc)

set width 0
set pagination off
directory /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg
directory /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0
directory /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os
directory /home/benutzer/source/libunwind8/orig/libunwind-1.2.1/src
b rfb::VncAuthPasswdParameter::getVncAuthPasswd
cont
b rfb::PlainPasswd::PlainPasswd
cont
cont
b __cxxabiv1::__cxa_throw
cont
b _Unwind_RaiseException
cont
b _ULaarch64_dwarf_make_proc_info
cont



#########



benutzer at debian:~$ tigervncserver 

New 'debian:1 (benutzer)' desktop at :1 on machine debian

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/benutzer/.vnc/debian:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/benutzer/.vnc/passwd :1 to connect to the VNC server.


benutzer at debian:~$ cat /home/benutzer/.vnc/debian:1.log

Xvnc TigerVNC 1.9.0 - built Dec  1 2018 21:51:29
Copyright (C) 1999-2018 TigerVNC Team and many others (see README.rst)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12003000, The X.Org Foundation


Thu Apr 11 18:23:55 2019
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on local interface(s), port 5901
 vncext:      created VNC server for screen 0
benutzer at debian:~$ pstree -p
systemd(1)─┬─Xtigervnc(3070)─┬─{Xtigervnc}(3084)
           │                 ├─{Xtigervnc}(3085)
           │                 ├─{Xtigervnc}(3086)
           │                 ├─{Xtigervnc}(3087)
           │                 ├─{Xtigervnc}(3088)
           │                 ├─{Xtigervnc}(3089)
           │                 ├─{Xtigervnc}(3090)
           │                 └─{Xtigervnc}(3091)
           ├─agetty(396)
           ├─agetty(397)
           ├─cron(392)
           ├─dbus-daemon(389)
           ├─dhclient(363)
           ├─rsyslogd(386)─┬─{rsyslogd}(393)
           │               ├─{rsyslogd}(394)
           │               └─{rsyslogd}(395)
           ├─sshd(398)─┬─sshd(400)───sshd(412)───bash(413)───su(416)───bash(417)
           │           └─sshd(427)───sshd(436)───bash(437)───pstree(3122)
           ├─systemd(403)───(sd-pam)(404)
           ├─systemd-journal(225)
           ├─systemd-logind(390)
           ├─systemd-timesyn(367)───{systemd-timesyn}(384)
           ├─systemd-udevd(250)
           └─tigervncserver(3071)───Xvnc-session(3072)─┬─openbox(3074)─┬─ssh-agent(3105)
                                                       │               └─xdg-autostart(3107)
                                                       └─vncconfig(3073)
benutzer at debian:~$ netstat -anp | grep -i vnc
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:5901          0.0.0.0:*               LISTEN      3070/Xtigervnc      
tcp6       0      0 ::1:5901                :::*                    LISTEN      3070/Xtigervnc      
unix  2      [ ACC ]     STREAM     LISTENING     21592    3070/Xtigervnc       /tmp/.X11-unix/X1
unix  2      [ ACC ]     STREAM     LISTENING     21591    3070/Xtigervnc       @/tmp/.X11-unix/X1
unix  3      [ ]         STREAM     CONNECTED     23556    3073/vncconfig       
unix  3      [ ]         STREAM     CONNECTED     21598    3070/Xtigervnc       @/tmp/.X11-unix/X1
unix  3      [ ]         STREAM     CONNECTED     21609    3070/Xtigervnc       @/tmp/.X11-unix/X1


#########

From amd64 host:

$ xtigervncviewer 127.0.0.1:5901

TigerVNC Viewer 64-bit v1.9.0
Built on: 2018-12-01 21:51
Copyright (C) 1999-2018 TigerVNC Team and many others (see README.rst)
See http://www.tigervnc.org for information on TigerVNC.

Thu Apr 11 18:32:05 2019
 DecodeManager: Detected 16 CPU core(s)
 DecodeManager: Creating 4 decoder thread(s)
 CConn:       connected to host 127.0.0.1 port 5901
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8
 CConnection: Choosing security type VncAuth(2)

Thu Apr 11 18:32:14 2019
 CConn:       End of stream


#########



benutzer at debian:~$ cat /home/benutzer/.vnc/debian:1.log

...

Thu Apr 11 18:32:05 2019
 Connections: accepted: 127.0.0.1::40830
 SConnection: Client needs protocol version 3.8
 SConnection: Client requests security type VncAuth(2)
terminate called after throwing an instance of 'rdr::Exception'
terminate called recursively
(EE) 
(EE) Backtrace:
(EE) 0: /usr/bin/Xtigervnc (OsLookupColor+0x1a8) [0xaaaaaceeb9d0]
(EE) unw_get_proc_info failed: no unwind info found [-10]
(EE) 
(EE) 
Fatal server error:
(EE) Caught signal 6 (Aborted). Server aborting
(EE) 
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":1"
      after 211 requests (210 known processed) with 0 events remaining.
Killing Xtigervnc process ID 3070... which was already dead
Cleaning stale pidfile '/home/benutzer/.vnc/debian:1.pid'!



#########



benutzer at debian:~$ pstree -p
systemd(1)─┬─Xtigervnc(3161)─┬─{Xtigervnc}(3173)
           │                 ├─{Xtigervnc}(3174)
           │                 ├─{Xtigervnc}(3175)
           │                 ├─{Xtigervnc}(3176)
           │                 ├─{Xtigervnc}(3177)
           │                 ├─{Xtigervnc}(3178)
           │                 ├─{Xtigervnc}(3179)
           │                 └─{Xtigervnc}(3180)




benutzer at debian:~$ gdb -q --pid $(pidof Xtigervnc)
Attaching to process 3161
[New LWP 3173]
[New LWP 3174]
[New LWP 3175]
[New LWP 3176]
[New LWP 3177]
[New LWP 3178]
[New LWP 3179]
[New LWP 3180]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
0x0000ffffab946ad0 in __GI_epoll_pwait (epfd=<optimized out>, events=events at entry=0xffffe0252108, maxevents=maxevents at entry=256, timeout=<optimized out>, set=set at entry=0x0)
    at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
42      ../sysdeps/unix/sysv/linux/epoll_pwait.c: No such file or directory.
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg
Source directories searched: /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000ffffab8978e8 in __GI_abort () at abort.c:79
#2  0x0000ffffabb5cac4 in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#3  0x0000ffffabb5a8ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#4  0x0000ffffabb5a8f8 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#5  0x0000ffffabb5ac10 in __cxa_rethrow () from /lib/aarch64-linux-gnu/libstdc++.so.6
#6  0x0000ffffabb5ca60 in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#7  0x0000ffffabb5a8ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#8  0x0000ffffabb5a8f8 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#9  0x0000ffffabb5abb0 in __cxa_throw () from /lib/aarch64-linux-gnu/libstdc++.so.6
#10 0x0000aaaab58244d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe0251ed0, obfPwd=...) at ./common/rfb/Password.cxx:46
#11 0x0000aaaab5813144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe0251f60, readOnlyPassword=0xffffe0251f68) at ./common/rfb/SSecurityVncAuth.cxx:149
#12 0x0000aaaab58135a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaaad89b5270, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#13 0x0000aaaab580b348 in rfb::SConnection::processSecurityMsg (this=0xaaaad896cf30) at ./common/rfb/SConnection.cxx:213
#14 0x0000aaaab5817f64 in rfb::VNCSConnectionST::processMessages (this=0xaaaad896cf30) at ./common/rfb/VNCSConnectionST.cxx:151
#15 0x0000aaaab57f5178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaaad85f5f70, fd=fd at entry=10, sockserv=0xaaaad860c920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#16 0x0000aaaab57f528c in XserverDesktop::handleSocketEvent (this=0xaaaad85f5f70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#17 0x0000aaaab58942d8 in ospoll_wait (ospoll=0xaaaad85f5b80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#18 0x0000aaaab588d090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#19 0x0000aaaab5845774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#20 0x0000aaaab584aae8 in dix_main (argc=20, argv=0xffffe02533e8, envp=0xffffe0253490) at ././unix/xserver/dix/main.c:276
#21 0x0000ffffab897d24 in __libc_start_main (main=0xaaaab5719150 <main>, argc=20, argv=0xffffe02533e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#22 0x0000aaaab571a9c0 in _start () at ././unix/xserver/hw/vnc/XserverDesktop.cc:606
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) generate-core-file ~/core.Xtigervnc.3161
warning: target file /proc/3161/cmdline contained unexpected null characters
Saved corefile /home/benutzer/core.Xtigervnc.3161





Without debug symbols:

Core was generated by `/usr/bin/Xtigervnc'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0xffffaafec010 (LWP 3161))]
(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000ffffab8978e8 in __GI_abort () at abort.c:79
#2  0x0000ffffabb5cac4 in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#3  0x0000ffffabb5a8ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#4  0x0000ffffabb5a8f8 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#5  0x0000ffffabb5ac10 in __cxa_rethrow () from /lib/aarch64-linux-gnu/libstdc++.so.6
#6  0x0000ffffabb5ca60 in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#7  0x0000ffffabb5a8ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#8  0x0000ffffabb5a8f8 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#9  0x0000ffffabb5abb0 in __cxa_throw () from /lib/aarch64-linux-gnu/libstdc++.so.6
#10 0x0000aaaab58244d4 in rfb::PlainPasswd::PlainPasswd(rfb::ObfuscatedPasswd const&) ()
#11 0x0000aaaab5813144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd(rfb::PlainPasswd*, rfb::PlainPasswd*) ()
#12 0x0000aaaab58135a8 in rfb::SSecurityVncAuth::processMsg(rfb::SConnection*) ()
#13 0x0000aaaab580b348 in rfb::SConnection::processSecurityMsg() ()
#14 0x0000aaaab5817f64 in rfb::VNCSConnectionST::processMessages() ()
#15 0x0000aaaab57f5178 in XserverDesktop::handleSocketEvent(int, network::SocketServer*, bool, bool) ()
#16 0x0000aaaab57f528c in XserverDesktop::handleSocketEvent(int, bool, bool) ()
#17 0x0000aaaab58942d8 in ospoll_wait ()
#18 0x0000aaaab588d090 in WaitForSomething ()
#19 0x0000aaaab5845774 in Dispatch ()
#20 0x0000aaaab584aae8 in dix_main ()
#21 0x0000ffffab897d24 in __libc_start_main (main=0xaaaab5719150 <main>, argc=20, argv=0xffffe02533e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#22 0x0000aaaab571a9c0 in _start ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)






(gdb) up
#1  0x0000ffffab8978e8 in __GI_abort () at abort.c:79
79      abort.c: No such file or directory.
(gdb) 
#2  0x0000ffffabb5cac4 in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
(gdb) 
#3  0x0000ffffabb5a8ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
(gdb) 
#4  0x0000ffffabb5a8f8 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
(gdb) 
#5  0x0000ffffabb5ac10 in __cxa_rethrow () from /lib/aarch64-linux-gnu/libstdc++.so.6
(gdb) 
#6  0x0000ffffabb5ca60 in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
(gdb) 
#7  0x0000ffffabb5a8ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
(gdb) 
#8  0x0000ffffabb5a8f8 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
(gdb) 
#9  0x0000ffffabb5abb0 in __cxa_throw () from /lib/aarch64-linux-gnu/libstdc++.so.6
(gdb) 
#10 0x0000aaaab58244d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe0251ed0, obfPwd=...) at ./common/rfb/Password.cxx:46
46          throw rdr::Exception("bad obfuscated password length");




(gdb) list Password.cxx:43,51
43
44      PlainPasswd::PlainPasswd(const ObfuscatedPasswd& obfPwd) : CharArray(9) {
45        if (obfPwd.length < 8)
46          throw rdr::Exception("bad obfuscated password length");                   <<<<<<<<<<<<<<<<<<<<<<
47        deskey(d3desObfuscationKey, DE1);
48        des((rdr::U8*)obfPwd.buf, (rdr::U8*)buf);
49        buf[8] = 0;
50      }
51



(gdb) print obfPwd
$1 = (const rfb::ObfuscatedPasswd &) @0xffffe0251ee8: {<rfb::CharArray> = {buf = 0xaaaad89b3a10 "\b1\236\253\377\377"}, length = 0}


(gdb) up
#11 0x0000aaaab5813144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe0251f60, readOnlyPassword=0xffffe0251f68) at ./common/rfb/SSecurityVncAuth.cxx:149
149         PlainPasswd plainPasswordReadOnly(obfuscatedReadOnly);

(gdb) list SSecurityVncAuth.cxx:116,154
116
117     void VncAuthPasswdParameter::getVncAuthPasswd(PlainPasswd *password, PlainPasswd *readOnlyPassword) {
118       ObfuscatedPasswd obfuscated, obfuscatedReadOnly;
119       getData((void**)&obfuscated.buf, &obfuscated.length);
120
121       if (obfuscated.length == 0) {
122         if (passwdFile) {
123           CharArray fname(passwdFile->getData());
124           if (!fname.buf[0]) {
125             vlog.info("neither %s nor %s params set", getName(), passwdFile->getName());
126             return;
127           }
128
129           FILE* fp = fopen(fname.buf, "r");
130           if (!fp) {
131             vlog.error("opening password file '%s' failed",fname.buf);
132             return;
133           }
134
135           vlog.debug("reading password file");
136           obfuscated.buf = new char[8];
137           obfuscated.length = fread(obfuscated.buf, 1, 8, fp);
138           obfuscatedReadOnly.buf = new char[8];
139           obfuscatedReadOnly.length = fread(obfuscatedReadOnly.buf, 1, 8, fp);
140           fclose(fp);
141         } else {
142           vlog.info("%s parameter not set", getName());
143         }
144       }
145
146       try {
147         PlainPasswd plainPassword(obfuscated);
148         password->replaceBuf(plainPassword.takeBuf());
149         PlainPasswd plainPasswordReadOnly(obfuscatedReadOnly);                       <<<<<<<<<<<<<<<<<<<<<<
150         readOnlyPassword->replaceBuf(plainPasswordReadOnly.takeBuf());
151       } catch (...) {
152       }
153     }
154


(gdb) print obfuscatedReadOnly
$2 = {<rfb::CharArray> = {buf = 0xaaaad89b3a10 "\b1\236\253\377\377"}, length = 0}

(gdb) print obfuscated
$3 = {<rfb::CharArray> = {buf = 0xaaaad89b39c0 "\276\257\357L\b\025", <incomplete sequence \330>}, length = 8}

(gdb) print plainPassword
$4 = {<rfb::CharArray> = {buf = 0x0}, <No data fields>}



(gdb) cont
Continuing.

Thread 1 "Xtigervnc" received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000ffffab8978e8 in __GI_abort () at abort.c:79
#2  0x0000aaaab58964dc in OsAbort () at ././unix/xserver/os/utils.c:1350
#3  0x0000aaaab589bc24 in AbortServer () at ././unix/xserver/os/log.c:879
#4  0x0000aaaab589c984 in FatalError (f=f at entry=0xaaaab58bb890 "Caught signal %d (%s). Server aborting\n") at ././unix/xserver/os/log.c:1017
#5  0x0000aaaab58938b4 in OsSigHandler (unused=<optimized out>, sip=0xffffe0250840, signo=6) at ././unix/xserver/os/osinit.c:156
#6  OsSigHandler (signo=6, sip=0xffffe0250840, unused=<optimized out>) at ././unix/xserver/os/osinit.c:110
#7  <signal handler called>
#8  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#9  0x0000ffffab8978e8 in __GI_abort () at abort.c:79
#10 0x0000ffffabb5cac4 in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#11 0x0000ffffabb5a8ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#12 0x0000ffffabb5a8f8 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#13 0x0000ffffabb5ac10 in __cxa_rethrow () from /lib/aarch64-linux-gnu/libstdc++.so.6
#14 0x0000ffffabb5ca60 in __gnu_cxx::__verbose_terminate_handler() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#15 0x0000ffffabb5a8ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#16 0x0000ffffabb5a8f8 in std::terminate() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#17 0x0000ffffabb5abb0 in __cxa_throw () from /lib/aarch64-linux-gnu/libstdc++.so.6
#18 0x0000aaaab58244d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe0251ed0, obfPwd=...) at ./common/rfb/Password.cxx:46
#19 0x0000aaaab5813144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe0251f60, readOnlyPassword=0xffffe0251f68) at ./common/rfb/SSecurityVncAuth.cxx:149
#20 0x0000aaaab58135a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaaad89b5270, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#21 0x0000aaaab580b348 in rfb::SConnection::processSecurityMsg (this=0xaaaad896cf30) at ./common/rfb/SConnection.cxx:213
#22 0x0000aaaab5817f64 in rfb::VNCSConnectionST::processMessages (this=0xaaaad896cf30) at ./common/rfb/VNCSConnectionST.cxx:151
#23 0x0000aaaab57f5178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaaad85f5f70, fd=fd at entry=10, sockserv=0xaaaad860c920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#24 0x0000aaaab57f528c in XserverDesktop::handleSocketEvent (this=0xaaaad85f5f70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#25 0x0000aaaab58942d8 in ospoll_wait (ospoll=0xaaaad85f5b80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#26 0x0000aaaab588d090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#27 0x0000aaaab5845774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#28 0x0000aaaab584aae8 in dix_main (argc=20, argv=0xffffe02533e8, envp=0xffffe0253490) at ././unix/xserver/dix/main.c:276
#29 0x0000ffffab897d24 in __libc_start_main (main=0xaaaab5719150 <main>, argc=20, argv=0xffffe02533e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#30 0x0000aaaab571a9c0 in _start () at ././unix/xserver/hw/vnc/XserverDesktop.cc:606
Backtrace stopped: previous frame identical to this frame (corrupt stack?)




# Now even with debug symbols for libstdc++


Thread 1 "Xtigervnc" received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000ffffad1b98e8 in __GI_abort () at abort.c:79
#2  0x0000ffffad47eac4 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:50
#3  0x0000ffffad47c8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x0000ffffad47c8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x0000ffffad47cc10 in __cxxabiv1::__cxa_rethrow () at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:133
#6  0x0000ffffad47ea60 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:80
#7  0x0000ffffad47c8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#8  0x0000ffffad47c8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#9  0x0000ffffad47cbb0 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaaabedea980, tinfo=0xaaaab1aa1df8 <typeinfo for rdr::Exception>, dest=0xaaaab19627e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:95
#10 0x0000aaaab199b4d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe83bfc30, obfPwd=...) at ./common/rfb/Password.cxx:46
#11 0x0000aaaab198a144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe83bfcc0, readOnlyPassword=0xffffe83bfcc8) at ./common/rfb/SSecurityVncAuth.cxx:149
#12 0x0000aaaab198a5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaaabee5f1e0, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#13 0x0000aaaab1982348 in rfb::SConnection::processSecurityMsg (this=0xaaaabee16ea0) at ./common/rfb/SConnection.cxx:213
#14 0x0000aaaab198ef64 in rfb::VNCSConnectionST::processMessages (this=0xaaaabee16ea0) at ./common/rfb/VNCSConnectionST.cxx:151
#15 0x0000aaaab196c178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaaabea9ff70, fd=fd at entry=10, sockserv=0xaaaabeab6920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#16 0x0000aaaab196c28c in XserverDesktop::handleSocketEvent (this=0xaaaabea9ff70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#17 0x0000aaaab1a0b2d8 in ospoll_wait (ospoll=0xaaaabea9fb80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#18 0x0000aaaab1a04090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#19 0x0000aaaab19bc774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#20 0x0000aaaab19c1ae8 in dix_main (argc=20, argv=0xffffe83c1148, envp=0xffffe83c11f0) at ././unix/xserver/dix/main.c:276
#21 0x0000ffffad1b9d24 in __libc_start_main (main=0xaaaab1890150 <main>, argc=20, argv=0xffffe83c1148, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#22 0x0000aaaab18919c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210
Backtrace stopped: previous frame identical to this frame (corrupt stack?)






##########




benutzer at debian:~$ gdb -q --pid $(pidof Xtigervnc)
Attaching to process 19121
[New LWP 19135]
[New LWP 19136]
[New LWP 19137]
[New LWP 19138]
[New LWP 19139]
[New LWP 19140]
[New LWP 19141]
[New LWP 19142]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
0x0000ffffa5bbbad0 in __GI_epoll_pwait (epfd=<optimized out>, events=events at entry=0xfffffccd21b8, maxevents=maxevents at entry=256, timeout=<optimized out>, set=set at entry=0x0)
    at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
42      ../sysdeps/unix/sysv/linux/epoll_pwait.c: No such file or directory.
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg
Source directories searched: /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) directory /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0
Source directories searched: /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) directory /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os
Source directories searched: /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) b rfb::VncAuthPasswdParameter::getVncAuthPasswd
Breakpoint 1 at 0xaaaaac7dd010: file ./common/rfb/SSecurityVncAuth.cxx, line 117.
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 1, rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=0xaaaaac905f10 <rfb::SSecurityVncAuth::vncAuthPasswd>, password=0xfffffccd2010, readOnlyPassword=0xfffffccd2018) at ./common/rfb/SSecurityVncAuth.cxx:117
117     void VncAuthPasswdParameter::getVncAuthPasswd(PlainPasswd *password, PlainPasswd *readOnlyPassword) {
(gdb) b rfb::PlainPasswd::PlainPasswd
Breakpoint 2 at 0xaaaaac7ee408: rfb::PlainPasswd::PlainPasswd. (4 locations)
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 2, rfb::PlainPasswd::PlainPasswd (this=0xfffffccd1f78, obfPwd=...) at ./common/rfb/Password.cxx:44
44      PlainPasswd::PlainPasswd(const ObfuscatedPasswd& obfPwd) : CharArray(9) {
(gdb) b __cxxabiv1::__cxa_throw
Breakpoint 3 at 0xffffa5dcfb50: file ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc, line 78.
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 2, rfb::PlainPasswd::PlainPasswd (this=0xfffffccd1f80, obfPwd=...) at ./common/rfb/Password.cxx:44
44      PlainPasswd::PlainPasswd(const ObfuscatedPasswd& obfPwd) : CharArray(9) {
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 3, __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaaae2027a10, tinfo=0xaaaaac8f4df8 <typeinfo for rdr::Exception>, dest=0xaaaaac7b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:78
78        PROBE2 (throw, obj, tinfo);
(gdb) display/i $pc
1: x/i $pc
=> 0xffffa5dcfb50 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))>:   stp     x29, x30, [sp, #-48]!
(gdb) bt
#0  __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaaae2027a10, tinfo=0xaaaaac8f4df8 <typeinfo for rdr::Exception>, dest=0xaaaaac7b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:78
#1  0x0000aaaaac7ee4d4 in rfb::PlainPasswd::PlainPasswd (this=0xfffffccd1f80, obfPwd=...) at ./common/rfb/Password.cxx:46
#2  0x0000aaaaac7dd144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xfffffccd2010, readOnlyPassword=0xfffffccd2018) at ./common/rfb/SSecurityVncAuth.cxx:149
#3  0x0000aaaaac7dd5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaaae209c270, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#4  0x0000aaaaac7d5348 in rfb::SConnection::processSecurityMsg (this=0xaaaae2053f30) at ./common/rfb/SConnection.cxx:213
#5  0x0000aaaaac7e1f64 in rfb::VNCSConnectionST::processMessages (this=0xaaaae2053f30) at ./common/rfb/VNCSConnectionST.cxx:151
#6  0x0000aaaaac7bf178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaaae1cdcf70, fd=fd at entry=10, sockserv=0xaaaae1cf3920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#7  0x0000aaaaac7bf28c in XserverDesktop::handleSocketEvent (this=0xaaaae1cdcf70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#8  0x0000aaaaac85e2d8 in ospoll_wait (ospoll=0xaaaae1cdcb80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#9  0x0000aaaaac857090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#10 0x0000aaaaac80f774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#11 0x0000aaaaac814ae8 in dix_main (argc=20, argv=0xfffffccd3498, envp=0xfffffccd3540) at ././unix/xserver/dix/main.c:276
#12 0x0000ffffa5b0cd24 in __libc_start_main (main=0xaaaaac6e3150 <main>, argc=20, argv=0xfffffccd3498, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#13 0x0000aaaaac6e49c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) nexti
0x0000ffffa5dcfb54      78        PROBE2 (throw, obj, tinfo);
1: x/i $pc
=> 0xffffa5dcfb54 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+4>: mov     x29, sp
(gdb) 
0x0000ffffa5dcfb58      78        PROBE2 (throw, obj, tinfo);
1: x/i $pc
=> 0xffffa5dcfb58 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+8>: stp     x19, x20, [sp, #16]
(gdb) 
0x0000ffffa5dcfb5c      78        PROBE2 (throw, obj, tinfo);
1: x/i $pc
=> 0xffffa5dcfb5c <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+12>:        mov     x19, x0
(gdb) 
0x0000ffffa5dcfb60      78        PROBE2 (throw, obj, tinfo);
1: x/i $pc
=> 0xffffa5dcfb60 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+16>:        mov     x20, x1
(gdb) 
0x0000ffffa5dcfb64      78        PROBE2 (throw, obj, tinfo);
1: x/i $pc
=> 0xffffa5dcfb64 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+20>:        str     x2, [sp, #40]
(gdb) 
0x0000ffffa5dcfb68      78        PROBE2 (throw, obj, tinfo);
1: x/i $pc
=> 0xffffa5dcfb68 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+24>:        nop
(gdb) 
80        __cxa_eh_globals *globals = __cxa_get_globals ();
1: x/i $pc
=> 0xffffa5dcfb6c <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+28>:        bl      0xffffa5dca9f0 <__cxa_get_globals at plt>
(gdb) 
0x0000ffffa5dcfb70      80        __cxa_eh_globals *globals = __cxa_get_globals ();
1: x/i $pc
=> 0xffffa5dcfb70 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+32>:        mov     x4, x0
(gdb) 
81        globals->uncaughtExceptions += 1;
1: x/i $pc
=> 0xffffa5dcfb74 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+36>:        ldr     x2, [sp, #40]
(gdb) 
0x0000ffffa5dcfb78      81        globals->uncaughtExceptions += 1;
1: x/i $pc
=> 0xffffa5dcfb78 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+40>:        mov     x1, x20
(gdb) 
0x0000ffffa5dcfb7c      81        globals->uncaughtExceptions += 1;
1: x/i $pc
=> 0xffffa5dcfb7c <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+44>:        ldr     w3, [x4, #8]
(gdb) 
0x0000ffffa5dcfb80      81        globals->uncaughtExceptions += 1;
1: x/i $pc
=> 0xffffa5dcfb80 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+48>:        mov     x0, x19
(gdb) 
0x0000ffffa5dcfb84      81        globals->uncaughtExceptions += 1;
1: x/i $pc
=> 0xffffa5dcfb84 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+52>:        add     w3, w3, #0x1
(gdb) 
0x0000ffffa5dcfb88      81        globals->uncaughtExceptions += 1;
1: x/i $pc
=> 0xffffa5dcfb88 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+56>:        str     w3, [x4, #8]
(gdb) 
83        __cxa_refcounted_exception *header =
1: x/i $pc
=> 0xffffa5dcfb8c <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+60>:        bl      0xffffa5dcaa70 <__cxa_init_primary_exception at plt>
(gdb) 
85        header->referenceCount = 1;
1: x/i $pc
=> 0xffffa5dcfb90 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+64>:        mov     x19, x0
(gdb) 
0x0000ffffa5dcfb94      85        header->referenceCount = 1;
1: x/i $pc
=> 0xffffa5dcfb94 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+68>:        mov     w0, #0x1                        // #1
(gdb) 
0x0000ffffa5dcfb98      85        header->referenceCount = 1;
1: x/i $pc
=> 0xffffa5dcfb98 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+72>:        str     w0, [x19], #96
(gdb) 
90        _Unwind_RaiseException (&header->exc.unwindHeader);
1: x/i $pc
=> 0xffffa5dcfb9c <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+76>:        mov     x0, x19
(gdb) 
0x0000ffffa5dcfba0      90        _Unwind_RaiseException (&header->exc.unwindHeader);
1: x/i $pc
=> 0xffffa5dcfba0 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+80>:        bl      0xffffa5dc9d70 <_Unwind_RaiseException at plt>
(gdb) stepi
0x0000ffffa5dc9d70 in _Unwind_RaiseException at plt () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc9d70 <_Unwind_RaiseException at plt>: adrp    x16, 0xffffa5ec5000 <__cxa_allocate_dependent_exception at got.plt>
(gdb) 
0x0000ffffa5dc9d74 in _Unwind_RaiseException at plt () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc9d74 <_Unwind_RaiseException at plt+4>:       ldr     x17, [x16, #2776]
(gdb) 
0x0000ffffa5dc9d78 in _Unwind_RaiseException at plt () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc9d78 <_Unwind_RaiseException at plt+8>:       add     x16, x16, #0xad8
(gdb) 
0x0000ffffa5dc9d7c in _Unwind_RaiseException at plt () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc9d7c <_Unwind_RaiseException at plt+12>:      br      x17
(gdb) 
0x0000ffffa5dc87a0 in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc87a0:      stp     x16, x30, [sp, #-16]!
(gdb) 
0x0000ffffa5dc87a4 in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc87a4:      adrp    x16, 0xffffa5ec4000
(gdb) 
0x0000ffffa5dc87a8 in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc87a8:      ldr     x17, [x16, #4088]
(gdb) 
0x0000ffffa5dc87ac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc87ac:      add     x16, x16, #0xff8
(gdb) 
0x0000ffffa5dc87b0 in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
1: x/i $pc
=> 0xffffa5dc87b0:      br      x17
(gdb) 
_dl_runtime_resolve () at ../sysdeps/aarch64/dl-trampoline.S:48
48      ../sysdeps/aarch64/dl-trampoline.S: No such file or directory.
1: x/i $pc
=> 0xffffa671db04 <_dl_runtime_resolve>:        stp     x8, x9, [sp, #-208]!
(gdb) nexti
53      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db08 <_dl_runtime_resolve+4>:      stp     x6, x7, [sp, #16]
(gdb) 
57      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db0c <_dl_runtime_resolve+8>:      stp     x4, x5, [sp, #32]
(gdb) 
61      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db10 <_dl_runtime_resolve+12>:     stp     x2, x3, [sp, #48]
(gdb) 
65      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db14 <_dl_runtime_resolve+16>:     stp     x0, x1, [sp, #64]
(gdb) 
69      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db18 <_dl_runtime_resolve+20>:     stp     q0, q1, [sp, #80]
(gdb) 
73      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db1c <_dl_runtime_resolve+24>:     stp     q2, q3, [sp, #112]
(gdb) 
77      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db20 <_dl_runtime_resolve+28>:     stp     q4, q5, [sp, #144]
(gdb) 
81      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db24 <_dl_runtime_resolve+32>:     stp     q6, q7, [sp, #176]
(gdb) 
86      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db28 <_dl_runtime_resolve+36>:     ldur    x0, [x16, #-8]
(gdb) 
89      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db2c <_dl_runtime_resolve+40>:     ldr     x1, [sp, #208]
(gdb) 
91      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db30 <_dl_runtime_resolve+44>:     sub     x1, x1, x16
(gdb) 
92      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db34 <_dl_runtime_resolve+48>:     add     x1, x1, x1, lsl #1
(gdb) 
93      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db38 <_dl_runtime_resolve+52>:     lsl     x1, x1, #3
(gdb) 
94      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db3c <_dl_runtime_resolve+56>:     sub     x1, x1, #0xc0
(gdb) 
95      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db40 <_dl_runtime_resolve+60>:     lsr     x1, x1, #3
(gdb) 
98      in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db44 <_dl_runtime_resolve+64>:     bl      0xffffa6717fb8 <_dl_fixup>
(gdb) 
101     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db48 <_dl_runtime_resolve+68>:     mov     x16, x0
(gdb) 
104     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db4c <_dl_runtime_resolve+72>:     ldp     q0, q1, [sp, #80]
(gdb) 
105     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db50 <_dl_runtime_resolve+76>:     ldp     q2, q3, [sp, #112]
(gdb) 
106     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db54 <_dl_runtime_resolve+80>:     ldp     q4, q5, [sp, #144]
(gdb) 
107     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db58 <_dl_runtime_resolve+84>:     ldp     q6, q7, [sp, #176]
(gdb) 
108     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db5c <_dl_runtime_resolve+88>:     ldp     x0, x1, [sp, #64]
(gdb) 
109     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db60 <_dl_runtime_resolve+92>:     ldp     x2, x3, [sp, #48]
(gdb) 
110     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db64 <_dl_runtime_resolve+96>:     ldp     x4, x5, [sp, #32]
(gdb) 
111     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db68 <_dl_runtime_resolve+100>:    ldp     x6, x7, [sp, #16]
(gdb) 
112     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db6c <_dl_runtime_resolve+104>:    ldp     x8, x9, [sp], #208
(gdb) 
115     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db70 <_dl_runtime_resolve+108>:    ldp     x17, x30, [sp], #16
(gdb) 
119     in ../sysdeps/aarch64/dl-trampoline.S
1: x/i $pc
=> 0xffffa671db74 <_dl_runtime_resolve+112>:    br      x16
(gdb) 
_Unwind_RaiseException (exception_object=exception_object at entry=0xaaaae20279f0) at unwind/RaiseException.c:31
31      unwind/RaiseException.c: No such file or directory.
1: x/i $pc
=> 0xffffa630be30 <_Unwind_RaiseException>:     mov     x16, #0x92d0                    // #37584
(gdb) directory /home/benutzer/source/libunwind8/orig/libunwind-1.2.1/src
Source directories searched: /home/benutzer/source/libunwind8/orig/libunwind-1.2.1/src:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) up
#1  0x0000ffffa5dcfba4 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaaae2027a10, tinfo=0xaaaaac8f4df8 <typeinfo for rdr::Exception>, dest=0xaaaaac7b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:90
90        _Unwind_RaiseException (&header->exc.unwindHeader);
(gdb) down
#0  _Unwind_RaiseException (exception_object=exception_object at entry=0xaaaae20279f0) at unwind/RaiseException.c:31
31        uint64_t exception_class = exception_object->exception_class;
(gdb) nexti
0x0000ffffa630be34      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be34 <_Unwind_RaiseException+4>:   sub     sp, sp, x16
(gdb) 
0x0000ffffa630be38      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be38 <_Unwind_RaiseException+8>:   add     x1, sp, #0x8, lsl #12
(gdb) 
0x0000ffffa630be3c      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be3c <_Unwind_RaiseException+12>:  stp     x29, x30, [sp]
(gdb) 
0x0000ffffa630be40      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be40 <_Unwind_RaiseException+16>:  mov     x29, sp
(gdb) 
0x0000ffffa630be44      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be44 <_Unwind_RaiseException+20>:  stp     x21, x22, [sp, #32]
(gdb) 
0x0000ffffa630be48      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be48 <_Unwind_RaiseException+24>:  mov     x22, x0
(gdb) 
0x0000ffffa630be4c      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be4c <_Unwind_RaiseException+28>:  add     x21, sp, #0xf0
(gdb) 
0x0000ffffa630be50      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be50 <_Unwind_RaiseException+32>:  stp     x19, x20, [sp, #16]
(gdb) 
0x0000ffffa630be54      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be54 <_Unwind_RaiseException+36>:  add     x0, x21, #0xb8
(gdb) 
0x0000ffffa630be58      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be58 <_Unwind_RaiseException+40>:  stp     x23, x24, [sp, #48]
(gdb) 
0x0000ffffa630be5c      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be5c <_Unwind_RaiseException+44>:  str     wzr, [x1, #4808]
(gdb) 
0x0000ffffa630be60      31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffffa630be60 <_Unwind_RaiseException+48>:  ldr     x23, [x22]
(gdb) 
42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be64 <_Unwind_RaiseException+52>:  stp     x0, x1, [x0]
(gdb) 
0x0000ffffa630be68      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be68 <_Unwind_RaiseException+56>:  stp     x2, x3, [x0, #16]
(gdb) 
0x0000ffffa630be6c      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be6c <_Unwind_RaiseException+60>:  stp     x4, x5, [x0, #32]
(gdb) 
0x0000ffffa630be70      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be70 <_Unwind_RaiseException+64>:  stp     x6, x7, [x0, #48]
(gdb) 
0x0000ffffa630be74      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be74 <_Unwind_RaiseException+68>:  stp     x8, x9, [x0, #64]
(gdb) 
0x0000ffffa630be78      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be78 <_Unwind_RaiseException+72>:  stp     x10, x11, [x0, #80]
(gdb) 
0x0000ffffa630be7c      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be7c <_Unwind_RaiseException+76>:  stp     x12, x13, [x0, #96]
(gdb) 
0x0000ffffa630be80      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be80 <_Unwind_RaiseException+80>:  stp     x14, x13, [x0, #112]
(gdb) 
0x0000ffffa630be84      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be84 <_Unwind_RaiseException+84>:  stp     x16, x17, [x0, #128]
(gdb) 
0x0000ffffa630be88      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be88 <_Unwind_RaiseException+88>:  stp     x18, x19, [x0, #144]
(gdb) 
0x0000ffffa630be8c      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be8c <_Unwind_RaiseException+92>:  stp     x20, x21, [x0, #160]
(gdb) 
0x0000ffffa630be90      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be90 <_Unwind_RaiseException+96>:  stp     x22, x23, [x0, #176]
(gdb) 
0x0000ffffa630be94      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be94 <_Unwind_RaiseException+100>: stp     x24, x25, [x0, #192]
(gdb) 
0x0000ffffa630be98      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be98 <_Unwind_RaiseException+104>: stp     x26, x27, [x0, #208]
(gdb) 
0x0000ffffa630be9c      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630be9c <_Unwind_RaiseException+108>: stp     x28, x29, [x0, #224]
(gdb) 
0x0000ffffa630bea0      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630bea0 <_Unwind_RaiseException+112>: str     x30, [x0, #240]
(gdb) 
0x0000ffffa630bea4      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630bea4 <_Unwind_RaiseException+116>: mov     x1, sp
(gdb) 
0x0000ffffa630bea8      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630bea8 <_Unwind_RaiseException+120>: stp     x1, x30, [x0, #248]
(gdb) 
0x0000ffffa630beac      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630beac <_Unwind_RaiseException+124>: mov     x0, #0x12c8                     // #4808
(gdb) 
0x0000ffffa630beb0      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630beb0 <_Unwind_RaiseException+128>: add     x19, sp, x0
(gdb) 
0x0000ffffa630beb4      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630beb4 <_Unwind_RaiseException+132>: mov     x1, x21
(gdb) 
0x0000ffffa630beb8      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630beb8 <_Unwind_RaiseException+136>: mov     x0, x19
(gdb) 
0x0000ffffa630bebc      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630bebc <_Unwind_RaiseException+140>: bl      0xffffa630c820 <_ULaarch64_init_local>
(gdb) 
0x0000ffffa630bec0      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630bec0 <_Unwind_RaiseException+144>: tbnz    w0, #31, 0xffffa630befc <_Unwind_RaiseException+204>
(gdb) 
0x0000ffffa630bec4      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630bec4 <_Unwind_RaiseException+148>: add     x20, sp, #0x70
(gdb) 
0x0000ffffa630bec8      42        if (_Unwind_InitContext (&context, &uc) < 0)
1: x/i $pc
=> 0xffffa630bec8 <_Unwind_RaiseException+152>: b       0xffffa630bee4 <_Unwind_RaiseException+180>
(gdb) 
49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffffa630bee4 <_Unwind_RaiseException+180>: mov     x0, x19
(gdb) 
0x0000ffffa630bee8      49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffffa630bee8 <_Unwind_RaiseException+184>: bl      0xffffa630d368 <_ULaarch64_step>
(gdb) 
0x0000ffffa630beec      49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffffa630beec <_Unwind_RaiseException+188>: cmp     w0, #0x0
(gdb) 
0x0000ffffa630bef0      49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffffa630bef0 <_Unwind_RaiseException+192>: b.gt    0xffffa630becc <_Unwind_RaiseException+156>
(gdb) 
60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffffa630becc <_Unwind_RaiseException+156>: mov     x1, x20
(gdb) 
0x0000ffffa630bed0      60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffffa630bed0 <_Unwind_RaiseException+160>: mov     x0, x19
(gdb) 
0x0000ffffa630bed4      60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffffa630bed4 <_Unwind_RaiseException+164>: bl      0xffffa630c490 <_ULaarch64_get_proc_info>
(gdb) 
0x0000ffffa630bed8      60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffffa630bed8 <_Unwind_RaiseException+168>: tbnz    w0, #31, 0xffffa630befc <_Unwind_RaiseException+204>
(gdb) 
63            personality = (_Unwind_Personality_Fn) (uintptr_t) pi.handler;
1: x/i $pc
=> 0xffffa630bedc <_Unwind_RaiseException+172>: ldr     x5, [sp, #136]
(gdb) 
64            if (personality)
1: x/i $pc
=> 0xffffa630bee0 <_Unwind_RaiseException+176>: cbnz    x5, 0xffffa630bf1c <_Unwind_RaiseException+236>
(gdb) print personality
$1 = (_Unwind_Personality_Fn) 0x0
(gdb) print pi
$2 = {start_ip = 281473464466256, end_ip = 281473464466352, lsda = 0, handler = 0, gp = 281473465470952, flags = 0, format = 0, unwind_info_size = 0, unwind_info = 0x0, extra = {<No data fields>}}
(gdb) print/x pi
$3 = {start_ip = 0xffffa5dcfb50, end_ip = 0xffffa5dcfbb0, lsda = 0x0, handler = 0x0, gp = 0xffffa5ec4fe8, flags = 0x0, format = 0x0, unwind_info_size = 0x0, unwind_info = 0x0, extra = {<No data fields>}}
(gdb) nexti
49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffffa630bee4 <_Unwind_RaiseException+180>: mov     x0, x19
(gdb) 
0x0000ffffa630bee8      49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffffa630bee8 <_Unwind_RaiseException+184>: bl      0xffffa630d368 <_ULaarch64_step>
(gdb) 
0x0000ffffa630beec      49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffffa630beec <_Unwind_RaiseException+188>: cmp     w0, #0x0
(gdb) 
0x0000ffffa630bef0      49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffffa630bef0 <_Unwind_RaiseException+192>: b.gt    0xffffa630becc <_Unwind_RaiseException+156>
(gdb) 
60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffffa630becc <_Unwind_RaiseException+156>: mov     x1, x20
(gdb) 
0x0000ffffa630bed0      60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffffa630bed0 <_Unwind_RaiseException+160>: mov     x0, x19
(gdb) 
0x0000ffffa630bed4      60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffffa630bed4 <_Unwind_RaiseException+164>: bl      0xffffa630c490 <_ULaarch64_get_proc_info>
(gdb) 
0x0000ffffa630bed8      60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffffa630bed8 <_Unwind_RaiseException+168>: tbnz    w0, #31, 0xffffa630befc <_Unwind_RaiseException+204>
(gdb) 
57                  return _URC_FATAL_PHASE1_ERROR;
1: x/i $pc
=> 0xffffa630befc <_Unwind_RaiseException+204>: mov     w0, #0x3                        // #3
(gdb) bt
#0  _Unwind_RaiseException (exception_object=exception_object at entry=0xaaaae20279f0) at unwind/RaiseException.c:57
#1  0x0000ffffa5dcfba4 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaaae2027a10, tinfo=0xaaaaac8f4df8 <typeinfo for rdr::Exception>, dest=0xaaaaac7b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:90
#2  0x0000aaaaac7ee4d4 in rfb::PlainPasswd::PlainPasswd (this=0xfffffccd1f80, obfPwd=...) at ./common/rfb/Password.cxx:46
#3  0x0000aaaaac7dd144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xfffffccd2010, readOnlyPassword=0xfffffccd2018) at ./common/rfb/SSecurityVncAuth.cxx:149
#4  0x0000aaaaac7dd5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaaae209c270, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#5  0x0000aaaaac7d5348 in rfb::SConnection::processSecurityMsg (this=0xaaaae2053f30) at ./common/rfb/SConnection.cxx:213
#6  0x0000aaaaac7e1f64 in rfb::VNCSConnectionST::processMessages (this=0xaaaae2053f30) at ./common/rfb/VNCSConnectionST.cxx:151
#7  0x0000aaaaac7bf178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaaae1cdcf70, fd=fd at entry=10, sockserv=0xaaaae1cf3920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#8  0x0000aaaaac7bf28c in XserverDesktop::handleSocketEvent (this=0xaaaae1cdcf70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#9  0x0000aaaaac85e2d8 in ospoll_wait (ospoll=0xaaaae1cdcb80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#10 0x0000aaaaac857090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#11 0x0000aaaaac80f774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#12 0x0000aaaaac814ae8 in dix_main (argc=20, argv=0xfffffccd3498, envp=0xfffffccd3540) at ././unix/xserver/dix/main.c:276
#13 0x0000ffffa5b0cd24 in __libc_start_main (main=0xaaaaac6e3150 <main>, argc=20, argv=0xfffffccd3498, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#14 0x0000aaaaac6e49c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

(gdb) stepi
0x0000ffffa630bf00      57                  return _URC_FATAL_PHASE1_ERROR;
1: x/i $pc
=> 0xffffa630bf00 <_Unwind_RaiseException+208>: mov     x16, #0x92d0                    // #37584
(gdb) 
0x0000ffffa630bf04      57                  return _URC_FATAL_PHASE1_ERROR;
1: x/i $pc
=> 0xffffa630bf04 <_Unwind_RaiseException+212>: ldp     x29, x30, [sp]
(gdb) 
0x0000ffffa630bf08      57                  return _URC_FATAL_PHASE1_ERROR;
1: x/i $pc
=> 0xffffa630bf08 <_Unwind_RaiseException+216>: ldp     x19, x20, [sp, #16]
(gdb) 
0x0000ffffa630bf0c      57                  return _URC_FATAL_PHASE1_ERROR;
1: x/i $pc
=> 0xffffa630bf0c <_Unwind_RaiseException+220>: ldp     x21, x22, [sp, #32]
(gdb) 
0x0000ffffa630bf10      57                  return _URC_FATAL_PHASE1_ERROR;
1: x/i $pc
=> 0xffffa630bf10 <_Unwind_RaiseException+224>: ldp     x23, x24, [sp, #48]
(gdb) 
0x0000ffffa630bf14      57                  return _URC_FATAL_PHASE1_ERROR;
1: x/i $pc
=> 0xffffa630bf14 <_Unwind_RaiseException+228>: add     sp, sp, x16
(gdb) 
0x0000ffffa630bf18      57                  return _URC_FATAL_PHASE1_ERROR;
1: x/i $pc
=> 0xffffa630bf18 <_Unwind_RaiseException+232>: ret
(gdb) 
__cxxabiv1::__cxa_throw (obj=obj at entry=0xaaaae2027a10, tinfo=0xaaaaac8f4df8 <typeinfo for rdr::Exception>, dest=0xaaaaac7b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:94
94        __cxa_begin_catch (&header->exc.unwindHeader);
1: x/i $pc
=> 0xffffa5dcfba4 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+84>:        mov     x0, x19
(gdb) stepi
0x0000ffffa5dcfba8      94        __cxa_begin_catch (&header->exc.unwindHeader);
1: x/i $pc
=> 0xffffa5dcfba8 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+88>:        bl      0xffffa5dc8b10 <__cxa_begin_catch at plt>
(gdb) nexti
95        std::terminate ();
1: x/i $pc
=> 0xffffa5dcfbac <__cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))+92>:        bl      0xffffa5dcbc00 <_ZSt9terminatev at plt>






(gdb) list _ULaarch64_get_proc_info
25      #include "unwind_i.h"
26
27      PROTECTED int
28      unw_get_proc_info (unw_cursor_t *cursor, unw_proc_info_t *pi)
29      {
30        struct cursor *c = (struct cursor *) cursor;
31        int ret;
32
33        ret = dwarf_make_proc_info (&c->dwarf);
34        if (ret < 0)
35          return ret;
36
37        *pi = c->dwarf.pi;
38        return 0;
39      }



(gdb) list RaiseException.c:27,100
27
28      PROTECTED _Unwind_Reason_Code
29      _Unwind_RaiseException (struct _Unwind_Exception *exception_object)
30      {
31        uint64_t exception_class = exception_object->exception_class;
32        _Unwind_Personality_Fn personality;
33        struct _Unwind_Context context;
34        _Unwind_Reason_Code reason;
35        unw_proc_info_t pi;
36        unw_context_t uc;
37        unw_word_t ip;
38        int ret;
39
40        Debug (1, "(exception_object=%p)\n", exception_object);
41
42        if (_Unwind_InitContext (&context, &uc) < 0)
43          return _URC_FATAL_PHASE1_ERROR;
44
45        /* Phase 1 (search phase) */
46
47        while (1)
48          {
49            if ((ret = unw_step (&context.cursor)) <= 0)
50              {
51                if (ret == 0)
52                  {
53                    Debug (1, "no handler found\n");
54                    return _URC_END_OF_STACK;
55                  }
56                else
57                  return _URC_FATAL_PHASE1_ERROR;             <<<<<<<<<<<<<<<<<<<<
58              }
59
60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
61              return _URC_FATAL_PHASE1_ERROR;
62
63            personality = (_Unwind_Personality_Fn) (uintptr_t) pi.handler;
64            if (personality)
65              {
66                reason = (*personality) (_U_VERSION, _UA_SEARCH_PHASE,
67                                         exception_class, exception_object,
68                                         &context);
69                if (reason != _URC_CONTINUE_UNWIND)
70                  {
71                    if (reason == _URC_HANDLER_FOUND)
72                      break;
73                    else
74                      {
75                        Debug (1, "personality returned %d\n", reason);
76                        return _URC_FATAL_PHASE1_ERROR;
77                      }
78                  }
79              }
80          }
81
82        /* Exceptions are associated with IP-ranges.  If a given exception
83           is handled at a particular IP, it will _always_ be handled at
84           that IP.  If this weren't true, we'd have to track the tuple
85           (IP,SP,BSP) to uniquely identify the stack frame that's handling
86           the exception.  */
87        if (unw_get_reg (&context.cursor, UNW_REG_IP, &ip) < 0)
88          return _URC_FATAL_PHASE1_ERROR;
89        exception_object->private_1 = 0;      /* clear "stop" pointer */
90        exception_object->private_2 = ip;     /* save frame marker */
91
92        Debug (1, "found handler for IP=%lx; entering cleanup phase\n", (long) ip);
93
94        /* Reset the cursor to the first frame: */
95        if (unw_init_local (&context.cursor, &uc) < 0)
96          return _URC_FATAL_PHASE1_ERROR;
97
98        return _Unwind_Phase2 (exception_object, &context);
99      }
100







(gdb) list __cxa_throw
73
74      extern "C" void
75      __cxxabiv1::__cxa_throw (void *obj, std::type_info *tinfo,
76                               void (_GLIBCXX_CDTOR_CALLABI *dest) (void *))
77      {
78        PROBE2 (throw, obj, tinfo);
79
80        __cxa_eh_globals *globals = __cxa_get_globals ();
81        globals->uncaughtExceptions += 1;
82        // Definitely a primary.
83        __cxa_refcounted_exception *header =
84          __cxa_init_primary_exception(obj, tinfo, dest);
85        header->referenceCount = 1;
86
87      #ifdef __USING_SJLJ_EXCEPTIONS__
88        _Unwind_SjLj_RaiseException (&header->exc.unwindHeader);
89      #else
90        _Unwind_RaiseException (&header->exc.unwindHeader);
91      #endif
92
93        // Some sort of unwinding error.  Note that terminate is a handler.
94        __cxa_begin_catch (&header->exc.unwindHeader);
95        std::terminate ();
96      }
97













benutzer at debian:~$ gdb -q --pid $(pidof Xtigervnc)
Attaching to process 19248
[New LWP 19262]
[New LWP 19263]
[New LWP 19264]
[New LWP 19265]
[New LWP 19266]
[New LWP 19267]
[New LWP 19268]
[New LWP 19269]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
0x0000ffff9348cad0 in __GI_epoll_pwait (epfd=<optimized out>, events=events at entry=0xffffdac02b48, maxevents=maxevents at entry=256, timeout=<optimized out>, set=set at entry=0x0)
    at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
42      ../sysdeps/unix/sysv/linux/epoll_pwait.c: No such file or directory.
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg
Source directories searched: /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) directory /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0
Source directories searched: /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) directory /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os
Source directories searched: /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) directory /home/benutzer/source/libunwind8/orig/libunwind-1.2.1/src
Source directories searched: /home/benutzer/source/libunwind8/orig/libunwind-1.2.1/src:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) b rfb::VncAuthPasswdParameter::getVncAuthPasswd
Breakpoint 1 at 0xaaaab67a0010: file ./common/rfb/SSecurityVncAuth.cxx, line 117.
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 1, rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=0xaaaab68c8f10 <rfb::SSecurityVncAuth::vncAuthPasswd>, password=0xffffdac029a0, readOnlyPassword=0xffffdac029a8) at ./common/rfb/SSecurityVncAuth.cxx:117
117     void VncAuthPasswdParameter::getVncAuthPasswd(PlainPasswd *password, PlainPasswd *readOnlyPassword) {
(gdb) b rfb::PlainPasswd::PlainPasswd
Breakpoint 2 at 0xaaaab67b1408: rfb::PlainPasswd::PlainPasswd. (4 locations)
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 2, rfb::PlainPasswd::PlainPasswd (this=0xffffdac02908, obfPwd=...) at ./common/rfb/Password.cxx:44
44      PlainPasswd::PlainPasswd(const ObfuscatedPasswd& obfPwd) : CharArray(9) {
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 2, rfb::PlainPasswd::PlainPasswd (this=0xffffdac02910, obfPwd=...) at ./common/rfb/Password.cxx:44
44      PlainPasswd::PlainPasswd(const ObfuscatedPasswd& obfPwd) : CharArray(9) {
(gdb) b __cxxabiv1::__cxa_throw
Breakpoint 3 at 0xffff936a0b50: file ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc, line 78.
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 3, __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaaad3130a10, tinfo=0xaaaab68b7df8 <typeinfo for rdr::Exception>, dest=0xaaaab67787e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:78
78        PROBE2 (throw, obj, tinfo);
(gdb) b _Unwind_RaiseException
Breakpoint 4 at 0xffff9353bd00: _Unwind_RaiseException. (2 locations)
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 4, _Unwind_RaiseException (exception_object=exception_object at entry=0xaaaad31309f0) at unwind/RaiseException.c:31
31        uint64_t exception_class = exception_object->exception_class;
(gdb) next
42        if (_Unwind_InitContext (&context, &uc) < 0)
(gdb) 
49            if ((ret = unw_step (&context.cursor)) <= 0)
(gdb) 
60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
(gdb) 
63            personality = (_Unwind_Personality_Fn) (uintptr_t) pi.handler;
(gdb) 
64            if (personality)
(gdb) 
49            if ((ret = unw_step (&context.cursor)) <= 0)
(gdb) 
60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
(gdb) 
57                  return _URC_FATAL_PHASE1_ERROR;
(gdb) 
__cxxabiv1::__cxa_throw (obj=obj at entry=0xaaaad3130a10, tinfo=0xaaaab68b7df8 <typeinfo for rdr::Exception>, dest=0xaaaab67787e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:94
94        __cxa_begin_catch (&header->exc.unwindHeader);
(gdb) 
95        std::terminate ();


















benutzer at debian:~$ gdb -q --pid $(pidof Xtigervnc)
Attaching to process 19474
[New LWP 19487]
[New LWP 19488]
[New LWP 19489]
[New LWP 19490]
[New LWP 19491]
[New LWP 19492]
[New LWP 19493]
[New LWP 19494]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
0x0000ffff9519bad0 in __GI_epoll_pwait (epfd=<optimized out>, events=events at entry=0xffffe2f00f38, maxevents=maxevents at entry=256, timeout=<optimized out>, set=set at entry=0x0)
    at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
42      ../sysdeps/unix/sysv/linux/epoll_pwait.c: No such file or directory.
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg
Source directories searched: /home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) directory /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0
Source directories searched: /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) directory /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os
Source directories searched: /home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) directory /home/benutzer/source/libunwind8/orig/libunwind-1.2.1/src
Source directories searched: /home/benutzer/source/libunwind8/orig/libunwind-1.2.1/src:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0/src/libgo/go/os:/home/benutzer/source/libstdc++6/orig/gcc-8-8.3.0:/home/benutzer/source/tigervnc-standalone-server/orig/tigervnc-1.9.0+dfsg:$cdir:$cwd
(gdb) b rfb::VncAuthPasswdParameter::getVncAuthPasswd
Breakpoint 1 at 0xaaaae05dd010: file ./common/rfb/SSecurityVncAuth.cxx, line 117.
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 1, rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=0xaaaae0705f10 <rfb::SSecurityVncAuth::vncAuthPasswd>, password=0xffffe2f00d90, readOnlyPassword=0xffffe2f00d98) at ./common/rfb/SSecurityVncAuth.cxx:117
117     void VncAuthPasswdParameter::getVncAuthPasswd(PlainPasswd *password, PlainPasswd *readOnlyPassword) {
(gdb) b rfb::PlainPasswd::PlainPasswd
Breakpoint 2 at 0xaaaae05ee408: rfb::PlainPasswd::PlainPasswd. (4 locations)
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 2, rfb::PlainPasswd::PlainPasswd (this=0xffffe2f00cf8, obfPwd=...) at ./common/rfb/Password.cxx:44
44      PlainPasswd::PlainPasswd(const ObfuscatedPasswd& obfPwd) : CharArray(9) {
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 2, rfb::PlainPasswd::PlainPasswd (this=0xffffe2f00d00, obfPwd=...) at ./common/rfb/Password.cxx:44
44      PlainPasswd::PlainPasswd(const ObfuscatedPasswd& obfPwd) : CharArray(9) {
(gdb) b __cxxabiv1::__cxa_throw
Breakpoint 3 at 0xffff953afb50: file ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc, line 78.
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 3, __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaab147e2980, tinfo=0xaaaae06f4df8 <typeinfo for rdr::Exception>, dest=0xaaaae05b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:78
78        PROBE2 (throw, obj, tinfo);
(gdb) b _Unwind_RaiseException
Breakpoint 4 at 0xffff9524ad00: _Unwind_RaiseException. (2 locations)
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 4, _Unwind_RaiseException (exception_object=exception_object at entry=0xaaab147e2960) at unwind/RaiseException.c:31
31        uint64_t exception_class = exception_object->exception_class;
(gdb) next
42        if (_Unwind_InitContext (&context, &uc) < 0)
(gdb) 
49            if ((ret = unw_step (&context.cursor)) <= 0)
(gdb) 
60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
(gdb) 
63            personality = (_Unwind_Personality_Fn) (uintptr_t) pi.handler;
(gdb) 
64            if (personality)
(gdb) 
49            if ((ret = unw_step (&context.cursor)) <= 0)
(gdb) display/i $pc
1: x/i $pc
=> 0xffff958ebee4 <_Unwind_RaiseException+180>: mov     x0, x19
(gdb) stepi
0x0000ffff958ebee8      49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffff958ebee8 <_Unwind_RaiseException+184>: bl      0xffff958ed368 <_ULaarch64_step>
(gdb) 
_ULaarch64_step (cursor=cursor at entry=0xffffe2ef8c38) at aarch64/Gstep.c:111
111       struct cursor *c = (struct cursor *) cursor;
1: x/i $pc
=> 0xffff958ed368 <_ULaarch64_step>:    stp     x29, x30, [sp, #-32]!
(gdb) finish
Run till exit from #0  _ULaarch64_step (cursor=cursor at entry=0xffffe2ef8c38) at aarch64/Gstep.c:111
0x0000ffff958ebeec in _Unwind_RaiseException (exception_object=exception_object at entry=0xaaab147e2960) at unwind/RaiseException.c:49
49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffff958ebeec <_Unwind_RaiseException+188>: cmp     w0, #0x0
Value returned is $1 = 1
(gdb) stepi
0x0000ffff958ebef0      49            if ((ret = unw_step (&context.cursor)) <= 0)
1: x/i $pc
=> 0xffff958ebef0 <_Unwind_RaiseException+192>: b.gt    0xffff958ebecc <_Unwind_RaiseException+156>
(gdb) 
60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffff958ebecc <_Unwind_RaiseException+156>: mov     x1, x20
(gdb) 
0x0000ffff958ebed0      60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffff958ebed0 <_Unwind_RaiseException+160>: mov     x0, x19
(gdb) 
0x0000ffff958ebed4      60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffff958ebed4 <_Unwind_RaiseException+164>: bl      0xffff958ec490 <_ULaarch64_get_proc_info>
(gdb) 
_ULaarch64_get_proc_info (cursor=cursor at entry=0xffffe2ef8c38, pi=pi at entry=0xffffe2ef79e0) at aarch64/Gget_proc_info.c:30
30        struct cursor *c = (struct cursor *) cursor;
1: x/i $pc
=> 0xffff958ec490 <_ULaarch64_get_proc_info>:   stp     x29, x30, [sp, #-32]!
(gdb) nexti
0x0000ffff958ec494      30        struct cursor *c = (struct cursor *) cursor;
1: x/i $pc
=> 0xffff958ec494 <_ULaarch64_get_proc_info+4>: mov     x29, sp
(gdb) 
0x0000ffff958ec498      30        struct cursor *c = (struct cursor *) cursor;
1: x/i $pc
=> 0xffff958ec498 <_ULaarch64_get_proc_info+8>: stp     x19, x20, [sp, #16]
(gdb) 
0x0000ffff958ec49c      30        struct cursor *c = (struct cursor *) cursor;
1: x/i $pc
=> 0xffff958ec49c <_ULaarch64_get_proc_info+12>:        mov     x20, x1
(gdb) 
0x0000ffff958ec4a0      30        struct cursor *c = (struct cursor *) cursor;
1: x/i $pc
=> 0xffff958ec4a0 <_ULaarch64_get_proc_info+16>:        mov     x19, x0
(gdb) 
33        ret = dwarf_make_proc_info (&c->dwarf);
1: x/i $pc
=> 0xffff958ec4a4 <_ULaarch64_get_proc_info+20>:        bl      0xffff958efe58 <_ULaarch64_dwarf_make_proc_info>
(gdb) 
34        if (ret < 0)
1: x/i $pc
=> 0xffff958ec4a8 <_ULaarch64_get_proc_info+24>:        tbnz    w0, #31, 0xffff958ec4d4 <_ULaarch64_get_proc_info+68>
(gdb) 
38        return 0;
1: x/i $pc
=> 0xffff958ec4d4 <_ULaarch64_get_proc_info+68>:        ldp     x19, x20, [sp, #16]
(gdb) 
0x0000ffff958ec4d8      38        return 0;
1: x/i $pc
=> 0xffff958ec4d8 <_ULaarch64_get_proc_info+72>:        ldp     x29, x30, [sp], #32
(gdb) 
0x0000ffff958ec4dc      38        return 0;
1: x/i $pc
=> 0xffff958ec4dc <_ULaarch64_get_proc_info+76>:        ret
(gdb) finish
Run till exit from #0  0x0000ffff958ec4dc in _ULaarch64_get_proc_info (cursor=cursor at entry=0xffffe2ef8c38, pi=pi at entry=0xffffe2ef79e0) at aarch64/Gget_proc_info.c:38
0x0000ffff958ebed8 in _Unwind_RaiseException (exception_object=exception_object at entry=0xaaab147e2960) at unwind/RaiseException.c:60
60            if (unw_get_proc_info (&context.cursor, &pi) < 0)
1: x/i $pc
=> 0xffff958ebed8 <_Unwind_RaiseException+168>: tbnz    w0, #31, 0xffff958ebefc <_Unwind_RaiseException+204>
Value returned is $2 = -10
(gdb) info reg
x0             0xfffffff6          4294967286
x1             0x0                 0
x2             0x8bf8cca89878d00   630377274373803264
x3             0x8                 8
x4             0x0                 0
x5             0x17f               383
x6             0x0                 0
x7             0x1                 1
x8             0x87                135
x9             0xffff8c2ab120      281473033351456
x10            0x7                 7
x11            0x1007effff007d     282020437491837
x12            0x0                 0
x13            0x1                 1
x14            0x0                 0
x15            0x68                104
x16            0xffff95905018      281473191006232
x17            0xffff950fe8b8      281473182591160
x18            0x7bf               1983
x19            0xffffe2ef8c38      281474489093176
x20            0xffffe2ef79e0      281474489088480
x21            0xffffe2ef7a60      281474489088608
x22            0xaaab147e2960      187651759941984
x23            0x474e5543432b2b00  5138137972254386944
x24            0xffffe2f00d98      281474489126296
x25            0xffffe2f00d90      281474489126288
x26            0xaaab14856e10      187651760418320
x27            0x1                 1
x28            0xaaaae0706770      187650886625136
x29            0xffffe2ef7970      281474489088368
x30            0xffff958ebed8      281473190903512
sp             0xffffe2ef7970      0xffffe2ef7970
pc             0xffff958ebed8      0xffff958ebed8 <_Unwind_RaiseException+168>
cpsr           0x60000000          [ EL=0 C Z ]
fpsr           0x10                16
fpcr           0x0                 0
(gdb) bt
#0  0x0000ffff958ebed8 in _Unwind_RaiseException (exception_object=exception_object at entry=0xaaab147e2960) at unwind/RaiseException.c:60
#1  0x0000ffff953afba4 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaab147e2980, tinfo=0xaaaae06f4df8 <typeinfo for rdr::Exception>, dest=0xaaaae05b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:90
#2  0x0000aaaae05ee4d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe2f00d00, obfPwd=...) at ./common/rfb/Password.cxx:46
#3  0x0000aaaae05dd144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe2f00d90, readOnlyPassword=0xffffe2f00d98) at ./common/rfb/SSecurityVncAuth.cxx:149
#4  0x0000aaaae05dd5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaab148571e0, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#5  0x0000aaaae05d5348 in rfb::SConnection::processSecurityMsg (this=0xaaab1480eea0) at ./common/rfb/SConnection.cxx:213
#6  0x0000aaaae05e1f64 in rfb::VNCSConnectionST::processMessages (this=0xaaab1480eea0) at ./common/rfb/VNCSConnectionST.cxx:151
#7  0x0000aaaae05bf178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaab14497f70, fd=fd at entry=10, sockserv=0xaaab144ae920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#8  0x0000aaaae05bf28c in XserverDesktop::handleSocketEvent (this=0xaaab14497f70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#9  0x0000aaaae065e2d8 in ospoll_wait (ospoll=0xaaab14497b80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#10 0x0000aaaae0657090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#11 0x0000aaaae060f774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#12 0x0000aaaae0614ae8 in dix_main (argc=20, argv=0xffffe2f02218, envp=0xffffe2f022c0) at ././unix/xserver/dix/main.c:276
#13 0x0000ffff950ecd24 in __libc_start_main (main=0xaaaae04e3150 <main>, argc=20, argv=0xffffe2f02218, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#14 0x0000aaaae04e49c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" hit Breakpoint 4, _Unwind_RaiseException (exception_object=0xaaab147e2960) at unwind/RaiseException.c:31
31        uint64_t exception_class = exception_object->exception_class;
1: x/i $pc
=> 0xffff958ebe30 <_Unwind_RaiseException>:     mov     x16, #0x92d0                    // #37584
(gdb) bt
#0  _Unwind_RaiseException (exception_object=0xaaab147e2960) at unwind/RaiseException.c:31
#1  0x0000ffff958ec430 in _Unwind_Resume_or_Rethrow (exception_object=exception_object at entry=0xaaab147e2960) at unwind/Resume_or_Rethrow.c:42
#2  0x0000ffff953afc04 in __cxxabiv1::__cxa_rethrow () at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:126
#3  0x0000ffff953b1a60 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:80
#4  0x0000ffff953af8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#5  0x0000ffff953af8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#6  0x0000ffff953afbb0 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaab147e2980, tinfo=0xaaaae06f4df8 <typeinfo for rdr::Exception>, dest=0xaaaae05b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:95
#7  0x0000aaaae05ee4d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe2f00d00, obfPwd=...) at ./common/rfb/Password.cxx:46
#8  0x0000aaaae05dd144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe2f00d90, readOnlyPassword=0xffffe2f00d98) at ./common/rfb/SSecurityVncAuth.cxx:149
#9  0x0000aaaae05dd5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaab148571e0, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#10 0x0000aaaae05d5348 in rfb::SConnection::processSecurityMsg (this=0xaaab1480eea0) at ./common/rfb/SConnection.cxx:213
#11 0x0000aaaae05e1f64 in rfb::VNCSConnectionST::processMessages (this=0xaaab1480eea0) at ./common/rfb/VNCSConnectionST.cxx:151
#12 0x0000aaaae05bf178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaab14497f70, fd=fd at entry=10, sockserv=0xaaab144ae920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#13 0x0000aaaae05bf28c in XserverDesktop::handleSocketEvent (this=0xaaab14497f70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#14 0x0000aaaae065e2d8 in ospoll_wait (ospoll=0xaaab14497b80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#15 0x0000aaaae0657090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#16 0x0000aaaae060f774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#17 0x0000aaaae0614ae8 in dix_main (argc=20, argv=0xffffe2f02218, envp=0xffffe2f022c0) at ././unix/xserver/dix/main.c:276
#18 0x0000ffff950ecd24 in __libc_start_main (main=0xaaaae04e3150 <main>, argc=20, argv=0xffffe2f02218, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#19 0x0000aaaae04e49c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
1: x/i $pc
=> 0xffff950fe6c4 <__GI_raise+172>:     ldr     x19, [x19, #3800]
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000ffff950ec8e8 in __GI_abort () at abort.c:79
#2  0x0000ffff953b1ac4 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:50
#3  0x0000ffff953af8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x0000ffff953af8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x0000ffff953afc10 in __cxxabiv1::__cxa_rethrow () at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:133
#6  0x0000ffff953b1a60 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:80
#7  0x0000ffff953af8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#8  0x0000ffff953af8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#9  0x0000ffff953afbb0 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaab147e2980, tinfo=0xaaaae06f4df8 <typeinfo for rdr::Exception>, dest=0xaaaae05b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:95
#10 0x0000aaaae05ee4d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe2f00d00, obfPwd=...) at ./common/rfb/Password.cxx:46
#11 0x0000aaaae05dd144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe2f00d90, readOnlyPassword=0xffffe2f00d98) at ./common/rfb/SSecurityVncAuth.cxx:149
#12 0x0000aaaae05dd5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaab148571e0, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#13 0x0000aaaae05d5348 in rfb::SConnection::processSecurityMsg (this=0xaaab1480eea0) at ./common/rfb/SConnection.cxx:213
#14 0x0000aaaae05e1f64 in rfb::VNCSConnectionST::processMessages (this=0xaaab1480eea0) at ./common/rfb/VNCSConnectionST.cxx:151
#15 0x0000aaaae05bf178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaab14497f70, fd=fd at entry=10, sockserv=0xaaab144ae920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#16 0x0000aaaae05bf28c in XserverDesktop::handleSocketEvent (this=0xaaab14497f70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#17 0x0000aaaae065e2d8 in ospoll_wait (ospoll=0xaaab14497b80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#18 0x0000aaaae0657090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#19 0x0000aaaae060f774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#20 0x0000aaaae0614ae8 in dix_main (argc=20, argv=0xffffe2f02218, envp=0xffffe2f022c0) at ././unix/xserver/dix/main.c:276
#21 0x0000ffff950ecd24 in __libc_start_main (main=0xaaaae04e3150 <main>, argc=20, argv=0xffffe2f02218, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#22 0x0000aaaae04e49c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) cont
Continuing.

Thread 1 "Xtigervnc" received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      in ../sysdeps/unix/sysv/linux/raise.c
1: x/i $pc
=> 0xffff950fe6c4 <__GI_raise+172>:     ldr     x19, [x19, #3800]
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000ffff950ec8e8 in __GI_abort () at abort.c:79
#2  0x0000aaaae06604dc in OsAbort () at ././unix/xserver/os/utils.c:1350
#3  0x0000aaaae0665c24 in AbortServer () at ././unix/xserver/os/log.c:879
#4  0x0000aaaae0666984 in FatalError (f=f at entry=0xaaaae0685890 "Caught signal %d (%s). Server aborting\n") at ././unix/xserver/os/log.c:1017
#5  0x0000aaaae065d8b4 in OsSigHandler (unused=<optimized out>, sip=0xffffe2eff670, signo=6) at ././unix/xserver/os/osinit.c:156
#6  OsSigHandler (signo=6, sip=0xffffe2eff670, unused=<optimized out>) at ././unix/xserver/os/osinit.c:110
#7  <signal handler called>
#8  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#9  0x0000ffff950ec8e8 in __GI_abort () at abort.c:79
#10 0x0000ffff953b1ac4 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:50
#11 0x0000ffff953af8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#12 0x0000ffff953af8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#13 0x0000ffff953afc10 in __cxxabiv1::__cxa_rethrow () at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:133
#14 0x0000ffff953b1a60 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:80
#15 0x0000ffff953af8ac in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#16 0x0000ffff953af8f8 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#17 0x0000ffff953afbb0 in __cxxabiv1::__cxa_throw (obj=obj at entry=0xaaab147e2980, tinfo=0xaaaae06f4df8 <typeinfo for rdr::Exception>, dest=0xaaaae05b57e8 <rdr::Exception::~Exception()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:95
#18 0x0000aaaae05ee4d4 in rfb::PlainPasswd::PlainPasswd (this=0xffffe2f00d00, obfPwd=...) at ./common/rfb/Password.cxx:46
#19 0x0000aaaae05dd144 in rfb::VncAuthPasswdParameter::getVncAuthPasswd (this=<optimized out>, password=0xffffe2f00d90, readOnlyPassword=0xffffe2f00d98) at ./common/rfb/SSecurityVncAuth.cxx:149
#20 0x0000aaaae05dd5a8 in rfb::SSecurityVncAuth::processMsg (this=0xaaab148571e0, sc=<optimized out>) at ./common/rfb/SSecurityVncAuth.cxx:93
#21 0x0000aaaae05d5348 in rfb::SConnection::processSecurityMsg (this=0xaaab1480eea0) at ./common/rfb/SConnection.cxx:213
#22 0x0000aaaae05e1f64 in rfb::VNCSConnectionST::processMessages (this=0xaaab1480eea0) at ./common/rfb/VNCSConnectionST.cxx:151
#23 0x0000aaaae05bf178 in XserverDesktop::handleSocketEvent (this=this at entry=0xaaab14497f70, fd=fd at entry=10, sockserv=0xaaab144ae920, read=read at entry=true, write=write at entry=false) at ././unix/xserver/hw/vnc/XserverDesktop.cc:428
#24 0x0000aaaae05bf28c in XserverDesktop::handleSocketEvent (this=0xaaab14497f70, fd=10, read=<optimized out>, write=<optimized out>) at ././unix/xserver/hw/vnc/XserverDesktop.cc:377
#25 0x0000aaaae065e2d8 in ospoll_wait (ospoll=0xaaab14497b80, timeout=<optimized out>) at ././unix/xserver/os/ospoll.c:651
#26 0x0000aaaae0657090 in WaitForSomething (are_ready=0) at ././unix/xserver/os/WaitFor.c:208
#27 0x0000aaaae060f774 in Dispatch () at ././unix/xserver/dix/dispatch.c:421
#28 0x0000aaaae0614ae8 in dix_main (argc=20, argv=0xffffe2f02218, envp=0xffffe2f022c0) at ././unix/xserver/dix/main.c:276
#29 0x0000ffff950ecd24 in __libc_start_main (main=0xaaaae04e3150 <main>, argc=20, argv=0xffffe2f02218, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
#30 0x0000aaaae04e49c0 in _start () at /usr/include/c++/8/bits/stl_tree.h:210
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) cont
Continuing.
Unable to fetch general registers.: No such process.
Unable to fetch general registers.: No such process.
(gdb) [Thread 0xffff8cacdc70 (LWP 19494) exited]
[Thread 0xffff8d2cec70 (LWP 19493) exited]
[Thread 0xffff8dacfc70 (LWP 19492) exited]
[Thread 0xffff8e2d0c70 (LWP 19491) exited]
[Thread 0xffff8ead1c70 (LWP 19490) exited]
[Thread 0xffff87ffec70 (LWP 19489) exited]
[Thread 0xffff8f2d2c70 (LWP 19488) exited]
[Thread 0xffff94841010 (LWP 19474) exited]















https://www.nongnu.org/libunwind/
https://github.com/libunwind/libunwind


More information about the Pkg-tigervnc-devel mailing list