[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#426970: xbase-clients: xrandr segfaults reading /lib/i686/cmov/libdl.so.2



retitle 426970 xrandr segfaults
thank you




Karsten M. Self wrote:
> Package: xbase-clients
> Version: 1:7.1.ds1-2
> Severity: normal
>
>
> xrandr segfaults when invoked.
>   

Does it happen with xbase-clients 1:7.2.ds2-2

> If I'm reading strace correctly, it's failing in a read of
> /lib/i686/cmov/libdl.so.2:
>
>
>     access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
>     open("/lib/i686/cmov/libdl.so.2", O_RDONLY) = 3
>     read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\n\0\000"..., 512) = 51
>     2
>     fstat64(3, {st_mode=S_IFREG|0644, st_size=9684, ...}) = 0
>     mmap2(NULL, 12412, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7d
>     3a000
>     mmap2(0xb7d3c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRIT
>     E, 3, 0x1) = 0xb7d3c000
>     close(3)                                = 0
>   

The descriptor of /lib/i686/cmov/libdl.so.2 is closed here. And
descriptor 3 is reopened below.

>     socket(PF_FILE, SOCK_STREAM, 0)         = 3
>     uname({sys="Linux", node="lnx-kself", ...}) = 0
>     uname({sys="Linux", node="lnx-kself", ...}) = 0
>     connect(3, {sa_family=AF_FILE, path="/tmp/.X11-unix/X0"}, 19) = 0
>     uname({sys="Linux", node="lnx-kself", ...}) = 0
>     fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
>     access("/home/kself/.Xauthority", R_OK) = 0
>     open("/home/kself/.Xauthority", O_RDONLY) = 4
>     fstat64(4, {st_mode=S_IFREG|0600, st_size=103, ...}) = 0
>     mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7
>     fa9000
>     read(4, "\0\0\0\4\236\214/F\0\0010\0\22MIT-MAGIC-COOKIE-1\0"..., 4096) = 103
>     read(4, "", 4096)                       = 0
>     close(4)                                = 0
>     munmap(0xb7fa9000, 4096)                = 0
>     writev(3, [{"l\0\v\0\0\0\22\0\20\0\0\0", 12}, {"MIT-MAGIC-COOKIE-1", 18}, {"\0\0
>     ", 2}, {"\23s\"+ `6/ip,dO\2N:", 16}], 4) = 48
>     fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
>     fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
>     read(3, "\1\0\v\0\0\0c\0", 8)           = 8
>     read(3, "\10\250-\4\0\0`\5\377\377\37\0\0\1\0\0\24\0\377\377\1\7"..., 396) = 396
>     write(3, "7\0\5\0\0\0`\5f\0\0\0\10\0\0\0\377\377\0\0b\0\5\0\f\0\0"..., 64) = 64
>     read(3, "\1\0\2\0\0\0\0\0\1\205\0\0\0\0\0\0\24\0\0\0\0\0\0\0\24"..., 32) = 32
>     read(3, "\1\10\3\0#\7\0\0\37\0\0\0\0\0\0\0\213\34\0\0\30\0\0\0\0"..., 32) = 32
>     readv(3, [{"*VT100.Translations:\t#override ~"..., 7307}, {"\0", 1}], 2) = 7308
>     write(3, "\205\0\1\0", 4)               = 4
>     read(3, "\1\0\4\0\0\0\0\0\377\377?\0\0\0\0\0\4\0\0\0(\0\0\0\4\0"..., 32) = 32
>     writev(3, [{"b\0\5\0\t\0`\5", 8}, {"XKEYBOARD", 9}, {"\0\0\0", 3}], 3) = 20
>     read(3, "\1\0\5\0\0\0\0\0\1\223n\255\0\0\0\0\24\0\0\0(\0\0\0\24"..., 32) = 32
>     write(3, "\223\0\2\0\1\0\0\0", 8)       = 8
>     read(3, "\1\1\6\0\0\0\0\0\1\0\0\0\0\0\0\0\240\333A\n\23\0\0\0\10"..., 32) = 32
>     writev(3, [{"b\0\4\0\5\0\0\0", 8}, {"RANDR", 5}, {"\0\0\0", 3}], 3) = 16
>     read(3, "\1\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0(\0\0\0\20\0\0"..., 32) = 32
>     --- SIGSEGV (Segmentation fault) @ 0 (0) ---
>     +++ killed by SIGSEGV +++
>     Process 19634 detached
>   

Descriptor 3 is a socket a this point, probably the socket to the server.

I have seen xrandr segfault a couple times, without ever being able to
reproduce. Is it easy to reproduce on your side? Can you get a backtrace
with gdb? What command line argument did you pass to it?

Brice




Reply to: