Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-06 Thread The Wanderer

On 05/05/2010 03:21 PM, Jamey Sharp wrote:


Yay, data! Thanks.

On Wed, May 5, 2010 at 10:01 AM, The Wanderer wande...@fastmail.fm
wrote:


trace:wgl:wglGetProcAddress func: 'wglGetIntegerv'
../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.
0019:001a: exception code=0x8101
Unhandled exception code 0x8101
Unknown or malformed query Attached
0xf775f430 in ?? ()
trace: 98 = 80
Wine-gdb bt full
#3  0x7e7a7f44 in _XReply () from /usr/lib32/libX11.so.6
No symbol table info available.


You were right to type 'frame 3', you're just missing debug symbols. 
If you install libx11-6-dbg then you'll be able to get more 
information here, including the values of dpy-request and 
dpy-last_request_read. Sorry I didn't mention that before.


In hindsight I think you may have, and I certainly do remember checking
and noticing that I didn't have that particular package installed on
that machine (though it is on my desktop for a different reason), but I
apparently didn't remember to install it.


#4  0x7d75472f in LnxXextEscape () from /usr/lib32/libatiadlxx.so


I can't find this /usr/lib32/libatiadlxx.so in Debian. Where did it 
come from? (I'm not familiar with the fglrx packaging.)


I suspect that it may have come from a previous manual installation of
the fglrx driver(s), before I got the Debian packages working properly.

I have now done the following:

mv /usr/lib32/*ati* /root/backups/usr/lib32/
mv /usr/lib32/*fgl* /root/backups/usr/lib32/
apt-get install --reinstall fglrx-glx-ia32

and a quick test no longer gives the assertion failure; at a glance,
everything seems to work fine.

There is a specific instruction, in the manual-installation directions
for the fglrx driver from AMD, to uninstall the existing driver via a
specific shell script before installing an updated version. I don't
think I'd found that part of the directions before making the switch
from the manually-installed driver to the Debian-packaged driver; I
certainly did not run the script before making the switch.

Most likely, by coincidence the necessary libraries from the
Debian-packaged version had the same ABI as the manually-installed
version - or at least a compatible one - and so everything continued to
work at that point.

If there is any bug in the Debian packages, it would appear to be one of
incomplete removal of the existing driver. However, while it would
certainly be nice if installing or updating the Debian package would
take the necessary steps to properly remove the manually-installed
driver if one is present, it's not inherently required.

If a previous version of one of these packages did install
/usr/lib32/libatiadlxx.so (and the other related /usr/lib32 files not
presently in Debian packages), then there is a bug in that they were not
removed properly. If no previous version did such a thing, then the
problem is user error on my part, and there is no actual bug.

Thanks for the help tracking this down; I don't know if I'd have been
able to narrow it down to the specific files involved on my own without
a lot more manual work.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: [Pkg-fglrx-devel] Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-06 Thread Patrick Matthäi

Am 06.05.2010 17:09, schrieb The Wanderer:

On 05/05/2010 03:21 PM, Jamey Sharp wrote:


Yay, data! Thanks.

On Wed, May 5, 2010 at 10:01 AM, The Wanderer wande...@fastmail.fm
wrote:


trace:wgl:wglGetProcAddress func: 'wglGetIntegerv'
../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' 
failed.

0019:001a: exception code=0x8101
Unhandled exception code 0x8101
Unknown or malformed query Attached
0xf775f430 in ?? ()
trace: 98 = 80
Wine-gdb bt full
#3  0x7e7a7f44 in _XReply () from /usr/lib32/libX11.so.6
No symbol table info available.


You were right to type 'frame 3', you're just missing debug symbols. 
If you install libx11-6-dbg then you'll be able to get more 
information here, including the values of dpy-request and 
dpy-last_request_read. Sorry I didn't mention that before.


In hindsight I think you may have, and I certainly do remember checking
and noticing that I didn't have that particular package installed on
that machine (though it is on my desktop for a different reason), but I
apparently didn't remember to install it.


#4  0x7d75472f in LnxXextEscape () from /usr/lib32/libatiadlxx.so


I can't find this /usr/lib32/libatiadlxx.so in Debian. Where did it 
come from? (I'm not familiar with the fglrx packaging.)


I suspect that it may have come from a previous manual installation of
the fglrx driver(s), before I got the Debian packages working properly.

I have now done the following:

mv /usr/lib32/*ati* /root/backups/usr/lib32/
mv /usr/lib32/*fgl* /root/backups/usr/lib32/
apt-get install --reinstall fglrx-glx-ia32

and a quick test no longer gives the assertion failure; at a glance,
everything seems to work fine.


That's good.



There is a specific instruction, in the manual-installation directions
for the fglrx driver from AMD, to uninstall the existing driver via a
specific shell script before installing an updated version. I don't
think I'd found that part of the directions before making the switch
from the manually-installed driver to the Debian-packaged driver; I
certainly did not run the script before making the switch.


Then you didn't take care of the manuals ;)



Most likely, by coincidence the necessary libraries from the
Debian-packaged version had the same ABI as the manually-installed
version - or at least a compatible one - and so everything continued to
work at that point.


There is no correct symbol versioning / abi bump within the prop. fglrx 
driver, it is also not meant to build things against it.




If there is any bug in the Debian packages, it would appear to be one of
incomplete removal of the existing driver. However, while it would
certainly be nice if installing or updating the Debian package would
take the necessary steps to properly remove the manually-installed
driver if one is present, it's not inherently required.

If a previous version of one of these packages did install
/usr/lib32/libatiadlxx.so (and the other related /usr/lib32 files not
presently in Debian packages), then there is a bug in that they were not
removed properly. If no previous version did such a thing, then the
problem is user error on my part, and there is no actual bug.


It would be a bug, if we remove files not owned by the fglrx package. If 
you are mixing packages^W packages with manual installed sources^W 
binary blobs, you have to take care of it.




Thanks for the help tracking this down; I don't know if I'd have been
able to narrow it down to the specific files involved on my own without
a lot more manual work.


If it does not occur again in the next days, I would close this bug, 
much thanks for your effort @jamey and @wanderer.


Cheers.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-05 Thread The Wanderer

On 05/04/2010 02:40 PM, Jamey Sharp wrote:


On Tue, May 4, 2010 at 6:54 AM, The Wanderer wande...@fastmail.fm
wrote:



I'm familiar with doing that (well, 'gdb foo' and 'run -v quux'),
but I could have sworn that last time I tried it on a failed
assertion, the 'bt full' returned no information, because the
running program had already exited because of the failed assertion.


No, assert calls abort(), which kills the current process with
SIGABRT, which GDB traps before the process actually exits.

Of course if this application is forking, it can be quite tricky to
get gdb attached to the process that actually dies. It may be easier
to run `ulimit -c unlimited` to enable core dumps, then let the
application die, then use `gdb -c` to inspect the coredump.


I tried that, both with running the shell-script wrapper and with
running its commands by hand (just in case the ulimit setting was
getting lost somewhere), and no core file seems to have been produced in
any obvious location. I've checked /tmp, the current directory, and the
directory with the executable being run by Wine, with no luck.

I tried just running Wine under gdb, in case it would in fact catch the
correct process; it did catch the signal after the assert, but 'bt full'
just reported a series of

#0  0x12345678 in ?? ()
No symbol table info available

which obviously isn't very useful.


Hey, does `glxinfo` assert-fail for you?


No. The only thing which assert-fails for me, that I've tried so far, is
Wine, and that only (as far as I can tell) when trying to use OpenGL.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-05 Thread The Wanderer

On 05/04/2010 02:40 PM, Jamey Sharp wrote:


Of course if this application is forking, it can be quite tricky to
get gdb attached to the process that actually dies. It may be easier
to run `ulimit -c unlimited` to enable core dumps, then let the
application die, then use `gdb -c` to inspect the coredump.


I've been doing some more fiddling with this, and I managed to get a
viable stack trace using winedbg; see attached. (It should be a lot
smaller than the last attachment. Is there any easy way to prevent
attachments from being displayed inline that way when they're so big?)

I also included a register dump, just in case that would be useful.
Looking at the dump now, though, I'm suddenly no longer sure that it was
taken at the correct stack frame; take it with a grain of salt. I can
re-run the debug session if necessary.


When you have the failed process in GDB, it would also help to go to
the _XReply stack frame and print dpy-request and
dpy-last_request_read. I'm guessing those will be 9 and 8,
respectively.


Unfortunately, I was not able to manage this. Possibly I don't
understand how to go to the_XReply stack frame; I tried both
'select-frame 3' and 'frame 3' (the latter of which did print '#3
0x7e7a7f44 in _XReply () from /usr/lib32/libX11.so.6'), but both ways, I
got only 'No symbol dpy in current context.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-05 Thread The Wanderer

On 05/05/2010 11:43 AM, The Wanderer wrote:


On 05/04/2010 02:40 PM, Jamey Sharp wrote:


Of course if this application is forking, it can be quite tricky to
get gdb attached to the process that actually dies. It may be
easier to run `ulimit -c unlimited` to enable core dumps, then let
the application die, then use `gdb -c` to inspect the coredump.


I've been doing some more fiddling with this, and I managed to get a
viable stack trace using winedbg; see attached.


Really attached this time. I cut the lines from my failed attempts at
getting other info out of the log, since they weren't helpful and had a
bunch of garbage characters from backspacing and the like.
0019:001a: create process 'C:\Program Files\World of Warcraft\Wow.exe'/0x110738 
@0x401000 (00)
0019:001a: create thread I @0x401000
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type show copying
and show warranty for details.
This GDB was configured as x86_64-linux-gnu.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
0019:001a: loads DLL C:\windows\system32\KERNEL32.dll @0x7ede (00)
0019:001a: loads DLL C:\windows\system32\ntdll.dll @0x7ef6 (00)
0019:001a: loads DLL C:\Program Files\World of Warcraft\DivxDecoder.dll 
@0x1000 (00)
0019:001a: loads DLL C:\windows\system32\rpcrt4.dll @0x7e96 (00)
0019:001a: loads DLL C:\windows\system32\advapi32.dll @0x7e9d (00)
0019:001a: loads DLL C:\windows\system32\gdi32.dll @0x7ea3 (00)
0019:001a: loads DLL C:\windows\system32\user32.dll @0x7eac (00)
0019:001a: loads DLL C:\windows\system32\winmm.dll @0x7ebe (00)
0019:001a: loads DLL C:\windows\system32\opengl32.dll @0x7e8d (00)
0019:001a: loads DLL C:\windows\system32\imm32.dll @0x7e65 (00)
0019:001a: loads DLL C:\windows\system32\mpr.dll @0x7e5c (00)
0019:001a: loads DLL C:\windows\system32\shlwapi.dll @0x7e57 (00)
0019:001a: loads DLL C:\windows\system32\comctl32.dll @0x7e2d (00)
0019:001a: loads DLL C:\windows\system32\shell32.dll @0x7e3a (00)
0019:001a: loads DLL C:\windows\system32\wininet.dll @0x7e60 (00)
0019:001a: loads DLL C:\windows\system32\msacm32.dll @0x7e2a (00)
0019:001a: loads DLL C:\windows\system32\ws2_32.dll @0x7e28 (00)
0019:001a: loads DLL C:\windows\system32\ole32.dll @0x7e14 (00)
0019:001a: loads DLL C:\windows\system32\dinput.dll @0x7e23 (00)
0019:001a: loads DLL C:\windows\system32\dinput8.dll @0x7e26 (00)
0019:001a: loads DLL C:\windows\system32\winspool.drv @0x7e0a (00)
0019:001a: loads DLL C:\windows\system32\lz32.dll @0x7e09 (00)
0019:001a: loads DLL C:\windows\system32\version.dll @0x7ef4 (00)
0019:001a: loads DLL C:\windows\system32\setupapi.dll @0x7e0d (00)
0019:001a: loads DLL C:\windows\system32\hid.dll @0x7e07 (00)
0019:001a: loads DLL C:\windows\system32\winex11.drv @0x7ded (00)
fixme:dbghelp_dwarf:compute_location Only supporting one breg (18 - 24)
trace:wgl:wglGetProcAddress func: 'wglGetIntegerv'
../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.
0019:001a: exception code=0x8101
Unhandled exception code 0x8101
Unknown or malformed query Attached
0xf775f430 in ?? ()
trace: 98 = 80
Wine-gdb bt full
#0  0xf775f430 in ?? ()
No symbol table info available.
#1  0xf74bbb72 in *__GI_abort () at abort.c:88
act = {__sigaction_handler = {sa_handler = 0x3a74d0, sa_sigaction = 
0x3a74d0}, sa_mask = {__val = {4149211453, 104, 80, 3831232, 3831020, 104, 80, 
76, 2087318208, 4150058996, 76, 75, 3831192, 
  4149142594, 2087318216, 76, 3831232, 2087318216, 0, 4222451712, 
2087318216, 2087318216, 2087318216, 2087318216, 2087318291, 2087318316, 
2087318216, 2087318316, 0, 0, 0, 0}}, sa_flags = 0, 
  sa_restorer = 0xb}
sigs = {__val = {32, 0 repeats 31 times}}
#2  0xf74b168e in *__GI___assert_fail (assertion=0x7e8151d9 
!dpy-xcb-reply_data, file=0x7e815189 ../../src/xcb_io.c, line=445, 
function=0x7e8152f8 _XReply) at assert.c:78
buf = 0x7c69f2c8 (\363i|\360\363\\\367c/xcb_io.c:445: _XReply: 
Assertion `!dpy-xcb-reply_data' faileP
#3  0x7e7a7f44 in _XReply () from /usr/lib32/libX11.so.6
No symbol table info available.
#4  0x7d75472f in LnxXextEscape () from /usr/lib32/libatiadlxx.so
No symbol table info available.
#5  0x7d733935 in Send () from /usr/lib32/libatiadlxx.so
No symbol table info available.
#6  0x7d747a81 in Pack_DI_AdapterCaps_Get () from /usr/lib32/libatiadlxx.so
No symbol table info available.
#7  0x7d73c458 in ADL_Workstation_AdapterNumOfGLSyncConnectors_Get () from 
/usr/lib32/libatiadlxx.so
No symbol table info available.
#8  0x7b873603 in ?? () from /usr/lib32/dri/fglrx_dri.so
No symbol table info available.
Wine-gdb info all-registers
eax0x0  0
ecx

Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-05 Thread Jamey Sharp
Yay, data! Thanks.

On Wed, May 5, 2010 at 10:01 AM, The Wanderer wande...@fastmail.fm wrote:
 trace:wgl:wglGetProcAddress func: 'wglGetIntegerv'
 ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.
 0019:001a: exception code=0x8101
 Unhandled exception code 0x8101
 Unknown or malformed query Attached
 0xf775f430 in ?? ()
 trace: 98 = 80
 Wine-gdb bt full
 #3  0x7e7a7f44 in _XReply () from /usr/lib32/libX11.so.6
 No symbol table info available.

You were right to type 'frame 3', you're just missing debug symbols.
If you install libx11-6-dbg then you'll be able to get more
information here, including the values of dpy-request and
dpy-last_request_read. Sorry I didn't mention that before.

 #4  0x7d75472f in LnxXextEscape () from /usr/lib32/libatiadlxx.so

I can't find this /usr/lib32/libatiadlxx.so in Debian. Where did it
come from? (I'm not familiar with the fglrx packaging.)

LnxXextEscape had just assembled a minor-opcode 0x40 request when it
called _XReply. That request never made it onto the wire, according to
your xtrace. So there can't have been any buggy callers besides the
minor-opcode 0 that was the last traced request on connection 4. The
only function in libatiadlxx that issues a minor-opcode 0 request is
LnxXextGetDriverData.

My first guess is that you have a 32-bit libatiadlxx.so that does not
match your driver version. If you were to disassemble it I think you'd
find that in LnxXextGetDriverData, _XReply's third argument is some
value smaller than 0x31 (49 decimal). That's the value I see in the
amd64-architecture version of this library, and it's the correct value
for the 228-byte response your xtrace shows. (That parameter is set to
(sizeof(reply)-32)/4.)

I could imagine that AMD stuck some value of type 'long' in this
reply, which would have a different size depending on what
architecture you build for. If that's the case, I don't think you have
any choices but to wait for them to fix it, or run a 32-bit X server.
(Or if you're comfortable with binary-patching your library, set
_XReply's third argument to 0x31, and the assert won't fire any more.
You may have other issues though.) I'd guess that fglrx is not widely
tested with 32-bit clients on 64-bit X servers.

Assuming I've diagnosed this correctly, with a non-XCB build of Xlib,
you wouldn't get an assertion-failure, but that connection would be
out of sync from that point onward, and would fail one way or another
pretty quickly.

I'm reasonably confident in this diagnosis. Either you or the
packagers may want to take this upstream to AMD.

Jamey



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-04 Thread Jamey Sharp
On Tue, May 4, 2010 at 6:54 AM, The Wanderer wande...@fastmail.fm wrote:
 I actually did this yesterday, shortly before leaving for work. Attached
 please find the result of

 xtrace /tmp/wow  /tmp/wow-winedebug-try3

Thanks, that's a start. It's hard to tell exactly what's going on
though, because apparently there are five different X connections
involved, and probably several processes. Maybe asking xtrace for
timestamps would help. Still, it looks like these messages go
together:

004::0008: 12: ATIFGLEXTENSION-Request(140,7): UNKNOWN ...
004::0008:1232: unexpected Reply: data1=0x01 data2=0x00 unparsed-data=...
004::0009: 12: ATIFGLEXTENSION-Request(140,0): UNKNOWN ...
004::0009:228: unexpected Reply: data1=0x01 data2=0x00 unparsed-data=...
../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.
err:module:attach_process_dlls opengl32.dll failed to initialize, aborting

This is the only connection that issued a minor-opcode 0 request,
which apparently is FGLGetDriverData, but another connection issued
several minor-opcode 7 requests, and continued processing responses
fine afterwards. I can't find any public information on
ATIFGLEXTENSION minor opcodes higher than 6, so I can't decode that or
guess what it means.

I'm wondering if there are two (or more) different functions in
FGLRX's libGL that all issue this minor opcode 7, and maybe one of
them does it wrong.

By the way, the connection that issued the above requests does not
seem to have respected your WINEDEBUG=+synchronous setting. Dunno
what that means, though it might just be it died before it could sync
the first time.

 I'm familiar with doing that (well, 'gdb foo' and 'run -v quux'), but I
 could have sworn that last time I tried it on a failed assertion, the
 'bt full' returned no information, because the running program had
 already exited because of the failed assertion.

No, assert calls abort(), which kills the current process with
SIGABRT, which GDB traps before the process actually exits.

Of course if this application is forking, it can be quite tricky to
get gdb attached to the process that actually dies. It may be easier
to run `ulimit -c unlimited` to enable core dumps, then let the
application die, then use `gdb -c` to inspect the coredump.

When you have the failed process in GDB, it would also help to go to
the _XReply stack frame and print dpy-request and
dpy-last_request_read. I'm guessing those will be 9 and 8,
respectively.

A stack trace would be useful for confirming my hypothesis that the
failure is being detected while looking for the FGLGetDriverData
reply. If nothing else I can disassemble _XReply's caller and maybe
spot a problem that way (ugh, hate binary-only drivers). Of course a
minimal test case would help a lot here, and knowing what function is
running when this fails may help you find simpler application that
fails the same way.

Hey, does `glxinfo` assert-fail for you?

Jamey



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-03 Thread Jamey Sharp
Hi! Just to be clear, this certainly isn't a bug in libxcb: _XReply is
in libx11, not libxcb, and I believe Xlib compiled without XCB support
should have failed in this case too. But maybe it's just as well you
assigned it to libxcb1 (however briefly) so that I'd notice it.

Another instance of this symptom was a server bug:

https://bugzilla.redhat.com/show_bug.cgi?id=417821

That was a bug squashed in the X.org implementation of GLX sometime in
the 6.8 series, but the broken code has lingered in other places. We
can tell if that's the cause, if you can provide an xtrace or
Wireshark dump of the X protocol traffic between the failing
application and the server.

The most important other piece of information would be a stack trace
from the failing application. That may not actually help, as this
assertion can only detect that something went wrong earlier, but it's
worth trying anyway.

This assertion means that some extension library (could be libGL, I
don't know) didn't finish reading the last response from the server
before asking for the next one. Before XCB, that kind of failure
should have permanently mangled the X connection, unless I've missed
some magic recovery mechanism Xlib had for covering up bugs (which has
happened before).

Hope this helps,
Jamey



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-03 Thread Cyril Brulebois
reassign 579813 fglrx-driver
thanks

Do what the maintainer wanted to do, Cc'ing control this time.


signature.asc
Description: Digital signature


Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-03 Thread Jamey Sharp
On Mon, May 3, 2010 at 5:19 AM, The Wanderer wande...@fastmail.fm wrote:
 On 05/03/2010 02:04 AM, Jamey Sharp wrote:
 Hi! Just to be clear, this certainly isn't a bug in libxcb: _XReply
 is in libx11, not libxcb, and I believe Xlib compiled without XCB
 support should have failed in this case too.

 Does this mean that it could indeed be a Wine bug after all, even though
 they don't call xcb directly? If so, that might justify taking it back
 to them, and seeing if they'll reopen the bug...

It's important to understand that you aren't looking for code that
calls XCB: you're looking for code that calls Xlib.

I can't promise one way or the other whether it's a Wine bug, although
I would guess it isn't. It's more likely to be a bug in a library that
Wine is using, possibly including whatever libGL the fglrx driver
provides, or else an X server bug.

 We can tell if that's the cause, if you can provide an xtrace or
 Wireshark dump of the X protocol traffic between the failing
 application and the server.

 I'd be glad to do that, but I've never heard of xtrace, and my only
 experience with Wireshark has been with traffic between two computers.
 I'll see what I can figure out on my own, but any pointers to a how-to
 or the like would be appreciated.

With Wireshark, the key is to get your X connection running over TCP.
You may have to configure your display manager (gdm, kdm, ...) to let
the X server accept TCP connections; then run your application with
DISPLAY=localhost:0. Wireshark can capture the traffic on the loopback
interface then.

Or grab xtrace, which is packaged in Debian, and read its man page.

I wish somebody would write a how-to for this, 'cause I don't have time... :-/

 The most important other piece of information would be a stack trace
 from the failing application. That may not actually help, as this
 assertion can only detect that something went wrong earlier, but it's
 worth trying anyway.

 I've never even heard of a stack trace from a failed assertion, and I
 certainly don't have one in this case.

In general, if you normally run 'foo -v quux', try 'gdb --args foo -v
quux' instead, then 'run'. After the assertion fails, type 'bt full'
and send the resulting output. This is a lot more useful if you have
libbaz-dbg installed for every libbaz used by your application. At
least libx11-6-dbg would be a good start.

However, Wine may have or require special ways to attach a debugger. I
don't know.

 I do have an 'strace -f' log of a
 run in which this failure occurred, but I suspect that's not going to be
 useful.

Yeah, I don't think I could get enough out of the read syscalls to
replace the protocol trace, and I don't think I want to try. :-)

Jamey



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-02 Thread Michael Gilbert
reassign 579813 fglrx-driver
thanks

 Actually, no; the reason I thought it might be an fglrx bug is because
 in the reports I found from when this error message was prevalent, it
 was specifically described as being not an xcb bug but a bug in the
 calling application. According to Wine, they don't call xcb directly, so
 it has to be elsewhere in the stack, they think in GLX; as far as I
 know, that's provided by the graphics driver, in this case fglrx. That
 would make fglrx the calling application, and thus the presumptive cause
 of the error.

as a point of reference, i am able to run world of warcraft on fglrx
10-4 without issue.  i just noticed that you have a bunch off fglrx
(EE) errors in your Xorg.log.  those could be a clue on your problems.
 you should try to resolve those first.

mike



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: [Pkg-fglrx-devel] Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-02 Thread Michael Gilbert
reassign libxcb1
thanks

On Fri, 30 Apr 2010 21:54:18 -0400 The Wanderer wrote:
 I should start out by saying that I am not 100% certain that this bug is
 in fglrx-driver; it also might be in libxcb, in Wine, or somewhere
 (else) in the OpenGL or GLX stack, or even in X. I am reporting it under
 fglrx-driver because I have to pick some package, and fglrx seems the
 most likely candidate.
 
 I track stable and testing. Fairly recently, I noticed that the fglrx-*
 packages could now be updated without needing to remove xserver-xorg*,
 and ran a partial dist-upgrade (omitting packages which have active bugs
 unless I can specifically determine that they don't affect me). In the
 process, both fglrx-driver and libxcb* were updated.
 
 After the update, I attempted to launch World of Warcraft under Wine.
 Instead of launching successfully (as it had been doing before the
 update), it exited before really getting started, with only the
 following console output:
 
 ==
 ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.
 err:module:attach_process_dlls opengl32.dll failed to initialize, aborting
 err:module:LdrInitializeThunk Main exe initialization for LC:\\Program 
 Files\\World of Warcraft\\Wow.exe failed, status 8101
 ==

i don't really see how this could be a fglrx bug.  the error refers to
opengl.dll, which probably lead to your conclusions, but that is
provided by wine; not fglrx. libxcb appears to have gone through quite
a few changes recently, and my best guess is that the problem was
introduced there.

the latest fglrx is 10-4, and you could try upgrading, but it probably
won't make a difference.  can you reproduce the problem with the free
radeon driver?

mike



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579813: [Pkg-fglrx-devel] Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-05-02 Thread Cyril Brulebois
Michael Gilbert michael.s.gilb...@gmail.com (02/05/2010):
 reassign libxcb1
 thanks

Please Cc the maintainers of the package you're reassiging to. They
don't get your message otherwise, which some might consider impolite.


signature.asc
Description: Digital signature


Bug#579813: ../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.

2010-04-30 Thread The Wanderer

Package: fglrx-driver
Version: 1:10-3~prerelease-3
Severity: normal


I should start out by saying that I am not 100% certain that this bug is
in fglrx-driver; it also might be in libxcb, in Wine, or somewhere
(else) in the OpenGL or GLX stack, or even in X. I am reporting it under
fglrx-driver because I have to pick some package, and fglrx seems the
most likely candidate.

I track stable and testing. Fairly recently, I noticed that the fglrx-*
packages could now be updated without needing to remove xserver-xorg*,
and ran a partial dist-upgrade (omitting packages which have active bugs
unless I can specifically determine that they don't affect me). In the
process, both fglrx-driver and libxcb* were updated.

After the update, I attempted to launch World of Warcraft under Wine.
Instead of launching successfully (as it had been doing before the
update), it exited before really getting started, with only the
following console output:

==
../../src/xcb_io.c:445: _XReply: Assertion `!dpy-xcb-reply_data' failed.
err:module:attach_process_dlls opengl32.dll failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for LC:\\Program 
Files\\World of Warcraft\\Wow.exe failed, status 8101

==

Googling on the assertion message produced numerous reports of a similar
error (with a different, but consistent, line number) back in about
2008, which had apparently been caused by a change in the default
locking behavior of xcb, triggering a formerly hidden bug in programs
which had not been handling locking properly. Those reports mentioned
that many different programs would produce the same error, including
both OpenOffice.org Writer and glxgears.

However, I am able to run both oowriter and glxgears without this error.
The only thing I have found which produces this error is Wine. I have,
however, been able to reproduce the problem (later in execution) with
programs other than World of Warcraft.

I therefore reported this as Wine bug 22490. The bug was closed as
invalid in fairly short order, on the grounds that since Wine does not
directly call libxcb, this cannot be a a Wine issue.

It was suggested that I run Wine with 'WINEDEBUG=+synchronous,+wgl' in
an attempt to obtain more information; however, doing so provided only
the same console output as before.

Grasping at straws, I obtained an strace log of the failing session, but
it does not appear to contain any really usable information.

I have considered attempting to downgrade fglrx-driver and/or the libxcb
packages in order to narrow down the apparent location of this bug.
However, doing so would not be a trivial matter, as downgrading either
would effectively require me to also downgrade X; additionally, from the
difficulty I have had with even installing or upgrading fglrx to date
(having lost X temporarily almost every time), I am decidedly hesitant
to attempt to downgrade it.

As of yet, I have not been able to find any hints online that other
people are experiencing this same issue. Whether this is because few
people have both installed the updated versions of the packages involved
and attempted to run something under Wine, or because there is something
unusual about my own system, is not clear.

What information can I provide which will help narrow down the location
and/or cause of this bug, and how can I obtain that information?


-- Package-specific info:
VGA-compatible devices on PCI bus:
01:00.0 VGA compatible controller: ATI Technologies Inc M92 [Mobility 
Radeon HD

4500 Series]

DRM and fglrx Informations from dmesg:
[0.00] No AGP bridge found
[0.423163] Linux agpgart interface v0.103
[4.213257] fglrx: module license 'Proprietary. (C) 2002 - ATI 
Technologies, Starnberg, GERMANY' taints kernel.
[4.256333] [fglrx] Maximum main memory to use for locked dma 
buffers: 3771 MBytes.

[4.256867] [fglrx]   vendor: 1002 device: 9553 count: 1
[4.257443] [fglrx] ioport: bar 1, base 0x2000, size: 0x100
[4.258013] [fglrx] Kernel PAT support is enabled
[4.258223] [fglrx] module loaded - fglrx 8.72.10 [Mar 11 2010] with 
1 minors

[  313.526469] fglrx_pci :01:00.0: irq 32 for MSI/MSI-X
[  313.526968] [fglrx] Firegl kernel thread PID: 2806
[  313.527146] [fglrx] IRQ 32 Enabled
[  313.832462] [fglrx] Gart USWC size:1228 M.
[  313.832465] [fglrx] Gart cacheable size:487 M.
[  313.832470] [fglrx] Reserved FB block: Shared offset:0, size:100
[  313.832472] [fglrx] Reserved FB block: Unshared offset:fc27000, 
size:3d9000
[  313.832474] [fglrx] Reserved FB block: Unshared offset:1fffb000, 
size:5000


Xorg X server configuration file status:
-rw-r--r-- 1 root root 1357 Apr 23 20:58 /etc/X11/xorg.conf

Contents of /etc/X11/xorg.conf:

#Section Monitor
#   Identifier   aticonfig-Monitor[0]-0
#   Option  VendorName ATI Proprietary Driver
#   Option  ModelName Generic Autodetecting Monitor
#   Option  DPMS true
#EndSection
# EDID version 1 revision 3

Section