NetBSD Problem Report #48170

From mike.d.ft402@gmail.com  Sun Sep  1 07:40:35 2013
Return-Path: <mike.d.ft402@gmail.com>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 72BBD71FE4
	for <gnats-bugs@gnats.netbsd.org>; Sun,  1 Sep 2013 07:40:35 +0000 (UTC)
Message-Id: <20130901074026.07AB021A98@one.localdomain>
Date: Sun,  1 Sep 2013 13:40:25 +0600 (YEKT)
From: mike.d.ft402@gmail.com
Reply-To: mike.d.ft402@gmail.com
To: gnats-bugs@gnats.NetBSD.org
Subject: assertion "!xcb_xlib_extra_reply_data_left"
X-Send-Pr-Version: 3.95

>Number:         48170
>Category:       lib
>Synopsis:       assertion "!xcb_xlib_extra_reply_data_left"
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    lib-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Sep 01 07:45:00 +0000 2013
>Closed-Date:    Mon Oct 07 05:31:46 +0000 2013
>Last-Modified:  Mon Oct 07 05:31:46 +0000 2013
>Originator:     Michael Danilov
>Release:        NetBSD 6.1.1
>Organization:

>Environment:


System: NetBSD one 6.1.1 NetBSD 6.1.1 (ONE) #0: Thu Aug 29 13:10:12 YEKT 2013 mike@one:/usr/src/sys/arch/amd64/compile/ONE amd64
Architecture: x86_64
Machine: amd64
>Description:
	Some programs (observed here in qemu (crashes when exiting input grab) and openoffice3 (hanging when clicking anything)) refuse to work, giving the following message:

	[xcb] Extra reply data still left in queue
	[xcb] This is most likely caused by a broken X extension library
	[xcb] Aborting, sorry about that.
	assertion "!xcb_xlib_extra_reply_data_left" failed: file "/home/builds/ab/netbsd-6-1-1-RELEASE/xsrc/external/mit/libX11/dist/src/xcb_io.c", line 575, function "_XReply"

	This started happening since I sysupgraded form 6.1 to 6.1.1.
>How-To-Repeat	
$ gdb qemu-system-i386
	GNU gdb (GDB) 7.3.1
	Copyright (C) 2011 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--netbsd".
	For bug reporting instructions, please see:
	<http://www.gnu.org/software/gdb/bugs/>...
	Reading symbols from /usr/pkg/bin/qemu-system-i386...(no debugging symbols found)...done.
	(gdb) r
	Starting program: /usr/pkg/bin/qemu-system-i386 

	Program received signal SIGUSR1, User defined signal 1.
	[Switching to LWP 1]
	0x00007f7ff4475d6a in ___lwp_park50 () from /usr/lib/libc.so.12
	(gdb) c
	Continuing.

	Program received signal SIGUSR1, User defined signal 1.
	0x00007f7ff44ecfba in _lwp_kill () from /usr/lib/libc.so.12
	(gdb) c
	Continuing.

	Program received signal SIGUSR1, User defined signal 1.
	0x00007f7ff44ecfba in _lwp_kill () from /usr/lib/libc.so.12
	(gdb) c
	Continuing.
	[xcb] Extra reply data still left in queue
	[xcb] This is most likely caused by a broken X extension library
	[xcb] Aborting, sorry about that.
	assertion "!xcb_xlib_extra_reply_data_left" failed: file "/home/builds/ab/netbsd-6-1-1-RELEASE/xsrc/external/mit/libX11/dist/src/xcb_io.c", line 575, function "_XReply"

	Program received signal SIGABRT, Aborted.
	0x00007f7ff44ecfba in _lwp_kill () from /usr/lib/libc.so.12
	(gdb) bt
	#0  0x00007f7ff44ecfba in _lwp_kill () from /usr/lib/libc.so.12
	#1  0x00007f7ff44ec8f2 in abort () from /usr/lib/libc.so.12
	#2  0x00007f7ff446174d in __assert13 () from /usr/lib/libc.so.12
	#3  0x00007f7ff544bc4b in _XReply () from /usr/X11R7/lib/libX11.so.7
	#4  0x00007f7ff5467b93 in XSync () from /usr/X11R7/lib/libX11.so.7
	#5  0x00007f7ff5c3af63 in X11_GrabInputNoLock () from /usr/pkg/lib/libSDL-1.2.so.0
	#6  0x00007f7ff5c33eaa in X11_PumpEvents () from /usr/pkg/lib/libSDL-1.2.so.0
	#7  0x00007f7ff5c0f435 in SDL_PumpEvents () from /usr/pkg/lib/libSDL-1.2.so.0
	#8  0x00007f7ff5c0f464 in SDL_PollEvent () from /usr/pkg/lib/libSDL-1.2.so.0
	#9  0x000000000054ef66 in ?? ()
	#10 0x0000000000547f71 in ?? ()
	#11 0x000000000052f426 in ?? ()
	#12 0x000000000052f62c in ?? ()
	#13 0x0000000000502352 in ?? ()
	#14 0x0000000000567964 in ?? ()
	#15 0x0000000000409152 in ?? ()
	#16 0x00007f7ff7c06da1 in _rtld () from /usr/libexec/ld.elf_so
	#17 0x00007f7fffffff4f in ?? ()
	#18 0x00007f7fffffff5e in ?? ()
	#19 0x00007f7fffffff68 in ?? ()
	#20 0x00007f7fffffff71 in ?? ()
	#21 0x00007f7fffffff81 in ?? ()
	#22 0x00007f7fffffff8f in ?? ()
	#23 0x00007f7fffffff97 in ?? ()
	#24 0x00007f7fffffffa4 in ?? ()
	#25 0x00007f7fffffffb9 in ?? ()
	#26 0x00007f7fffffffc6 in ?? ()
	#27 0x00007f7fffffffd1 in ?? ()
	#28 0x0000000000000000 in ?? ()

>How-To-Repeat:

>Fix:

Unknown
>Release-Note:

>Audit-Trail:
From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: lib/48170: assertion "!xcb_xlib_extra_reply_data_left"
Date: Sun, 1 Sep 2013 12:21:27 +0200

 Could you install xtrace from pkgsrc wip and provide some traces when this
 happens? The backtrace in the X server is useless, we need to see the client
 request instead.

 Martin

From: Michael <mike.d.ft402@gmail.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: lib/48170: assertion "!xcb_xlib_extra_reply_data_left"
Date: Mon, 2 Sep 2013 00:31:11 +0600

 $ xtrace qemu-system-i386

 <skipped many lines that go before I pressed "Control-Alt" to exit grab>

 001:>:0089: Event KeyPress(2) keycode=3D0x25 time=3D0x003af0e4 root=3D0x000=
 00101 event=3D0x00400003 child=3D0x00400011 root-x=3D640 root-y=3D512 event=
 -x=3D320 event-y=3D240 state=3D0 same-screen=3Dtrue(0x01)
 001:>:0089: Event KeyPress(2) keycode=3D0x40 time=3D0x003af0e4 root=3D0x000=
 00101 event=3D0x00400003 child=3D0x00400011 root-x=3D640 root-y=3D512 event=
 -x=3D320 event-y=3D240 state=3DControl same-screen=3Dtrue(0x01)
 001:>:0089:32: Reply to GetInputFocus: revert-to=3DParent(0x02) focus=3D0x0=
 0400003
 001:<:008a: 28: Request(18): ChangeProperty mode=3DReplace(0x00) window=3D0=
 x00400003 property=3D0x27("WM_NAME") type=3D0x1f("STRING") data=3D'QEMU'
 001:<:008b: 28: Request(18): ChangeProperty mode=3DReplace(0x00) window=3D0=
 x00400003 property=3D0xf0("_NET_WM_NAME") type=3D0xf1("UTF8_STRING") data=
 =3D0x51,0x45,0x4d,0x55;
 001:<:008c: 28: Request(18): ChangeProperty mode=3DReplace(0x00) window=3D0=
 x00400003 property=3D0x25("WM_ICON_NAME") type=3D0x1f("STRING") data=3D'QEM=
 U'
 001:>:008c: Event PropertyNotify(28) window=3D0x00400003 atom=3D0x27("WM_NA=
 ME") time=3D0x003af0e6 state=3DNewValue(0x00)
 001:<:008d: 28: Request(18): ChangeProperty mode=3DReplace(0x00) window=3D0=
 x00400003 property=3D0x183("_NET_WM_ICON_NAME") type=3D0xf1("UTF8_STRING") =
 data=3D0x51,0x45,0x4d,0x55;
 001:<:008e:  4: Request(43): GetInputFocus=20
 001:>:008e: Event PropertyNotify(28) window=3D0x00400003 atom=3D0xf0("_NET_=
 WM_NAME") time=3D0x003af0e8 state=3DNewValue(0x00)
 001:>:008e: Event PropertyNotify(28) window=3D0x00400003 atom=3D0x25("WM_IC=
 ON_NAME") time=3D0x003af0e8 state=3DNewValue(0x00)
 001:>:008e: Event PropertyNotify(28) window=3D0x00400003 atom=3D0x183("_NET=
 _WM_ICON_NAME") time=3D0x003af0e8 state=3DNewValue(0x00)
 001:>:008e:32: Reply to GetInputFocus: revert-to=3DParent(0x02) focus=3D0x0=
 0400003
 001:<:008f: 20: XKEYBOARD-Request(144,23): GetKbdByName opcode=3D0x90 opcod=
 e2=3D0x17 unparsed-data=3D0x00,0x01,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00=
 ,0x00,0x00,0x00,0x00,0x00,0x00;
 001:>:008f:12232: Reply to GetKbdByName: data1=3D0x01 data2=3D0x03 unparsed=
 -data=3D0x08,0xff,0x00,0x00,0x7f,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x8f,0x00,0x=
 71,0x05,0x00,0x00,0x00,0x00,0x08,0xff,0xff,0x00,0x00,0x19,0x19,0x08,0x43,0x=
 01,0xf8,0x08,0x55,0x00,0xf8,0x08,0xf8,0x00,0x08,0xf8,0x37,0x08,0xf8,0x0f,0x=
 08,0xf8,0x0a,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x=
 01,0x00,0x00,0x02,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x=
 03,0x03,0x00,0x00,0x02,0x02,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x=
 00,0x01,0x02,0x01,0x02,0x00,0x00,0x00,0x00,0x11,0x01,0x01,0x00,0x02,0x02,0x=
 00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x10,0x01,0x00,0x01,0x=
 00,0x00,0x00,0x09,0x01,0x02,0x00,0x02,0x01,0x00,0x00,0x01,0x09,0x01,0x01,0x=
 02,0x00,0x00,0x00,0x04,0x04,0x00,0x00,0x02,0x01,0x00,0x00,0x01,0x04,0x01,0x=
 04,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x02,0x01,0x00,0x00,0x00,0x00,0x=
 01,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x02,0x01,0x00,0x00,0x00,0x=
 00,0x01,0x00,0x20,0x00,0x00,0x00,0x08,0x00,0x02,0x00,0x02,0x01,0x00,0x00,0x=
 01,0x08,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x02,0x01,0x00,0x=
 00,0x00,0x00,0x01,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x02,0x01,0x=
 00,0x00,0x00,0x00,0x01,0x00,0x10,0x00,0x00,0x00,0x0c,0x04,0x02,0x00,0x02,0x=
 01,0x00,0x00,0x01,0x0c,0x01,0x04,0x02,0x00,0x00,0x00,0x87,0x07,0x04,0x00,0x=
 08,0x0e,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x02,0x01,0x=
 02,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x00,0x04,0x00,0x00,0x00,0x01,0x83,0x=
 02,0x03,0x04,0x00,0x00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x00,0x00,0x01,0x=
 82,0x03,0x02,0x04,0x00,0x00,0x00,0x01,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x=
 01,0x07,0x04,0x07,0x00,0x00,0x00,0x00,0x01,0x05,0x05,0x05,0x00,0x00,0x00,0x=
 00,0x01,0x06,0x05,0x06,0x00,0x00,0x00,0x00,0x01,0x84,0x06,0x04,0x04,0x00,0x=
 00,0x00,0x01,0x87,0x06,0x07,0x04,0x00,0x00,0x00,0x01,0x85,0x07,0x05,0x04,0x=
 00,0x00,0x00,0x01,0x86,0x07,0x06,0x04,0x00,0x00,0x00,0x81,0x01,0x04,0x00,0x=
 03,0x03,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x=
 00,0x04,0x00,0x00,0x00,0x01,0x81,0x02,0x01,0x04,0x00,0x00,0x00,0x81,0x01,0x=
 04,0x01,0x08,0x07,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x=
 80,0x02,0x00,0x04,0x00,0x00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x00,0x00,0x=
 00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x05,0x01,0x00,0x01,0x00,0x=
 00,0x01,0x80,0x06,0x00,0x04,0x01,0x00,0x00,0x01,0x81,0x07,0x01,0x04,0x01,0x=
 00,0x00,0x83,0x03,0x04,0x01,0x08,0x0d,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x=
 00,0x00,0x00,0x01,0x02,0x01,0x02,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x00,0x=
 04,0x00,0x00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x00,0x00,0x01,0x82,0x03,0x=
 02,0x04,0x00,0x00,0x00,0x01,0x83,0x02,0x03,0x04,0x00,0x00,0x00,0x00,0x00,0x=
 04,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x05,0x01,0x00,0x01,0x00,0x00,0x00,0x=
 02,0x05,0x02,0x00,0x01,0x00,0x00,0x01,0x80,0x06,0x00,0x04,0x01,0x00,0x00,0x=
 01,0x81,0x07,0x01,0x04,0x01,0x00,0x00,0x01,0x82,0x07,0x02,0x04,0x01,0x00,0x=
 00,0x01,0x83,0x06,0x03,0x04,0x01,0x00,0x00,0x83,0x03,0x04,0x01,0x08,0x0e,0x=
 01,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x02,0x01,0x02,0x00,0x=
 00,0x00,0x00,0x01,0x80,0x02,0x00,0x04,0x00,0x00,0x00,0x01,0x81,0x03,0x01,0x=
 04,0x00,0x00,0x00,0x01,0x82,0x02,0x02,0x04,0x00,0x00,0x00,0x01,0x83,0x03,0x=
 03,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x=
 05,0x01,0x00,0x01,0x00,0x00,0x00,0x02,0x05,0x02,0x00,0x01,0x00,0x00,0x01,0x=
 80,0x06,0x00,0x04,0x01,0x00,0x00,0x01,0x81,0x07,0x01,0x04,0x01,0x00,0x00,0x=
 01,0x82,0x06,0x02,0x04,0x01,0x00,0x00,0x01,0x83,0x07,0x03,0x04,0x01,0x00,0x=
 00,0x00,0x03,0x00,0x03,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x=
 02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x00,0x=
 00,0x02,0x02,0x00,0x00,0x81,0x01,0x04,0x00,0x04,0x03,0x00,0x00,0x01,0x01,0x=
 01,0x01,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x00,0x04,0x00,0x00,0x00,0x01,0x=
 81,0x03,0x01,0x04,0x00,0x00,0x00,0x83,0x03,0x04,0x00,0x04,0x06,0x00,0x00,0x=
 01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x02,0x01,0x02,0x00,0x00,0x00,0x=
 00,0x01,0x80,0x02,0x00,0x04,0x00,0x00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x=
 00,0x00,0x01,0x82,0x03,0x02,0x04,0x00,0x00,0x00,0x01,0x83,0x02,0x03,0x04,0x=
 00,0x00,0x00,0x83,0x03,0x04,0x00,0x04,0x06,0x01,0x00,0x01,0x01,0x01,0x01,0x=
 00,0x00,0x00,0x00,0x01,0x02,0x01,0x02,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x=
 00,0x04,0x00,0x00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x00,0x00,0x01,0x82,0x=
 02,0x02,0x04,0x00,0x00,0x00,0x01,0x83,0x03,0x03,0x04,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 02,0x02,0x00,0x00,0x02,0x02,0x00,0x00,0x91,0x01,0x05,0x00,0x04,0x06,0x00,0x=
 00,0x01,0x10,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x=
 00,0x00,0x01,0x80,0x02,0x00,0x04,0x00,0x00,0x00,0x01,0x90,0x02,0x00,0x05,0x=
 00,0x00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x00,0x00,0x01,0x91,0x03,0x01,0x=
 05,0x00,0x00,0x00,0x8d,0x05,0x06,0x00,0x04,0x03,0x00,0x00,0x01,0x80,0x01,0x=
 00,0x04,0x00,0x00,0x00,0x01,0x81,0x02,0x01,0x04,0x00,0x00,0x00,0x01,0x0c,0x=
 03,0x04,0x02,0x00,0x00,0x00,0x83,0x03,0x04,0x00,0x04,0x06,0x01,0x00,0x01,0x=
 01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x02,0x00,0x00,0x00,0x00,0x=
 01,0x80,0x02,0x00,0x04,0x00,0x00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x00,0x=
 00,0x01,0x82,0x02,0x02,0x04,0x00,0x00,0x00,0x01,0x83,0x02,0x03,0x04,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x03,0x04,0x00,0x=
 05,0x07,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x=
 00,0x04,0x00,0x00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x00,0x00,0x01,0x02,0x=
 04,0x02,0x00,0x00,0x00,0x00,0x01,0x03,0x01,0x03,0x00,0x00,0x00,0x00,0x01,0x=
 82,0x02,0x02,0x04,0x00,0x00,0x00,0x01,0x83,0x03,0x03,0x04,0x00,0x00,0x00,0x=
 91,0x01,0x05,0x00,0x04,0x06,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x=
 00,0x01,0x10,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x80,0x02,0x00,0x04,0x00,0x=
 00,0x00,0x01,0x81,0x03,0x01,0x04,0x00,0x00,0x00,0x01,0x90,0x03,0x00,0x05,0x=
 00,0x00,0x00,0x01,0x91,0x02,0x01,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 01,0x01,0x01,0x00,0x7e,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x=
 00,0x1b,0xff,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x31,0x00,0x=
 00,0x00,0x21,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x02,0x02,0x04,0x00,0x32,0x=
 00,0x00,0x00,0x40,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x=
 01,0x01,0x00,0x00,0x02,0x02,0x04,0x00,0x33,0x00,0x00,0x00,0x23,0x00,0x00,0x=
 00,0x33,0x00,0x00,0x00,0xb0,0x06,0x00,0x00,0x01,0x01,0x00,0x00,0x02,0x02,0x=
 04,0x00,0x34,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x3b,0x=
 00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x35,0x00,0x00,0x00,0x=
 25,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x02,0x02,0x04,0x00,0x36,0x00,0x00,0x=
 00,0x5e,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x3a,0x00,0x00,0x00,0x01,0x01,0x=
 00,0x00,0x02,0x02,0x04,0x00,0x37,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0x37,0x=
 00,0x00,0x00,0x3f,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x=
 38,0x00,0x00,0x00,0x2a,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x=
 00,0x39,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x=
 02,0x00,0x30,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x=
 02,0x02,0x00,0x2d,0x00,0x00,0x00,0x5f,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x=
 01,0x02,0x02,0x00,0x3d,0x00,0x00,0x00,0x2b,0x00,0x00,0x00,0x0b,0x00,0x00,0x=
 00,0x01,0x02,0x02,0x00,0x08,0xff,0x00,0x00,0xd5,0xfe,0x00,0x00,0x01,0x00,0x=
 00,0x00,0x01,0x02,0x02,0x00,0x09,0xff,0x00,0x00,0x20,0xfe,0x00,0x00,0x02,0x=
 02,0x00,0x00,0x02,0x02,0x04,0x00,0x71,0x00,0x00,0x00,0x51,0x00,0x00,0x00,0x=
 ca,0x06,0x00,0x00,0xea,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x=
 00,0x77,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0xc3,0x06,0x00,0x00,0xe3,0x06,0x=
 00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x65,0x00,0x00,0x00,0x45,0x=
 00,0x00,0x00,0xd5,0x06,0x00,0x00,0xf5,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x=
 02,0x02,0x04,0x00,0x72,0x00,0x00,0x00,0x52,0x00,0x00,0x00,0xcb,0x06,0x00,0x=
 00,0xeb,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x74,0x00,0x=
 00,0x00,0x54,0x00,0x00,0x00,0xc5,0x06,0x00,0x00,0xe5,0x06,0x00,0x00,0x02,0x=
 02,0x00,0x00,0x02,0x02,0x04,0x00,0x79,0x00,0x00,0x00,0x59,0x00,0x00,0x00,0x=
 ce,0x06,0x00,0x00,0xee,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x=
 00,0x75,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0xc7,0x06,0x00,0x00,0xe7,0x06,0x=
 00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x69,0x00,0x00,0x00,0x49,0x=
 00,0x00,0x00,0xdb,0x06,0x00,0x00,0xfb,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x=
 02,0x02,0x04,0x00,0x6f,0x00,0x00,0x00,0x4f,0x00,0x00,0x00,0xdd,0x06,0x00,0x=
 00,0xfd,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x70,0x00,0x=
 00,0x00,0x50,0x00,0x00,0x00,0xda,0x06,0x00,0x00,0xfa,0x06,0x00,0x00,0x01,0x=
 02,0x00,0x00,0x02,0x02,0x04,0x00,0x5b,0x00,0x00,0x00,0x7b,0x00,0x00,0x00,0x=
 c8,0x06,0x00,0x00,0xe8,0x06,0x00,0x00,0x01,0x02,0x00,0x00,0x02,0x02,0x04,0x=
 00,0x5d,0x00,0x00,0x00,0x7d,0x00,0x00,0x00,0xdf,0x06,0x00,0x00,0xff,0x06,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x0d,0xff,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x01,0x01,0x01,0x00,0xe3,0xff,0x00,0x00,0x02,0x02,0x00,0x00,0x=
 02,0x02,0x04,0x00,0x61,0x00,0x00,0x00,0x41,0x00,0x00,0x00,0xc6,0x06,0x00,0x=
 00,0xe6,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x73,0x00,0x=
 00,0x00,0x53,0x00,0x00,0x00,0xd9,0x06,0x00,0x00,0xf9,0x06,0x00,0x00,0x02,0x=
 02,0x00,0x00,0x02,0x02,0x04,0x00,0x64,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x=
 d7,0x06,0x00,0x00,0xf7,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x=
 00,0x66,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0xc1,0x06,0x00,0x00,0xe1,0x06,0x=
 00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x67,0x00,0x00,0x00,0x47,0x=
 00,0x00,0x00,0xd0,0x06,0x00,0x00,0xf0,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x=
 02,0x02,0x04,0x00,0x68,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0xd2,0x06,0x00,0x=
 00,0xf2,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x6a,0x00,0x=
 00,0x00,0x4a,0x00,0x00,0x00,0xcf,0x06,0x00,0x00,0xef,0x06,0x00,0x00,0x02,0x=
 02,0x00,0x00,0x02,0x02,0x04,0x00,0x6b,0x00,0x00,0x00,0x4b,0x00,0x00,0x00,0x=
 cc,0x06,0x00,0x00,0xec,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x=
 00,0x6c,0x00,0x00,0x00,0x4c,0x00,0x00,0x00,0xc4,0x06,0x00,0x00,0xe4,0x06,0x=
 00,0x00,0x01,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x3b,0x00,0x00,0x00,0x3a,0x=
 00,0x00,0x00,0xd6,0x06,0x00,0x00,0xf6,0x06,0x00,0x00,0x01,0x02,0x00,0x00,0x=
 02,0x02,0x04,0x00,0x27,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0xdc,0x06,0x00,0x=
 00,0xfc,0x06,0x00,0x00,0x01,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x60,0x00,0x=
 00,0x00,0x7e,0x00,0x00,0x00,0xa3,0x06,0x00,0x00,0xb3,0x06,0x00,0x00,0x01,0x=
 00,0x00,0x00,0x01,0x02,0x02,0x00,0xe1,0xff,0x00,0x00,0x0a,0xfe,0x00,0x00,0x=
 01,0x01,0x00,0x00,0x02,0x02,0x04,0x00,0x5c,0x00,0x00,0x00,0x7c,0x00,0x00,0x=
 00,0x5c,0x00,0x00,0x00,0x2f,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x=
 04,0x00,0x7a,0x00,0x00,0x00,0x5a,0x00,0x00,0x00,0xd1,0x06,0x00,0x00,0xf1,0x=
 06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x78,0x00,0x00,0x00,0x=
 58,0x00,0x00,0x00,0xde,0x06,0x00,0x00,0xfe,0x06,0x00,0x00,0x02,0x02,0x00,0x=
 00,0x02,0x02,0x04,0x00,0x63,0x00,0x00,0x00,0x43,0x00,0x00,0x00,0xd3,0x06,0x=
 00,0x00,0xf3,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x76,0x=
 00,0x00,0x00,0x56,0x00,0x00,0x00,0xcd,0x06,0x00,0x00,0xed,0x06,0x00,0x00,0x=
 02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x62,0x00,0x00,0x00,0x42,0x00,0x00,0x=
 00,0xc9,0x06,0x00,0x00,0xe9,0x06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x=
 04,0x00,0x6e,0x00,0x00,0x00,0x4e,0x00,0x00,0x00,0xd4,0x06,0x00,0x00,0xf4,0x=
 06,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x6d,0x00,0x00,0x00,0x=
 4d,0x00,0x00,0x00,0xd8,0x06,0x00,0x00,0xf8,0x06,0x00,0x00,0x01,0x02,0x00,0x=
 00,0x02,0x02,0x04,0x00,0x2c,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0xc2,0x06,0x=
 00,0x00,0xe2,0x06,0x00,0x00,0x01,0x02,0x00,0x00,0x02,0x02,0x04,0x00,0x2e,0x=
 00,0x00,0x00,0x3e,0x00,0x00,0x00,0xc0,0x06,0x00,0x00,0xe0,0x06,0x00,0x00,0x=
 01,0x01,0x00,0x00,0x02,0x02,0x04,0x00,0x2f,0x00,0x00,0x00,0x3f,0x00,0x00,0x=
 00,0x2e,0x00,0x00,0x00,0x2c,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x=
 02,0x00,0xe2,0xff,0x00,0x00,0x08,0xfe,0x00,0x00,0x0b,0x00,0x00,0x00,0x01,0x=
 02,0x02,0x00,0xaa,0xff,0x00,0x00,0x21,0xfe,0x08,0x10,0x01,0x00,0x00,0x00,0x=
 01,0x02,0x02,0x00,0xe9,0xff,0x00,0x00,0xe7,0xff,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x01,0x01,0x01,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x=
 01,0x00,0xe5,0xff,0x00,0x00,0x0b,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0xbe,0x=
 ff,0x00,0x00,0x01,0xfe,0x08,0x10,0x0b,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x=
 bf,0xff,0x00,0x00,0x02,0xfe,0x08,0x10,0x0b,0x00,0x00,0x00,0x01,0x02,0x02,0x=
 00,0xc0,0xff,0x00,0x00,0x03,0xfe,0x08,0x10,0x0b,0x00,0x00,0x00,0x01,0x02,0x=
 02,0x00,0xc1,0xff,0x00,0x00,0x04,0xfe,0x08,0x10,0x0b,0x00,0x00,0x00,0x01,0x=
 02,0x02,0x00,0xc2,0xff,0x00,0x00,0x05,0xfe,0x08,0x10,0x0b,0x00,0x00,0x00,0x=
 01,0x02,0x02,0x00,0xc3,0xff,0x00,0x00,0x06,0xfe,0x08,0x10,0x0b,0x00,0x00,0x=
 00,0x01,0x02,0x02,0x00,0xc4,0xff,0x00,0x00,0x07,0xfe,0x08,0x10,0x0b,0x00,0x=
 00,0x00,0x01,0x02,0x02,0x00,0xc5,0xff,0x00,0x00,0x08,0xfe,0x08,0x10,0x0b,0x=
 00,0x00,0x00,0x01,0x02,0x02,0x00,0xc6,0xff,0x00,0x00,0x09,0xfe,0x08,0x10,0x=
 0b,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0xc7,0xff,0x00,0x00,0x0a,0xfe,0x08,0x=
 10,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x7f,0xff,0x00,0x00,0xf9,0xfe,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x14,0xff,0x00,0x00,0x03,0x=
 00,0x00,0x00,0x01,0x02,0x02,0x00,0x95,0xff,0x00,0x00,0xb7,0xff,0x00,0x00,0x=
 03,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x97,0xff,0x00,0x00,0xb8,0xff,0x00,0x=
 00,0x03,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x9a,0xff,0x00,0x00,0xb9,0xff,0x=
 00,0x00,0x0b,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0xad,0xff,0x00,0x00,0x23,0x=
 fe,0x08,0x10,0x03,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x96,0xff,0x00,0x00,0x=
 b4,0xff,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x9d,0xff,0x00,0x=
 00,0xb5,0xff,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x98,0xff,0x=
 00,0x00,0xb6,0xff,0x00,0x00,0x0b,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0xab,0x=
 ff,0x00,0x00,0x22,0xfe,0x08,0x10,0x03,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x=
 9c,0xff,0x00,0x00,0xb1,0xff,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x02,0x02,0x=
 00,0x99,0xff,0x00,0x00,0xb2,0xff,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x02,0x=
 02,0x00,0x9b,0xff,0x00,0x00,0xb3,0xff,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x=
 02,0x02,0x00,0x9e,0xff,0x00,0x00,0xb0,0xff,0x00,0x00,0x03,0x03,0x00,0x00,0x=
 02,0x02,0x04,0x00,0x9f,0xff,0x00,0x00,0xae,0xff,0x00,0x00,0x9f,0xff,0x00,0x=
 00,0xac,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x11,0x01,0x00,0x00,0x02,0x04,0x08,0x00,0x3c,0x=
 00,0x00,0x00,0x3e,0x00,0x00,0x00,0x7c,0x00,0x00,0x00,0xa6,0x00,0x00,0x00,0x=
 2f,0x00,0x00,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x0b,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0xc8,0xff,0x00,0x00,0x0b,0xfe,0x=
 08,0x10,0x0b,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0xc9,0xff,0x00,0x00,0x0c,0x=
 fe,0x08,0x10,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x50,0xff,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x52,0xff,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x01,0x01,0x01,0x00,0x55,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x=
 01,0x00,0x51,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x01,0x01,0x01,0x00,0x53,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 01,0x01,0x01,0x00,0x57,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x=
 00,0x54,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x56,0xff,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x63,0xff,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x01,0x01,0x01,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 01,0x01,0x01,0x00,0x8d,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x=
 00,0xe4,0xff,0x00,0x00,0x05,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x13,0xff,0x=
 00,0x00,0x6b,0xff,0x00,0x00,0x08,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x61,0x=
 ff,0x00,0x00,0x15,0xff,0x00,0x00,0x0b,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x=
 af,0xff,0x00,0x00,0x20,0xfe,0x08,0x10,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x=
 00,0xea,0xff,0x00,0x00,0xe8,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0xeb,0xff,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x01,0x01,0x01,0x00,0xec,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 01,0x01,0x01,0x00,0x67,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 01,0x01,0x01,0x00,0x03,0xfe,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x=
 00,0x00,0x00,0x00,0x00,0xe9,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x=
 01,0x00,0xbd,0xff,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x00,0x=
 00,0x00,0x00,0xeb,0xff,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x=
 00,0x00,0x00,0x00,0xed,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x=
 00,0x32,0xff,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x=
 ae,0xff,0x00,0x00,0xae,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x16,0xff,0x=
 08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x01,0x01,0x01,0x00,0x2f,0xff,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x=
 01,0x01,0x00,0x17,0xff,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x=
 00,0x00,0x00,0x00,0x00,0xe7,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x12,0xff,0x08,0x10,0x=
 00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x1d,0xff,0x08,0x10,0x01,0x00,0x00,0x=
 00,0x01,0x02,0x02,0x00,0x14,0xff,0x08,0x10,0x31,0xff,0x08,0x10,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x00,0x15,0x=
 ff,0x08,0x10,0x2c,0xff,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x2c,0xff,0x08,0x10,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x=
 00,0x11,0xff,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x01,0x01,0x01,0x00,0x13,0xff,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x2e,0xff,0x08,0x10,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x2c,0xff,0x=
 08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x=
 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
 001:>:008f: Event KeyRelease(3) keycode=3D0x25 time=3D0x003af15b root=3D0x0=
 0000101 event=3D0x00400003 child=3D0x00400011 root-x=3D640 root-y=3D512 eve=
 nt-x=3D320 event-y=3D240 state=3DControl,Mod1 same-screen=3Dtrue(0x01)
 001:>:008f: Event KeyRelease(3) keycode=3D0x40 time=3D0x003af15b root=3D0x0=
 0000101 event=3D0x00400003 child=3D0x00400011 root-x=3D640 root-y=3D512 eve=
 nt-x=3D320 event-y=3D240 state=3DMod1 same-screen=3Dtrue(0x01)
 [xcb] Extra reply data still left in queue
 [xcb] This is most likely caused by a broken X extension library
 [xcb] Aborting, sorry about that.
 assertion "!xcb_xlib_extra_reply_data_left" failed: file "/home/builds/ab/n=
 etbsd-6-1-1-RELEASE/xsrc/external/mit/libX11/dist/src/xcb_io.c", line 575, =
 function "_XReply"

From: Michael Danilov <mike.d.ft402@gmail.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: lib/48170: assertion "!xcb_xlib_extra_reply_data_left"
Date: Sun, 8 Sep 2013 18:58:52 +0600

 I rolled back to X11 from 6.1, and the error disappeared. Must it have something to do with security fix in 6.1.1 X?

From: riz@NetBSD.org
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: lib/48170
Date: Tue, 17 Sep 2013 08:56:16 -0700

 (trying again from a real editor)

 I was able to duplicate this with the openoffice3 binary package
 at ftp.netbsd.org, and a clean install of 6.1.1.  After some
 test building with help from mrg@, I narrowed it down to two files:

 xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c
 xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c


 If I rolled back these files to what they were in 6.1, or rolled forward to
 -current, things worked for me.  Try this patch:


 Index: xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c
 diff -u xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c:1.1.1.4.6.1 xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c:1.1.1.5
 --- xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c:1.1.1.4.6.1	Thu Jun  6 03:50:17 2013
 +++ xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c	Thu May 30 23:04:42 2013
 @@ -180,7 +180,7 @@
  	    nKeys= xkb->max_key_code+1;
  	    names->keys= _XkbTypedCalloc(nKeys,XkbKeyNameRec);
  	}
 -	else if ( ((int)rep->firstKey + rep->nKeys) > xkb->max_key_code)
 +	if ( ((int)rep->firstKey + rep->nKeys) > xkb->max_key_code + 1)
  	    goto BAILOUT;
  	if (names->keys!=NULL) {
  	    if (!_XkbCopyFromReadBuffer(&buf,
 @@ -496,38 +496,10 @@
      if (which&XkbGroupNamesMask)
  	_XkbCopyAtoms(dpy,names->groups,groups,XkbNumKbdGroups);
      if (which&XkbKeyNamesMask) {
 -#ifdef WORD64
 -	char *tmp;
 -	register int i;
 -	BufAlloc(char *,tmp,nKeys*XkbKeyNameLength);
 -	for (i=0;i<nKeys;i++,tmp+= XkbKeyNameLength) {
 -	    tmp[0]= names->keys[firstKey+i].name[0];
 -	    tmp[1]= names->keys[firstKey+i].name[1];
 -	    tmp[2]= names->keys[firstKey+i].name[2];
 -	    tmp[3]= names->keys[firstKey+i].name[3];
 -	}
 -#else
  	Data(dpy,(char *)&names->keys[firstKey],nKeys*XkbKeyNameLength);
 -#endif
      }
      if (which&XkbKeyAliasesMask) {
 -#ifdef WORD64
 -	char *tmp;
 -	register int i;
 -	BufAlloc(char *,tmp,nKA*XkbKeyNameLength*2);
 -	for (i=0;i<nKeys;i++,tmp+= 2*XkbKeyNameLength) {
 -	    tmp[0]= names->key_aliases[i].real[0];
 -	    tmp[1]= names->key_aliases[i].real[1];
 -	    tmp[2]= names->key_aliases[i].real[2];
 -	    tmp[3]= names->key_aliases[i].real[3];
 -	    tmp[4]= names->key_aliases[i].alias[0];
 -	    tmp[5]= names->key_aliases[i].alias[1];
 -	    tmp[6]= names->key_aliases[i].alias[2];
 -	    tmp[7]= names->key_aliases[i].alias[3];
 -	}
 -#else
  	Data(dpy,(char *)names->key_aliases,nKA*XkbKeyNameLength*2);
 -#endif
      }
      if (which&XkbRGNamesMask) {
  	Data32(dpy,(long *)names->radio_groups,nRG*4);
 @@ -752,38 +724,10 @@
      if (which&XkbGroupNamesMask)
  	_XkbCopyAtoms(dpy,names->groups,groups,XkbNumKbdGroups);
      if (which&XkbKeyNamesMask) {
 -#ifdef WORD64
 -	char *tmp;
 -	register int i;
 -	BufAlloc(char *,tmp,nKeys*4);
 -	for (i=0;i<nKeys;i++,tmp+= 4) {
 -	    tmp[0]= names->keys[firstKey+i].name[0];
 -	    tmp[1]= names->keys[firstKey+i].name[1];
 -	    tmp[2]= names->keys[firstKey+i].name[2];
 -	    tmp[3]= names->keys[firstKey+i].name[3];
 -	}
 -#else
  	Data(dpy,(char *)&names->keys[firstKey],nKeys*XkbKeyNameLength);
 -#endif
      }
      if (which&XkbKeyAliasesMask) {
 -#ifdef WORD64
 -	char *tmp;
 -	register int i;
 -	BufAlloc(char *,tmp,nKA*XkbKeyNameLength*2);
 -	for (i=0;i<nKeys;i++,tmp+= 2*XkbKeyNameLength) {
 -	    tmp[0]= names->key_aliases[i].real[0];
 -	    tmp[1]= names->key_aliases[i].real[1];
 -	    tmp[2]= names->key_aliases[i].real[2];
 -	    tmp[3]= names->key_aliases[i].real[3];
 -	    tmp[4]= names->key_aliases[i].alias[0];
 -	    tmp[5]= names->key_aliases[i].alias[1];
 -	    tmp[6]= names->key_aliases[i].alias[2];
 -	    tmp[7]= names->key_aliases[i].alias[3];
 -	}
 -#else
  	Data(dpy,(char *)names->key_aliases,nKA*XkbKeyNameLength*2);
 -#endif
      }
      if (which&XkbRGNamesMask) {
  	Data32(dpy,(long *)names->radio_groups,nRG*4);
 Index: xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c
 diff -u xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c:1.1.1.4.6.1 xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c:1.1.1.5
 --- xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c:1.1.1.4.6.1	Thu Jun  6 03:50:17 2013
 +++ xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c	Thu May 30 23:04:42 2013
 @@ -426,7 +426,7 @@

      if ( rep->totalVModMapKeys>0 ) {
  	if (((int) rep->firstVModMapKey + rep->nVModMapKeys)
 -	     > xkb->max_key_code)
 +	     > xkb->max_key_code + 1)
  	    return BadLength;
  	if (((xkb->server==NULL)||(xkb->server->vmodmap==NULL))&&
  	    (XkbAllocServerMap(xkb,XkbVirtualModMapMask,0)!=Success)) {
 @@ -484,6 +484,8 @@

      if ( xkb->device_spec == XkbUseCoreKbd )
  	xkb->device_spec= rep->deviceID;
 +    if ( rep->maxKeyCode < rep->minKeyCode )
 +	return BadImplementation;
      xkb->min_key_code = rep->minKeyCode;
      xkb->max_key_code = rep->maxKeyCode;


From: riz@slash.lan
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: lib/48170
Date: Tue, 17 Sep 2013 08:54:15 -0700 (PDT)

 I was able to duplicate this with the openoffice3 binary package
 at ftp.netbsd.org, and a clean install of 6.1.1.  After some
 test building with help from mrg@, I narrowed it down to two files:

 +++ xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c    Thu May 30 23:04:42 2013
 +++ xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c   Thu May 30 23:04:42 2013


From: Jeff Rizzo <riz@tastylime.net>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: lib/48170
Date: Tue, 17 Sep 2013 12:36:14 -0700

 I found this commit upstream:

 http://cgit.freedesktop.org/xorg/lib/libX11/commit/src?id=a3bdd2b090915fe0163b062f0e6576fe05dd332e

 ...which leads me to believe that a modified version of my patch above 
 is The Right Thing.

From: riz@NetBSD.org
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: lib/48170
Date: Tue, 17 Sep 2013 14:46:46 -0700

 Here's a smaller patch based on the above, tested, and what I'm going
 to submit for pullup.


 Index: xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c
 diff -u xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c:1.1.1.4.6.1 xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c:1.1.1.5
 --- xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c:1.1.1.4.6.1	Thu Jun  6 03:50:17 2013
 +++ xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c	Thu May 30 23:04:42 2013
 @@ -180,7 +180,7 @@
  	    nKeys= xkb->max_key_code+1;
  	    names->keys= _XkbTypedCalloc(nKeys,XkbKeyNameRec);
  	}
 -	else if ( ((int)rep->firstKey + rep->nKeys) > xkb->max_key_code)
 +	if ( ((int)rep->firstKey + rep->nKeys) > xkb->max_key_code + 1)
  	    goto BAILOUT;
  	if (names->keys!=NULL) {
  	    if (!_XkbCopyFromReadBuffer(&buf,
 Index: xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c
 diff -u xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c:1.1.1.4.6.1 xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c:1.1.1.5
 --- xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c:1.1.1.4.6.1	Thu Jun  6 03:50:17 2013
 +++ xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c	Thu May 30 23:04:42 2013
 @@ -426,7 +426,7 @@

      if ( rep->totalVModMapKeys>0 ) {
  	if (((int) rep->firstVModMapKey + rep->nVModMapKeys)
 -	     > xkb->max_key_code)
 +	     > xkb->max_key_code + 1)
  	    return BadLength;
  	if (((xkb->server==NULL)||(xkb->server->vmodmap==NULL))&&
  	    (XkbAllocServerMap(xkb,XkbVirtualModMapMask,0)!=Success)) {

From: "Manuel Bouyer" <bouyer@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48170 CVS commit: [netbsd-5] xsrc/external/mit/libX11/dist/src/xkb
Date: Wed, 18 Sep 2013 19:44:57 +0000

 Module Name:	xsrc
 Committed By:	bouyer
 Date:		Wed Sep 18 19:44:57 UTC 2013

 Modified Files:
 	xsrc/external/mit/libX11/dist/src/xkb [netbsd-5]: XKBGetMap.c
 	    XKBNames.c

 Log Message:
 Apply patch, requested by riz in ticket #1877
 	xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c	patch

 The size of the arrays is max_key_code + 1. This makes these functions
 consistent with the other checks added for CVE-2013-1997.
 Check the XkbGetNames reply when names->keys was just allocated
 Should fix PR lib/48170.


 To generate a diff of this commit:
 cvs rdiff -u -r1.1.1.1.2.2 -r1.1.1.1.2.3 \
     xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c \
     xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Manuel Bouyer" <bouyer@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48170 CVS commit: [netbsd-5-1] xsrc/external/mit/libX11/dist/src/xkb
Date: Wed, 18 Sep 2013 19:45:40 +0000

 Module Name:	xsrc
 Committed By:	bouyer
 Date:		Wed Sep 18 19:45:40 UTC 2013

 Modified Files:
 	xsrc/external/mit/libX11/dist/src/xkb [netbsd-5-1]: XKBGetMap.c
 	    XKBNames.c

 Log Message:
 Apply patch, requested by riz in ticket #1877
 	xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c	patch

 The size of the arrays is max_key_code + 1. This makes these functions
 consistent with the other checks added for CVE-2013-1997.
 Check the XkbGetNames reply when names->keys was just allocated
 Should fix PR lib/48170.


 To generate a diff of this commit:
 cvs rdiff -u -r1.1.1.1.2.1.2.1 -r1.1.1.1.2.1.2.2 \
     xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c \
     xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Manuel Bouyer" <bouyer@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48170 CVS commit: [netbsd-5-2] xsrc/external/mit/libX11/dist/src/xkb
Date: Wed, 18 Sep 2013 19:46:23 +0000

 Module Name:	xsrc
 Committed By:	bouyer
 Date:		Wed Sep 18 19:46:23 UTC 2013

 Modified Files:
 	xsrc/external/mit/libX11/dist/src/xkb [netbsd-5-2]: XKBGetMap.c
 	    XKBNames.c

 Log Message:
 Apply patch, requested by riz in ticket #1877
 	xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c	patch

 The size of the arrays is max_key_code + 1. This makes these functions
 consistent with the other checks added for CVE-2013-1997.
 Check the XkbGetNames reply when names->keys was just allocated
 Should fix PR lib/48170.


 To generate a diff of this commit:
 cvs rdiff -u -r1.1.1.1.2.1.4.1 -r1.1.1.1.2.1.4.2 \
     xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c \
     xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Manuel Bouyer" <bouyer@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48170 CVS commit: [netbsd-6] xsrc/external/mit/libX11/dist/src/xkb
Date: Wed, 18 Sep 2013 19:52:37 +0000

 Module Name:	xsrc
 Committed By:	bouyer
 Date:		Wed Sep 18 19:52:37 UTC 2013

 Modified Files:
 	xsrc/external/mit/libX11/dist/src/xkb [netbsd-6]: XKBGetMap.c
 	    XKBNames.c

 Log Message:
 Apply patch, requested by riz in ticket #945
 	xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c	patch
 	xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c	patch

 The size of the arrays is max_key_code + 1. This makes these functions
 consistent with the other checks added for CVE-2013-1997.
 Check the XkbGetNames reply when names->keys was just allocated
 Should fix PR lib/48170.


 To generate a diff of this commit:
 cvs rdiff -u -r1.1.1.4.2.1 -r1.1.1.4.2.2 \
     xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c \
     xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Manuel Bouyer" <bouyer@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48170 CVS commit: [netbsd-6-0] xsrc/external/mit/libX11/dist/src/xkb
Date: Wed, 18 Sep 2013 19:53:43 +0000

 Module Name:	xsrc
 Committed By:	bouyer
 Date:		Wed Sep 18 19:53:43 UTC 2013

 Modified Files:
 	xsrc/external/mit/libX11/dist/src/xkb [netbsd-6-0]: XKBGetMap.c
 	    XKBNames.c

 Log Message:
 Apply patch, requested by riz in ticket #945
 	xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c	patch
 	xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c	patch

 The size of the arrays is max_key_code + 1. This makes these functions
 consistent with the other checks added for CVE-2013-1997.
 Check the XkbGetNames reply when names->keys was just allocated
 Should fix PR lib/48170.


 To generate a diff of this commit:
 cvs rdiff -u -r1.1.1.4.4.1 -r1.1.1.4.4.2 \
     xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c \
     xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Manuel Bouyer" <bouyer@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48170 CVS commit: [netbsd-6-1] xsrc/external/mit/libX11/dist/src/xkb
Date: Wed, 18 Sep 2013 19:54:17 +0000

 Module Name:	xsrc
 Committed By:	bouyer
 Date:		Wed Sep 18 19:54:17 UTC 2013

 Modified Files:
 	xsrc/external/mit/libX11/dist/src/xkb [netbsd-6-1]: XKBGetMap.c
 	    XKBNames.c

 Log Message:
 Apply patch, requested by riz in ticket #945
 	xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c	patch
 	xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c	patch

 The size of the arrays is max_key_code + 1. This makes these functions
 consistent with the other checks added for CVE-2013-1997.
 Check the XkbGetNames reply when names->keys was just allocated
 Should fix PR lib/48170.


 To generate a diff of this commit:
 cvs rdiff -u -r1.1.1.4.6.1 -r1.1.1.4.6.2 \
     xsrc/external/mit/libX11/dist/src/xkb/XKBGetMap.c \
     xsrc/external/mit/libX11/dist/src/xkb/XKBNames.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Mon, 07 Oct 2013 04:15:39 +0000
State-Changed-Why:
Fixed?


State-Changed-From-To: feedback->closed
State-Changed-By: mrg@NetBSD.org
State-Changed-When: Mon, 07 Oct 2013 05:31:46 +0000
State-Changed-Why:
this was fixed by riz.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.