[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



on Fri, Jun 01, 2007 at 07:55:27AM +0200, Brice Goglin (Brice.Goglin@ens-lyon.org) wrote:
> 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

Nope.

    $ xrandr
    Xlib:  extension "RANDR" missing on display ":0.0".
    RandR extension missing

... which is progress.
 
> > 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.
 
Good catch.  I was only looking at open() calls...

> >     socket(PF_FILE, SOCK_STREAM, 0)         = 3
> >     uname({sys="Linux", node="lnx-kself", ...}) = 0

<...>

> >     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?

Yes, it was fully reproducible.

I was generally passing _no_ arguments, though results were consistent
with any of the following (from history):

    xrandr
    xrandr -s 1024x768
    sudo xrandr -s 1024x768
    sudo xrandr -d :0 -s 1024x768
    xrandr -d :0 -s 1024x768
    strace xrandr -d :0 -s 1024x768

Fix at present appears to be to upgrade.  I'm a bit more interested in
making this work than finding out wat was wrong with the old version,
I'll be playing with my display settings some more.

Trying to get my Thinkpad T30 to be able to migrate from office
(dual-head) to the road, with functional power management
(sleep/hibernate) and being able to respecify the display.

I think we can close this as fixed in unstable for now, I'll leave that
call to you.

Thanks for your time.


Cheers.

-- 
Karsten M. Self <kself@cadence.com>
SFI / Cadence Design Systems 



Reply to: