From owner-freebsd-fs@FreeBSD.ORG Mon Nov 23 02:05:07 2009 Return-Path: Delivered-To: freebsd-fs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D62F41065676 for ; Mon, 23 Nov 2009 02:05:07 +0000 (UTC) (envelope-from lists@mschuette.name) Received: from mail.asta.uni-potsdam.de (mail.asta.uni-potsdam.de [IPv6:2001:638:807:3a:20d:56ff:fefd:1183]) by mx1.freebsd.org (Postfix) with ESMTP id C8EEB8FC0A for ; Mon, 23 Nov 2009 02:05:06 +0000 (UTC) Received: from localhost (mail.asta.uni-potsdam.de [141.89.58.198]) by mail.asta.uni-potsdam.de (Postfix) with ESMTP id F14A910E742 for ; Mon, 23 Nov 2009 03:05:04 +0100 (CET) X-Virus-Scanned: on mail at asta.uni-potsdam.de Received: from mail.asta.uni-potsdam.de ([141.89.58.198]) by localhost (mail.asta.uni-potsdam.de [141.89.58.198]) (amavisd-new, port 10024) with ESMTP id Ri+pWqw8CIOy for ; Mon, 23 Nov 2009 03:04:36 +0100 (CET) Received: from dagny.mschuette.name (cl-485.dus-01.de.sixxs.net [IPv6:2a01:198:200:1e4::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "Martin Schuette", Issuer "AStA-CA" (verified OK)) by mail.asta.uni-potsdam.de (Postfix) with ESMTPSA id 40C1010E5A5 for ; Mon, 23 Nov 2009 03:04:34 +0100 (CET) Message-ID: <4B09EDB2.7020002@mschuette.name> Date: Mon, 23 Nov 2009 03:04:34 +0100 From: =?UTF-8?B?TWFydGluIFNjaMO8dHRl?= User-Agent: Thunderbird 2.0.0.23 (X11/20090908) MIME-Version: 1.0 To: freebsd-fs@FreeBSD.org X-Enigmail-Version: 0.95.7 Content-Type: multipart/mixed; boundary="------------000506000805020303080601" Cc: Subject: [nullfs] [panic] null with unref'ed lowervp X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 02:05:08 -0000 This is a multi-part message in MIME format. --------------000506000805020303080601 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hello, my server recently had the kernel panic "null with unref'ed lowervp" in null_subr.c:null_checkvp(). I am not sure whether I should open a PR for it. The system is a SMP machine with SCSI RAID (asr), it runs several jails and uses multiple null mounts between partitions, because there is not enough disk space (~90% usage). uname -a: FreeBSD trinity.asta.uni-potsdam.de 7.2-RELEASE FreeBSD 7.2-RELEASE #3: Tue May 12 18:53:06 CEST 2009 root@trinity.asta.uni-potsdam.de:/usr/obj/usr/src/sys/ASTA i386 Kernel is compiled with: options INVARIANT_SUPPORT options INVARIANTS options DIAGNOSTIC Among the few occurances I was not able to observe a pattern or reproduce the error (two crashes happened at 8am which is a cronjob time, but not one with particulary high load). I am also going to add new disks any time now in order to reduce the number of null mounts, so I do not expect to see this error again. I append three gdb backtraces, in case anyone finds them useful. -- Martin Schütte --------------000506000805020303080601 Content-Type: text/plain; name="backtrace2.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="backtrace2.txt" W3Jvb3RAdHJpbml0eV0gL3Vzci9vYmovdXNyL3NyYy9zeXMvQVNUQSMgY2F0IC9hcmNoaXYv Y3Jhc2gvaW5mby4yICYmIGtnZGIga2VybmVsLmRlYnVnIC9hcmNoaXYvY3Jhc2gvdm1jb3Jl LjIKRHVtcCBoZWFkZXIgZnJvbSBkZXZpY2UgL2Rldi9kYTBzMWIKICBBcmNoaXRlY3R1cmU6 IGkzODYKICBBcmNoaXRlY3R1cmUgVmVyc2lvbjogMgogIER1bXAgTGVuZ3RoOiAzNTQxODkz MTJCICgzMzcgTUIpCiAgQmxvY2tzaXplOiA1MTIKICBEdW1wdGltZTogRnJpIE9jdCAxNiAw ODowMDowNSAyMDA5CiAgSG9zdG5hbWU6IHRyaW5pdHkuYXN0YS51bmktcG90c2RhbS5kZQog IE1hZ2ljOiBGcmVlQlNEIEtlcm5lbCBEdW1wCiAgVmVyc2lvbiBTdHJpbmc6IEZyZWVCU0Qg Ny4yLVJFTEVBU0UgIzM6IFR1ZSBNYXkgMTIgMTg6NTM6MDYgQ0VTVCAyMDA5CiAgICByb290 QHRyaW5pdHkuYXN0YS51bmktcG90c2RhbS5kZTovdXNyL29iai91c3Ivc3JjL3N5cy9BU1RB CiAgUGFuaWMgU3RyaW5nOiBudWxsIHdpdGggdW5yZWYnZWQgbG93ZXJ2cAogIER1bXAgUGFy aXR5OiAzODcwMDAzNzIzCiAgQm91bmRzOiAyCiAgRHVtcCBTdGF0dXM6IGdvb2QKR05VIGdk YiA2LjEuMSBbRnJlZUJTRF0KQ29weXJpZ2h0IDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCkdEQiBpcyBmcmVlIHNvZnR3YXJlLCBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSwgYW5kIHlvdSBhcmUKd2VsY29tZSB0byBjaGFuZ2UgaXQg YW5kL29yIGRpc3RyaWJ1dGUgY29waWVzIG9mIGl0IHVuZGVyIGNlcnRhaW4gY29uZGl0aW9u cy4KVHlwZSAic2hvdyBjb3B5aW5nIiB0byBzZWUgdGhlIGNvbmRpdGlvbnMuClRoZXJlIGlz IGFic29sdXRlbHkgbm8gd2FycmFudHkgZm9yIEdEQi4gIFR5cGUgInNob3cgd2FycmFudHki IGZvciBkZXRhaWxzLgpUaGlzIEdEQiB3YXMgY29uZmlndXJlZCBhcyAiaTM4Ni1tYXJjZWwt ZnJlZWJzZCIuLi4KClVucmVhZCBwb3J0aW9uIG9mIHRoZSBrZXJuZWwgbWVzc2FnZSBidWZm ZXI6CnZwID0gMHhjYWJkMDAwMCwgdW5yZWYnZWQgbG93ZXJ2cAogZGVhZGMwZGUgZGVhZGMw ZGUgZGVhZGMwZGUgYzcwZmIyYTAgZGVhZGMwZGUgZGVhZGMwZGUgZGVhZGMwZGUgYzcwZmIy YTAKcGFuaWM6IG51bGwgd2l0aCB1bnJlZidlZCBsb3dlcnZwCmNwdWlkID0gMgpVcHRpbWU6 IDMxZDRoMjhtNDVzClBoeXNpY2FsIG1lbW9yeTogMzQ0NyBNQgpEdW1waW5nIDMzNyBNQjog MzIyIDMwNiAyOTAgMjc0IDI1OCAyNDIgMjI2IDIxMCAxOTQgMTc4IDE2MiAxNDYgMTMwIDEx NCA5OCA4MiA2NiA1MCAzNCAxOCAyCgpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvYm9vdC9rZXJu ZWwvYWNjZl9odHRwLmtvLi4uUmVhZGluZyBzeW1ib2xzIGZyb20gL2Jvb3Qva2VybmVsL2Fj Y2ZfaHR0cC5rby5zeW1ib2xzLi4uZG9uZS4KZG9uZS4KTG9hZGVkIHN5bWJvbHMgZm9yIC9i b290L2tlcm5lbC9hY2NmX2h0dHAua28KUmVhZGluZyBzeW1ib2xzIGZyb20gL2Jvb3Qva2Vy bmVsL2FjcGkua28uLi5SZWFkaW5nIHN5bWJvbHMgZnJvbSAvYm9vdC9rZXJuZWwvYWNwaS5r by5zeW1ib2xzLi4uZG9uZS4KZG9uZS4KTG9hZGVkIHN5bWJvbHMgZm9yIC9ib290L2tlcm5l bC9hY3BpLmtvClJlYWRpbmcgc3ltYm9scyBmcm9tIC9ib290L2tlcm5lbC9udWxsZnMua28u Li5SZWFkaW5nIHN5bWJvbHMgZnJvbSAvYm9vdC9rZXJuZWwvbnVsbGZzLmtvLnN5bWJvbHMu Li5kb25lLgpkb25lLgpMb2FkZWQgc3ltYm9scyBmb3IgL2Jvb3Qva2VybmVsL251bGxmcy5r bwojMCAgZG9hZHVtcCAoKSBhdCBwY3B1Lmg6MTk2CjE5NiAgICAgICAgICAgICBfX2FzbSBf X3ZvbGF0aWxlKCJtb3ZsICUlZnM6MCwlMCIgOiAiPXIiICh0ZCkpOwooa2dkYikgYnQKIzAg IGRvYWR1bXAgKCkgYXQgcGNwdS5oOjE5NgojMSAgMHhjMDU3YmEwYyBpbiBib290IChob3d0 bz0yNjApIGF0IC91c3Ivc3JjL3N5cy9rZXJuL2tlcm5fc2h1dGRvd24uYzo0MTgKIzIgIDB4 YzA1N2JjYWMgaW4gcGFuaWMgKGZtdD1WYXJpYWJsZSAiZm10IiBpcyBub3QgYXZhaWxhYmxl LgopIGF0IC91c3Ivc3JjL3N5cy9rZXJuL2tlcm5fc2h1dGRvd24uYzo1NzQKIzMgIDB4Yzcw Zjg2ZjMgaW4gbnVsbF9jaGVja3ZwICh2cD1WYXJpYWJsZSAidnAiIGlzIG5vdCBhdmFpbGFi bGUuCikgYXQgL3Vzci9zcmMvc3lzL21vZHVsZXMvbnVsbGZzLy4uLy4uL2ZzL251bGxmcy9u dWxsX3N1YnIuYzozMzcKIzQgIDB4YzcwZjk1NTcgaW4gbnVsbF9sb2NrIChhcD0weGViMTJj OTk0KSBhdCAvdXNyL3NyYy9zeXMvbW9kdWxlcy9udWxsZnMvLi4vLi4vZnMvbnVsbGZzL251 bGxfdm5vcHMuYzo1MzEKIzUgIDB4YzA3ZDBhMzUgaW4gVk9QX0xPQ0sxX0FQViAodm9wPTB4 YzcwZmI0YzAsIGE9MHhlYjEyYzk5NCkgYXQgdm5vZGVfaWYuYzoxNjE4CiM2ICAweGMwNjA1 YmRlIGluIF92bl9sb2NrICh2cD0weGNhYmQwMDAwLCBmbGFncz04MTk0LCB0ZD0weGM2ZjUy ZDIwLCBmaWxlPTB4YzA4MGI4OTMgIi91c3Ivc3JjL3N5cy9rZXJuL3Zmc19zdWJyLmMiLCBs aW5lPTIxNTkpCiAgICBhdCB2bm9kZV9pZi5oOjg1MQojNyAgMHhjMDVmYTBlZSBpbiB2cmVs ZSAodnA9MHhjYWJkMDAwMCkgYXQgL3Vzci9zcmMvc3lzL2tlcm4vdmZzX3N1YnIuYzoyMTU5 CiM4ICAweGMwNWYwNWZlIGluIG5hbWVpIChuZHA9MHhlYjEyY2I3YykgYXQgL3Vzci9zcmMv c3lzL2tlcm4vdmZzX2xvb2t1cC5jOjIwMgojOSAgMHhjMDYwNTU3MiBpbiB2bl9vcGVuX2Ny ZWQgKG5kcD0weGViMTJjYjdjLCBmbGFncD0weGViMTJjYzc4LCBjbW9kZT0wLCBjcmVkPTB4 YzcxN2Y2MDAsIGZwPTB4YzcwNzQ0YzApCiAgICBhdCAvdXNyL3NyYy9zeXMva2Vybi92ZnNf dm5vcHMuYzoxODgKIzEwIDB4YzA2MDU3ZjMgaW4gdm5fb3BlbiAobmRwPTB4ZWIxMmNiN2Ms IGZsYWdwPTB4ZWIxMmNjNzgsIGNtb2RlPTAsIGZwPTB4YzcwNzQ0YzApIGF0IC91c3Ivc3Jj L3N5cy9rZXJuL3Zmc192bm9wcy5jOjk0CiMxMSAweGMwNjA0NmIzIGluIGtlcm5fb3BlbiAo dGQ9MHhjNmY1MmQyMCwgcGF0aD0weGJmYmZhNzUwIDxBZGRyZXNzIDB4YmZiZmE3NTAgb3V0 IG9mIGJvdW5kcz4sIHBhdGhzZWc9VUlPX1VTRVJTUEFDRSwgZmxhZ3M9MywKICAgIG1vZGU9 MCkgYXQgL3Vzci9zcmMvc3lzL2tlcm4vdmZzX3N5c2NhbGxzLmM6MTA0MgojMTIgMHhjMDYw NGJhMCBpbiBvcGVuICh0ZD0weGM2ZjUyZDIwLCB1YXA9MHhlYjEyY2NmYykgYXQgL3Vzci9z cmMvc3lzL2tlcm4vdmZzX3N5c2NhbGxzLmM6MTAwOQojMTMgMHhjMDdiYTcwMyBpbiBzeXNj YWxsIChmcmFtZT0weGViMTJjZDM4KSBhdCAvdXNyL3NyYy9zeXMvaTM4Ni9pMzg2L3RyYXAu YzoxMDkwCiMxNCAweGMwNzlmZDgwIGluIFhpbnQweDgwX3N5c2NhbGwgKCkgYXQgL3Vzci9z cmMvc3lzL2kzODYvaTM4Ni9leGNlcHRpb24uczoyNTUKIzE1IDB4MDAwMDAwMzMgaW4gPz8g KCkKUHJldmlvdXMgZnJhbWUgaW5uZXIgdG8gdGhpcyBmcmFtZSAoY29ycnVwdCBzdGFjaz8p Cg== --------------000506000805020303080601 Content-Type: text/plain; name="backtrace3.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="backtrace3.txt" PSBpbmZvID0KRHVtcCBoZWFkZXIgZnJvbSBkZXZpY2UgL2Rldi9kYTBzMWIKICBBcmNoaXRl Y3R1cmU6IGkzODYKICBBcmNoaXRlY3R1cmUgVmVyc2lvbjogMgogIER1bXAgTGVuZ3RoOiAz NjIxNDM3NDRCICgzNDUgTUIpCiAgQmxvY2tzaXplOiA1MTIKICBEdW1wdGltZTogU3VuIE9j dCAyNSAwODowMDoxNiAyMDA5CiAgSG9zdG5hbWU6IHRyaW5pdHkuYXN0YS51bmktcG90c2Rh bS5kZQogIE1hZ2ljOiBGcmVlQlNEIEtlcm5lbCBEdW1wCiAgVmVyc2lvbiBTdHJpbmc6IEZy ZWVCU0QgNy4yLVJFTEVBU0UgIzM6IFR1ZSBNYXkgMTIgMTg6NTM6MDYgQ0VTVCAyMDA5CiAg ICByb290QHRyaW5pdHkuYXN0YS51bmktcG90c2RhbS5kZTovdXNyL29iai91c3Ivc3JjL3N5 cy9BU1RBCiAgUGFuaWMgU3RyaW5nOiBudWxsIHdpdGggdW5yZWYnZWQgbG93ZXJ2cAogIER1 bXAgUGFyaXR5OiAyMjAxNDI3OTc5CiAgQm91bmRzOiAzCiAgRHVtcCBTdGF0dXM6IGdvb2QK Cj0ga2dkYiA9ClVucmVhZCBwb3J0aW9uIG9mIHRoZSBrZXJuZWwgbWVzc2FnZSBidWZmZXI6 CnZwID0gMHhjN2YxNzAwMCwgdW5yZWYnZWQgbG93ZXJ2cAogZGVhZGMwZGUgZGVhZGMwZGUg ZGVhZGMwZGUgYzcwZTYyYTAgMWZmZmZmIDAgMCAwCnBhbmljOiBudWxsIHdpdGggdW5yZWYn ZWQgbG93ZXJ2cApjcHVpZCA9IDEKVXB0aW1lOiA5ZDBoNThtMTNzClBoeXNpY2FsIG1lbW9y eTogMzQ0NyBNQgpEdW1waW5nIDM0NSBNQjogMzMwIDMxNCAyOTggMjgyIDI2NiAyNTAgMjM0 IDIxOCAyMDIgMTg2IDE3MCAxNTQgMTM4IDEyMiAxMDYgOTAgNzQgNTggNDIgMjYgMTAKCihr Z2RiKSBidAojMCAgZG9hZHVtcCAoKSBhdCBwY3B1Lmg6MTk2CiMxICAweGMwNTdiYTBjIGlu IGJvb3QgKGhvd3RvPTI2MCkgYXQgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9zaHV0ZG93bi5j OjQxOAojMiAgMHhjMDU3YmNhYyBpbiBwYW5pYyAoZm10PVZhcmlhYmxlICJmbXQiIGlzIG5v dCBhdmFpbGFibGUuCikgYXQgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9zaHV0ZG93bi5jOjU3 NAojMyAgMHhjNzBlMzZmMyBpbiBudWxsX2NoZWNrdnAgKHZwPVZhcmlhYmxlICJ2cCIgaXMg bm90IGF2YWlsYWJsZS4KKSBhdCAvdXNyL3NyYy9zeXMvbW9kdWxlcy9udWxsZnMvLi4vLi4v ZnMvbnVsbGZzL251bGxfc3Vici5jOjMzNwojNCAgMHhjNzBlNDU1NyBpbiBudWxsX2xvY2sg KGFwPTB4ZWJjMGZiMjApIGF0IC91c3Ivc3JjL3N5cy9tb2R1bGVzL251bGxmcy8uLi8uLi9m cy9udWxsZnMvbnVsbF92bm9wcy5jOjUzMQojNSAgMHhjMDdkMGEzNSBpbiBWT1BfTE9DSzFf QVBWICh2b3A9MHhjNzBlNjRjMCwgYT0weGViYzBmYjIwKSBhdCB2bm9kZV9pZi5jOjE2MTgK IzYgIDB4YzA2MDViZGUgaW4gX3ZuX2xvY2sgKHZwPTB4YzdmMTcwMDAsIGZsYWdzPTgxOTQs IHRkPTB4Y2E1ZmZhZjAsIGZpbGU9MHhjMDgwYjg5MyAiL3Vzci9zcmMvc3lzL2tlcm4vdmZz X3N1YnIuYyIsIGxpbmU9MjE1OSkKICAgIGF0IHZub2RlX2lmLmg6ODUxCiM3ICAweGMwNWZh MGVlIGluIHZyZWxlICh2cD0weGM3ZjE3MDAwKSBhdCAvdXNyL3NyYy9zeXMva2Vybi92ZnNf c3Vici5jOjIxNTkKIzggIDB4YzA2MDA0Y2EgaW4ga2Vybl9yZW5hbWUgKHRkPTB4Y2E1ZmZh ZjAsIGZyb209MHgyODcwMTliMCA8QWRkcmVzcyAweDI4NzAxOWIwIG91dCBvZiBib3VuZHM+ LAogICAgdG89MHgyODcwMWEyMCA8QWRkcmVzcyAweDI4NzAxYTIwIG91dCBvZiBib3VuZHM+ LCBwYXRoc2VnPVVJT19VU0VSU1BBQ0UpIGF0IC91c3Ivc3JjL3N5cy9rZXJuL3Zmc19zeXNj YWxscy5jOjM0MjgKIzkgIDB4YzA2MDA1ODkgaW4gcmVuYW1lICh0ZD0weGNhNWZmYWYwLCB1 YXA9MHhlYmMwZmNmYykgYXQgL3Vzci9zcmMvc3lzL2tlcm4vdmZzX3N5c2NhbGxzLmM6MzMx OQojMTAgMHhjMDdiYTcwMyBpbiBzeXNjYWxsIChmcmFtZT0weGViYzBmZDM4KSBhdCAvdXNy L3NyYy9zeXMvaTM4Ni9pMzg2L3RyYXAuYzoxMDkwCiMxMSAweGMwNzlmZDgwIGluIFhpbnQw eDgwX3N5c2NhbGwgKCkgYXQgL3Vzci9zcmMvc3lzL2kzODYvaTM4Ni9leGNlcHRpb24uczoy NTUKIzEyIDB4MDAwMDAwMzMgaW4gPz8gKCkKUHJldmlvdXMgZnJhbWUgaW5uZXIgdG8gdGhp cyBmcmFtZSAoY29ycnVwdCBzdGFjaz8pCgo= --------------000506000805020303080601 Content-Type: text/plain; name="backtrace4.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="backtrace4.txt" PSBpbmZvID0KRHVtcCBoZWFkZXIgZnJvbSBkZXZpY2UgL2Rldi9kYTBzMWIKICBBcmNoaXRl Y3R1cmU6IGkzODYKICBBcmNoaXRlY3R1cmUgVmVyc2lvbjogMgogIER1bXAgTGVuZ3RoOiAz NjU1MTQ3NTJCICgzNDggTUIpCiAgQmxvY2tzaXplOiA1MTIKICBEdW1wdGltZTogVHVlIE5v diAxNyAyMjo0ODoxMiAyMDA5CiAgSG9zdG5hbWU6IHRyaW5pdHkuYXN0YS51bmktcG90c2Rh bS5kZQogIE1hZ2ljOiBGcmVlQlNEIEtlcm5lbCBEdW1wCiAgVmVyc2lvbiBTdHJpbmc6IEZy ZWVCU0QgNy4yLVJFTEVBU0UgIzM6IFR1ZSBNYXkgMTIgMTg6NTM6MDYgQ0VTVCAyMDA5CiAg ICByb290QHRyaW5pdHkuYXN0YS51bmktcG90c2RhbS5kZTovdXNyL29iai91c3Ivc3JjL3N5 cy9BU1RBCiAgUGFuaWMgU3RyaW5nOiBudWxsIHdpdGggdW5yZWYnZWQgbG93ZXJ2cAogIER1 bXAgUGFyaXR5OiA1MjcwODA0NTgKICBCb3VuZHM6IDQKICBEdW1wIFN0YXR1czogZ29vZAoK PSBrZ2RiID0KVW5yZWFkIHBvcnRpb24gb2YgdGhlIGtlcm5lbCBtZXNzYWdlIGJ1ZmZlcjoK dnAgPSAweGM4ZTYwMjI4LCB1bnJlZidlZCBsb3dlcnZwCiBkZWFkYzBkZSBkZWFkYzBkZSBk ZWFkYzBkZSBjNzEzYjJhMCBkZWFkYzBkZSBkZWFkYzBkZSBkZWFkYzBkZSBjMDg0ZTFhMApw YW5pYzogbnVsbCB3aXRoIHVucmVmJ2VkIGxvd2VydnAKY3B1aWQgPSAwClVwdGltZTogMjNk MTRoNDVtNThzClBoeXNpY2FsIG1lbW9yeTogMzQ0NyBNQgpEdW1waW5nIDM0OCBNQjogMzMz IDMxNyAzMDEgMjg1IDI2OSAyNTMgMjM3IDIyMSAyMDUgMTg5IDE3MyAxNTcgMTQxIDEyNSAx MDkgOTMgNzcgNjEgNDUgMjkgMTMKCihrZ2RiKSBidAojMCAgZG9hZHVtcCAoKSBhdCBwY3B1 Lmg6MTk2CiMxICAweGMwNTdiYTBjIGluIGJvb3QgKGhvd3RvPTI2MCkgYXQgL3Vzci9zcmMv c3lzL2tlcm4va2Vybl9zaHV0ZG93bi5jOjQxOAojMiAgMHhjMDU3YmNhYyBpbiBwYW5pYyAo Zm10PVZhcmlhYmxlICJmbXQiIGlzIG5vdCBhdmFpbGFibGUuCikgYXQgL3Vzci9zcmMvc3lz L2tlcm4va2Vybl9zaHV0ZG93bi5jOjU3NAojMyAgMHhjNzEzODZmMyBpbiBudWxsX2NoZWNr dnAgKHZwPVZhcmlhYmxlICJ2cCIgaXMgbm90IGF2YWlsYWJsZS4KKSBhdCAvdXNyL3NyYy9z eXMvbW9kdWxlcy9udWxsZnMvLi4vLi4vZnMvbnVsbGZzL251bGxfc3Vici5jOjMzNwojNCAg MHhjNzEzOTU1NyBpbiBudWxsX2xvY2sgKGFwPTB4ZWI1YWY5OTQpIGF0IC91c3Ivc3JjL3N5 cy9tb2R1bGVzL251bGxmcy8uLi8uLi9mcy9udWxsZnMvbnVsbF92bm9wcy5jOjUzMQojNSAg MHhjMDdkMGEzNSBpbiBWT1BfTE9DSzFfQVBWICh2b3A9MHhjNzEzYjRjMCwgYT0weGViNWFm OTk0KSBhdCB2bm9kZV9pZi5jOjE2MTgKIzYgIDB4YzA2MDViZGUgaW4gX3ZuX2xvY2sgKHZw PTB4YzhlNjAyMjgsIGZsYWdzPTgxOTQsIHRkPTB4YzhlODc0NjAsIGZpbGU9MHhjMDgwYjg5 MyAiL3Vzci9zcmMvc3lzL2tlcm4vdmZzX3N1YnIuYyIsIGxpbmU9MjE1OSkKICAgIGF0IHZu b2RlX2lmLmg6ODUxCiM3ICAweGMwNWZhMGVlIGluIHZyZWxlICh2cD0weGM4ZTYwMjI4KSBh dCAvdXNyL3NyYy9zeXMva2Vybi92ZnNfc3Vici5jOjIxNTkKIzggIDB4YzA1ZjA1ZmUgaW4g bmFtZWkgKG5kcD0weGViNWFmYjdjKSBhdCAvdXNyL3NyYy9zeXMva2Vybi92ZnNfbG9va3Vw LmM6MjAyCiM5ICAweGMwNjA1NTcyIGluIHZuX29wZW5fY3JlZCAobmRwPTB4ZWI1YWZiN2Ms IGZsYWdwPTB4ZWI1YWZjNzgsIGNtb2RlPTAsIGNyZWQ9MHhjNzZjMjEwMCwgZnA9MHhjZDI4 YTZkNCkKICAgIGF0IC91c3Ivc3JjL3N5cy9rZXJuL3Zmc192bm9wcy5jOjE4OAojMTAgMHhj MDYwNTdmMyBpbiB2bl9vcGVuIChuZHA9MHhlYjVhZmI3YywgZmxhZ3A9MHhlYjVhZmM3OCwg Y21vZGU9MCwgZnA9MHhjZDI4YTZkNCkgYXQgL3Vzci9zcmMvc3lzL2tlcm4vdmZzX3Zub3Bz LmM6OTQKIzExIDB4YzA2MDQ2YjMgaW4ga2Vybl9vcGVuICh0ZD0weGM4ZTg3NDYwLCBwYXRo PTB4YmZiZmE4ZjAgPEFkZHJlc3MgMHhiZmJmYThmMCBvdXQgb2YgYm91bmRzPiwgcGF0aHNl Zz1VSU9fVVNFUlNQQUNFLCBmbGFncz0zLAogICAgbW9kZT0wKSBhdCAvdXNyL3NyYy9zeXMv a2Vybi92ZnNfc3lzY2FsbHMuYzoxMDQyCiMxMiAweGMwNjA0YmEwIGluIG9wZW4gKHRkPTB4 YzhlODc0NjAsIHVhcD0weGViNWFmY2ZjKSBhdCAvdXNyL3NyYy9zeXMva2Vybi92ZnNfc3lz Y2FsbHMuYzoxMDA5CiMxMyAweGMwN2JhNzAzIGluIHN5c2NhbGwgKGZyYW1lPTB4ZWI1YWZk MzgpIGF0IC91c3Ivc3JjL3N5cy9pMzg2L2kzODYvdHJhcC5jOjEwOTAKIzE0IDB4YzA3OWZk ODAgaW4gWGludDB4ODBfc3lzY2FsbCAoKSBhdCAvdXNyL3NyYy9zeXMvaTM4Ni9pMzg2L2V4 Y2VwdGlvbi5zOjI1NQojMTUgMHgwMDAwMDAzMyBpbiA/PyAoKQpQcmV2aW91cyBmcmFtZSBp bm5lciB0byB0aGlzIGZyYW1lIChjb3JydXB0IHN0YWNrPykK --------------000506000805020303080601--