Meelis Roos wrote:

> $ glxinfo
> name of display: localhost:10.0
> Xlib: connection to ":0.0" refused by server
> Xlib: Client is not authorized to connect to Server
> display: localhost:10  screen: 0
> direct rendering: No
> 
> If the display is different from :0.0 (:1.0, remote display, whatever)
> then GLX initialization tries to connecxt to :0.0 and fails. Sometimes
> this takes time, depending on user configuration. For example, on my
> home computer I have to wait quite a long for this :0.0 connect timeout
> for some reason when running GLX things on :1.0. I have seen this
> behaviour several times and today I decided to find out what's wrong.
> 
> If this si the wrong list and there is a better list for GLX library
> problems, please direct me there.
> 
> Below is an excerpt from ltrace -S glxinfo to find out the call trace.
> It basically shows that glxinfo calls glXMakeCurrent with correct
> display struct but inside glXMakeCurrent a connection to :0.0 is made.
> 
> A little digging in the code shows that glXMakeCurrent saves old
> context:
> oldGC = __glXGetCurrentContext();
> 
> __glXGetCurrentContext() finds no previous context and uses dummyContext
> instead. Somehow dummyContext is used without check later and it seems
> that this results in spurious connect to default display :0.0. I have
> not determined where the exact call is since I don't have time to
> recompile it with debug info currently.
> 
> This trace is from XFree 4.1.0-17 Debian package (because that's what
> I'm running on the computer where ltrace works) but I tried it with
> 4.2.99.1 CVS on another computer (sparc, so no ltrace) and the result
> was similar - it still connected to :0.0. Even more, it segfaulted
> somewhere after that but my current binaries are without debug info and
> I can't find out what exactly happened. Anyway, this GLX problem is
> present both in 4.1 and 4.2 current.
> 
> 17369 XCreateWindow(0x08053b00, 49, 0, 0, 100)    = 0x03000002
> 17369 glXCreateContext(0x08053b00, 0x08055848, 0, 1, 1 <unfinished ...>
> 17369 malloc(1308 <unfinished ...>
> 17369 SYS_brk(0x08057000)                         = 0x08057000
> 17369 <... malloc resumed> )                      = 0x08055d10
> 17369 malloc(262140 <unfinished ...>
> 17369 SYS_mmap(0xbffffb04, 262144, 0x40337dd0, 266240, 0x80000000) = 0x40392000
> 17369 <... malloc resumed> )                      = 0x40392008
> 17369 <... glXCreateContext resumed> )            = 0x08055d10
> 17369 glXMakeCurrent(0x08053b00, 0x03000002, 0x08055d10, 1, 1 <unfinished ...>
> 17369 SYS_write(3, "\217\024 ", 232)              = 232
> 17369 SYS_read(3, ???, 32)                        = -11
> 17369 SYS__newselect(4, 0xbffffaac, 0, 0, 0)      = 1
> 17369 SYS_read(3, "\001", 32)                     = 32
> 17369 XOpenDisplay(":0.0" <unfinished ...>
> 17369 SYS_uname(0xbffff534)                       = 0
> 17369 SYS_socketcall(1, 0xbffff774, 0x401e8fdc, 0x401e69e8, 60) = 4
> 17369 SYS_uname(0xbffff574)                       = 0
> 17369 SYS_uname(0xbffff474)                       = 0
> 17369 SYS_socketcall(3, 0xbffff754, 0x401feac0, 19, 0xbffff7cc) = 0
> 17369 SYS_uname(0xbffff5b4)                       = 0
> 17369 SYS_fcntl64(4, 2, 1, 2, 4)                  = 0
> 17369 SYS_access(0x08054678, 4, 0x401e8fdc, 0x08054678, 0xbffff82e) = 0
> 17369 SYS_open("/home/mroos/.Xauthority", 0, 0666) = 5
> 17369 SYS_fstat64(5, 0xbffff58c, 0x40338a40, 0x4033c36c, 5) = 0
> 17369 SYS_mmap(0xbffff554, 0xbffff58c, 0x40337dd0, 0x080568d8, 4096) = 0x40016000
> 17369 SYS_read(5, "", 4096)                       = 304
> 17369 SYS_read(5, "", 4096)                       = 0
> 17369 SYS_close(5)                                = 0
> 17369 SYS_munmap(0x40016000, 4096)                = 0
> 17369 SYS_brk(0x08058000)                         = 0x08058000
> 17369 SYS_writev(4, 0xbffff954, 1, 1, 4)          = 12
> 17369 SYS_fcntl64(4, 3, 0, 3, 4)                  = 2
> 17369 SYS_fcntl64(4, 4, 2050, 4, 4)               = 0
> 17369 SYS_read(4, ???, 8)                         = -11
> 17369 SYS__newselect(5, 0xbffff8cc, 0, 0, 0)      = 1
> 17369 SYS_read(4, "", 8)                          = 8
> 17369 SYS_read(4, "Client is not authorized to conn"..., 48) = 48
> 17369 SYS_write(2, "Xlib: connection to ":0.0" refus"..., 52) = 52
> 17369 SYS_write(2, "Client is not authorized to conn"..., 45) = 45
> 17369 SYS_write(2, "\r\n", 2)                     = 2
> 17369 SYS_socketcall(13, 0xbffff8c4, 0x401e8fdc, 0x08056868, 0x08056820) = 0
> 17369 SYS_close(4)                                = 0
> 17369 <... XOpenDisplay resumed> )                = NULL
> 17369 malloc(2244)                                = 0x080562b8
> 17369 <... glXMakeCurrent resumed> )              = 1
> 
> 

Meelis,

When you have time, build the DRI trunk as debuggable and send us 
whatever info you find.  A patch would be great :-)  Post to 
[EMAIL PROTECTED]

Regards,
Jens

-- 
                                /\
          Jens Owen            /  \/\ _
   [EMAIL PROTECTED]  /    \ \ \   Steamboat Springs, Colorado



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
We have stuff for geeks like you.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to