[Pkg-libvirt-maintainers] Bug#719579: libgvnc-1.0-0: Segmentation fault in glib
Artem Rusanov
artem.rusanov at gmail.com
Tue Aug 13 09:03:13 UTC 2013
Package: libgvnc-1.0-0
Version: 0.5.0-3.1
Severity: important
Tags: upstream
Ucontext coroutine have problems with stability, gthread coroutine is ok.
To reproduce just run following test, in some seconds you will get segfault.
Program received signal SIGSEGV, Segmentation fault.
0xf786a228 in ?? () from /lib/libglib-2.0.so.0
(gdb) bt
#0 0xf786a228 in ?? () from /lib/libglib-2.0.so.0
#1 0xf77df904 in IA__g_idle_add_full (priority=200,
function=0xf7fccd30 <vnc_connection_delayed_unref>, data=0x8099678,
notify=0)
at /build/buildd-
glib2.0_2.24.2-1-i386-AScyie/glib2.0-2.24.2/glib/gmain.c:4128
#2 0xf77df968 in IA__g_idle_add (
function=0xf7fccd30 <vnc_connection_delayed_unref>, data=0x8099678)
at /build/buildd-
glib2.0_2.24.2-1-i386-AScyie/glib2.0-2.24.2/glib/gmain.c:4154
#3 0xf7fcbeca in vnc_connection_coroutine (opaque=0x8099678)
at vncconnection.c:5195
#4 0xf7fce086 in coroutine_trampoline (cc=0x80996a0)
at coroutine_ucontext.c:52
#5 0xf7fcdeff in continuation_trampoline (i0=-143110156, i1=-144188539)
at continuation.c:43
#6 0xf767db6b in makecontext () from /lib/libc.so.6
#7 0xf7784ff4 in ?? () from /lib/libc.so.6
#8 0xf7fd35ec in ?? () from /usr/local/lib/libgvnc-1.0.so.0
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Test to reproduce problem (main.c):
#include <gtk/gtk.h>
#include <vncconnection.h>
#include <glib.h>
#include <stdio.h>
static gboolean
time_handler(VncConnection *conn)
{
vnc_connection_open_host(conn, "localhost", "7777");
return FALSE;
}
void disconnected(VncConnection *conn,
gpointer opaque G_GNUC_UNUSED)
{
g_timeout_add(10, (GSourceFunc) time_handler, conn);
}
int main( int argc, char *argv[])
{
GtkWidget *window;
VncConnection *conn;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
conn = vnc_connection_new();
g_signal_connect(conn, "vnc-disconnected", G_CALLBACK(&disconnected), 0);
vnc_connection_open_host(conn, "localhost", "7777");
gtk_main();
return 0;
}
To build:
gcc `pkg-config --libs --cflags gtk+-2.0 gtk-vnc-1.0` -o test main.c
-- System Information:
Debian Release: 7.1
APT prefers stable
APT policy: (700, 'stable'), (600, 'unstable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)
Kernel: Linux 3.9-0.bpo.1-amd64 (SMP w/4 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libgvnc-1.0-0 depends on:
ii libc6 2.13-38
ii libgcrypt11 1.5.0-5+deb7u1
ii libgdk-pixbuf2.0-0 2.26.1-1
ii libglib2.0-0 2.33.12+really2.32.4-5
ii libgnutls26 2.12.20-7
ii libgpg-error0 1.10-3.1
ii libpulse0 2.0-6.1
ii libsasl2-2 2.1.25.dfsg1-6+deb7u1
ii zlib1g 1:1.2.7.dfsg-13
libgvnc-1.0-0 recommends no packages.
libgvnc-1.0-0 suggests no packages.
-- no debconf information
More information about the Pkg-libvirt-maintainers
mailing list