[MacPorts] #47769: libgcrypt abort/crash when using krdc to connect to an OS X host

MacPorts noreply at macports.org
Tue May 19 06:41:55 PDT 2015


#47769: libgcrypt abort/crash when using krdc to connect to an OS X host
-------------------------+--------------------------------
 Reporter:  rjvbertin@…  |      Owner:  macports-tickets@…
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:  2.3.3
 Keywords:               |       Port:  libgcrypt
-------------------------+--------------------------------
 Using port:krdc to connect to an OS X host over VNC leads to an abort in
 libgcrypt:

 {{{
 Process 25698 launched:
 '/Applications/MacPorts/KDE4/krdc.app/Contents/MacOS/krdc' (x86_64)
 tp-qt 0.9.5 DEBUG: Register StreamTubeClient with name  "krdc_rfb_handler"
 tp-qt 0.9.5 DEBUG: Client registered - busName:
 "org.freedesktop.Telepathy.Client.krdc_rfb_handler" objectPath:
 "/org/freedesktop/Telepathy/Client/krdc_rfb_handler" interfaces:
 ("org.freedesktop.Telepathy.Client.Handler")
 QDBusObjectPath: invalid path ""
 krdc(25698)/kdeui (kdelibs): Attempt to use QAction
 "remote_desktop_dockwidget" with KXMLGUIFactory!
 QSystemTrayIcon::setVisible: No Icon set
 2015-05-19 15:13:43.893 krdc[25698:d0b] modalSession has been exited
 prematurely - check for a reentrant call to endModalSession:
 ### WalletPrivate ->handleIdleTiming: created QTimer(0x10873a780, name =
 "idleTimer for process/wallet ""/kdewallet") for wallet "kdewallet" handle
 160642784 timeout= 6
 Opened already unlocked wallet ' "kdewallet" ':
 KWallet::Wallet(0x108b4d200)
 2015-05-19 15:13:50.040 krdc[25698:d0b] modalSession has been exited
 prematurely - check for a reentrant call to endModalSession:
 Fatal: failed to create the RNG lock: Invalid argument
 FATAL: failed to acquire the FSM lock in libgrypt: Invalid argument
 Process 25698 stopped
 * thread #7: tid = 0x584c64, 0x00007fff8dcee866
 libsystem_kernel.dylib`__pthread_kill + 10, name = 'VncClientThread', stop
 reason = signal SIGABRT
     frame #0: 0x00007fff8dcee866 libsystem_kernel.dylib`__pthread_kill +
 10
 libsystem_kernel.dylib`__pthread_kill + 10:
 -> 0x7fff8dcee866:  jae    0x7fff8dcee870            ; __pthread_kill + 20
    0x7fff8dcee868:  movq   %rax, %rdi
    0x7fff8dcee86b:  jmp    0x7fff8dceb175            ; cerror_nocancel
    0x7fff8dcee870:  retq
 (lldb) bt
 * thread #7: tid = 0x584c64, 0x00007fff8dcee866
 libsystem_kernel.dylib`__pthread_kill + 10, name = 'VncClientThread', stop
 reason = signal SIGABRT
   * frame #0: 0x00007fff8dcee866 libsystem_kernel.dylib`__pthread_kill +
 10
     frame #1: 0x00007fff8e4dd35c libsystem_pthread.dylib`pthread_kill + 92
     frame #2: 0x00007fff91d85b1a libsystem_c.dylib`abort + 125
     frame #3: 0x000000010a61e1d8 libgcrypt.20.dylib`fips_new_state + 520
     frame #4: 0x000000010a61e501
 libgcrypt.20.dylib`_gcry_fips_signal_error + 81
     frame #5: 0x000000010a6153a6 libgcrypt.20.dylib`_gcry_log_fatal + 246
     frame #6: 0x000000010a66e911
 libgcrypt.20.dylib`_gcry_rngfips_initialize + 689
     frame #7: 0x000000010a66e9ec
 libgcrypt.20.dylib`_gcry_rngfips_randomize + 28
     frame #8: 0x000000010a66bf26 libgcrypt.20.dylib`_gcry_random_bytes +
 38
     frame #9: 0x000000010a67a10f libgcrypt.20.dylib`_gcry_mpi_randomize +
 95
     frame #10: 0x000000010890d439
 libvncclient.0.dylib`InitialiseRFBConnection + 3401
     frame #11: 0x000000010891ffe9 libvncclient.0.dylib`rfbInitClient + 969
     frame #12: 0x00000001088e752f
 krdc_vncplugin.so`VncClientThread::clientCreate(this=0x0000000108b97170,
 reinitialising=false) + 319 at vncclientthread.cpp:555
     frame #13: 0x00000001088e6dba
 krdc_vncplugin.so`VncClientThread::run(this=0x0000000108b97170) + 282 at
 vncclientthread.cpp:463
     frame #14: 0x000000010106e272
 QtCore`QThreadPrivate::start(arg=<unavailable>) + 386 at
 qthread_unix.cpp:352
     frame #15: 0x00007fff8e4dc899 libsystem_pthread.dylib`_pthread_body +
 138
     frame #16: 0x00007fff8e4dc72a libsystem_pthread.dylib`_pthread_start +
 137
     frame #17: 0x00007fff8e4e0fc9 libsystem_pthread.dylib`thread_start +
 13
 }}}

 I've tried to install libgcrypt from source using `configure.optflags=-g`
 : while the -g flag did show up in the build log, the resulting binaries
 are apparently stripped post-build. The RNG lock error message is printed
 at line 201 of file random-fips.c

 I tested this with "localhost" but also with a remote OS X VM; both
 systems run 10.9.5 . Connecting to Linux hosts running the x11vnc server
 works fine.

-- 
Ticket URL: <https://trac.macports.org/ticket/47769>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list