Bug#632549: Xephyr asserts and aborts during startup
On Wed, Jul 6, 2011 at 23:15:28 +0300, Mohammed Sameer wrote:
> Program received signal SIGABRT, Aborted.
> 0xb7b37667 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> 64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> in ../nptl/sysdeps/unix/sysv/linux/raise.c
> (gdb) where
> #0 0xb7b37667 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #1 0xb7b3aa52 in abort () at abort.c:92
> #2 0xb7b308f7 in __assert_fail (assertion=0x81f8f62 "key->initialized",
> file=0x81f8eac "../../../../include/privates.h", line=117,
> function=0x81f94a6 "dixGetPrivateAddr") at assert.c:81
> #3 0x080607c2 in dixGetPrivateAddr (key=<value optimized out>, privates=<value optimized out>)
> at ../../../../include/privates.h:117
> #4 0x0806e9ac in dixGetPrivateAddr (a_screen=0x82a04d0) at ../../../../include/privates.h:117
> #5 dixGetPrivate (a_screen=0x82a04d0) at ../../../../include/privates.h:132
> #6 dixLookupPrivate (a_screen=0x82a04d0) at ../../../../include/privates.h:162
> #7 ephyrDRIScreenInit (a_screen=0x82a04d0) at ../../../../hw/kdrive/ephyr/ephyrdriext.c:114
Try this?
diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c
index 6945f5b..0bd51b2 100644
--- a/hw/kdrive/ephyr/ephyrdriext.c
+++ b/hw/kdrive/ephyr/ephyrdriext.c
@@ -1394,6 +1394,10 @@ ephyrDRIExtensionInit (ScreenPtr a_screen)
EPHYR_LOG_ERROR ("failed to register DRI extension\n") ;
goto out ;
}
+ if (!dixRegisterPrivateKey(&ephyrDRIScreenKeyRec, PRIVATE_SCREEN, 0))
+ goto out ;
+ if (!dixRegisterPrivateKey(&ephyrDRIWindowKeyRec, PRIVATE_WINDOW, 0))
+ goto out ;
screen_priv = calloc(1, sizeof (EphyrDRIScreenPrivRec)) ;
if (!screen_priv) {
EPHYR_LOG_ERROR ("failed to allocate screen_priv\n") ;
Cheers,
Julien
Reply to: