[Xcb] update to libxcb 1.12 breaks 32bit applications

James Cloos cloos at jhcloos.com
Mon Jun 6 15:43:58 UTC 2016


>>>>> "GS" == G Schlisio <g.schlisio at dukun.de> writes:

>> Since it is (*prev_reader)->request that is a double-dereference, yes?
>> So the uint32_t at 0x980d0c8, which should be a pointer to a struct, is
>> presumably the problem.

GS> i have way to few clue about c programming to fully understand what you
GS> are telling me. i am very sorry.

That bit was primarily intended for Uli.

For reference, structs' memebers are accessed via the . operator and
members of pointers to structs with the -> operator.  So in the above
snippet, *prev_reader is a pointer to a struct, making prev_reader a
pointer to a pointer of a struct.  So prev_reader has to be dereferenced
twice.  The first worked; the second, presumably, is what caused the
segv.

But the backtrace might be a bit better if you try it w/ cairo compiled
with -O0 instead of what arch uses by default (presumable -O2).

And, when getting the backtrace, try this at the gdb prompt:

  p prev_reader
  p *prev_reader
  p **prev_reader

and include that info, too.

-JimC
-- 
James Cloos <cloos at jhcloos.com>         OpenPGP: 0x997A9F17ED7DAEA6


More information about the Xcb mailing list