Thread: BUG #7667: Segmentation fault
The following bug has been logged on the website: Bug reference: 7667 Logged by: Jacek Domagalski Email address: j.domagalski@bsskierniewice.pl PostgreSQL version: 9.2.1 Operating system: OracleLinux6 x64, Windows Server 2008 R2 x64 Description: = When I execute SQL Query server crash with Code 11 Segmentation fault. I tried two diffrents environments (Oracle Linux on Vsphere and Windows 2008 Server),database restored from backup, and got the same error. Previous version 9.0 was OK with this database and query.
On 16-11-2012 12:16, j.domagalski@bsskierniewice.pl wrote: > When I execute SQL Query server crash with Code 11 Segmentation fault. I > tried two diffrents environments (Oracle Linux on Vsphere and Windows 2008 > Server),database restored from backup, and got the same error. Previous > version 9.0 was OK with this database and query. > Could you provide additional details [1] and a reproducible test case? [1] http://wiki.postgresql.org/wiki/Guide_to_reporting_problems -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
On 17-11-2012 07:03, Jacek Domagalski wrote: [keep the list CC'ed] > Scenario to produce error. > > 1. OS - Windows 7 x64 PL, Regional settings in regional.jpg > 2. Installation of postgres-server (postgresql-9.2.1-1-windows-x64.exe) with default settings > 3. DB scheme in up.backup > 4. Query in error_query.sql > I can confirm that that bug is in 9.2.1 but I couldn't reproduce it in REL9_2_STABLE. It seems a bug in the planner that what fixed a few days ago. Could you test it in REL9_2_STABLE [1]? Just to be archived the backtrace is: Core was generated by `postgres: euler bug [local] SEL'. Program terminated with signal 11, Segmentation fault. #0 examine_simple_variable (vardata=0x7fff864ebaa0, root=<optimized out>, var=<optimized out>) at selfuncs.c:4531 4531 selfuncs.c: Arquivo ou diretório não encontrado. (gdb) bt #0 examine_simple_variable (vardata=0x7fff864ebaa0, root=<optimized out>, var=<optimized out>) at selfuncs.c:4531 #1 examine_variable (root=root@entry=0x145b8d0, node=<optimized out>, varRelid=varRelid@entry=0, vardata=vardata@entry=0x7fff864ebaa0) at selfuncs.c:4308 #2 0x00000000006c5d98 in get_restriction_variable (varonleft=<optimized out>, other=<optimized out>, vardata=0x7fff864ebaa0, varRelid=0, args=<optimized out>, root=0x145b8d0) at selfuncs.c:4173 #3 get_restriction_variable (root=0x145b8d0, args=<optimized out>, varRelid=0, vardata=0x7fff864ebaa0, other=<optimized out>, varonleft=<optimized out>) at selfuncs.c:4154 #4 0x00000000006c5edf in scalargtsel (fcinfo=<optimized out>) at selfuncs.c:1050 #5 0x000000000072030d in OidFunctionCall4Coll (functionId=<optimized out>, collation=collation@entry=0, arg1=arg1@entry=21346512, arg2=arg2@entry=419, arg3=arg3@entry=21490216, arg4=arg4@entry=0) at fmgr.c:1682 #6 0x0000000000606f54 in restriction_selectivity (root=root@entry=0x145b8d0, operatorid=419, args=0x147ea28, inputcollid=0, varRelid=varRelid@entry=0) at plancat.c:1026 #7 0x00000000005da2b0 in clause_selectivity (root=root@entry=0x145b8d0, clause=0x147eac8, clause@entry=0x1485490, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x0) at clausesel.c:668 #8 0x00000000005da48c in clauselist_selectivity (root=root@entry=0x145b8d0, clauses=<optimized out>, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x0) at clausesel.c:123 #9 0x00000000005d9ed5 in clause_selectivity (root=root@entry=0x145b8d0, clause=0x1485ec0, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x0) at clausesel.c:623 #10 0x00000000005da177 in clause_selectivity (root=root@entry=0x145b8d0, clause=<optimized out>, clause@entry=0x1485f40, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x0) at clausesel.c:642 #11 0x00000000005e73a6 in create_or_index_quals (root=root@entry=0x145b8d0, rel=rel@entry=0x14803c0) at orindxpath.c:176 #12 0x00000000005d8bac in set_plain_rel_size (rel=0x14803c0, root=0x145b8d0, rte=<optimized out>) at allpaths.c:364 #13 set_rel_size (root=root@entry=0x145b8d0, rel=0x14803c0, rti=rti@entry=1, rte=0x1458b90) at allpaths.c:250 #14 0x00000000005d9c5a in set_base_rel_sizes (root=<optimized out>) at allpaths.c:175 #15 make_one_rel (root=root@entry=0x145b8d0, joinlist=joinlist@entry=0x14827c8) at allpaths.c:133 #16 0x00000000005f0b6e in query_planner (root=root@entry=0x145b8d0, tlist=tlist@entry=0x147ad68, tuple_fraction=0, tuple_fraction@entry=<error reading variable: Could not find type for DW_OP_GNU_const_type>, limit_tuples=-1, cheapest_path=cheapest_path@entry=0x7fff864ec3c0, sorted_path=sorted_path@entry=0x7fff864ec3c8, num_groups=num_groups@entry=0x7fff864ec3b8) at planmain.c:259 #17 0x00000000005f2488 in grouping_planner (root=root@entry=0x145b8d0, tuple_fraction=0, tuple_fraction@entry=<error reading variable: Could not find type for DW_OP_GNU_const_type>) at planner.c:1221 #18 0x00000000005f4421 in subquery_planner (glob=glob@entry=0x1399898, parse=parse@entry=0x1458a80, parent_root=parent_root@entry=0x0, hasRecursion=hasRecursion@entry=0 '\000', tuple_fraction=0, subroot=subroot@entry=0x7fff864ec558) at planner.c:525 #19 0x00000000005f46d7 in standard_planner (parse=0x1458a80, cursorOptions=0, boundParams=0x0) at planner.c:196 #20 0x00000000006563bc in pg_plan_query (querytree=<optimized out>, cursorOptions=cursorOptions@entry=0, boundParams=boundParams@entry=0x0) at postgres.c:751 #21 0x00000000006564b4 in pg_plan_queries (querytrees=<optimized out>, cursorOptions=cursorOptions@entry=0, boundParams=boundParams@entry=0x0) at postgres.c:810 #22 0x0000000000656cc2 in exec_simple_query ( query_string=0x141ac30 "SELECT\n\t\t\t\t\t\t\t\"hlpIssue\".*,\n\t\t\t\t\t\t\t\"LastModifyTimeSet\".\"LastModifyTime\"\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\"hlpIssue\" LEFT OUTER JOIN\n\t\n\t\t\t\t\t\t(SELECT\n\t\t\t\t\t\t\t\"hlpIssueChange\".\"IdIssue\",\n\t\t\t\t\t\t\tMAX(\"hlpIssueChange\".\"Mod"...) at postgres.c:975 #23 PostgresMain (argc=<optimized out>, argv=argv@entry=0x1373eb0, username=<optimized out>) at postgres.c:3968 #24 0x00000000006184c0 in BackendRun (port=0x1399960) at postmaster.c:3619 #25 BackendStartup (port=0x1399960) at postmaster.c:3304 #26 ServerLoop () at postmaster.c:1367 #27 0x000000000061909c in PostmasterMain (argc=argc@entry=1, argv=argv@entry=0x1371df0) at postmaster.c:1127 #28 0x0000000000464b9d in main (argc=1, argv=0x1371df0) at main.c:199 [1] http://git.postgresql.org/gitweb/?p=postgresql.git;a=snapshot;h=refs/heads/REL9_2_STABLE;sf=tgz -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
SSBjYW4gY29uZmlybSB0aGF0IFJFTDlfMl9TVEFCTEUgd29ya3MgZmluZS4gVGhhbmtzIGZvciBx dWljayBoZWxwLgoKUmVnYXJkcy9Qb3pkcmF3aWFtIAoKSmFjZWsgRG9tYWdhbHNraSAKCgoKLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KRnJvbTogRXVsZXIgVGF2ZWlyYSBbbWFpbHRvOmV1bGVy QHRpbWJpcmEuY29tXSAKU2VudDogU2F0dXJkYXksIE5vdmVtYmVyIDE3LCAyMDEyIDY6NTYgUE0K VG86IEphY2VrIERvbWFnYWxza2kKQ2M6IFBvc3RncmVTUUwgQnVncwpTdWJqZWN0OiBSZTogW0JV R1NdIEJVRyAjNzY2NzogU2VnbWVudGF0aW9uIGZhdWx0CgpPbiAxNy0xMS0yMDEyIDA3OjAzLCBK YWNlayBEb21hZ2Fsc2tpIHdyb3RlOgoKW2tlZXAgdGhlIGxpc3QgQ0MnZWRdCgo+IFNjZW5hcmlv IHRvIHByb2R1Y2UgZXJyb3IuCj4gCj4gMS4gT1MgLSBXaW5kb3dzIDcgeDY0IFBMLCBSZWdpb25h bCBzZXR0aW5ncyBpbiByZWdpb25hbC5qcGcgMi4gCj4gSW5zdGFsbGF0aW9uIG9mIHBvc3RncmVz LXNlcnZlciAocG9zdGdyZXNxbC05LjIuMS0xLXdpbmRvd3MteDY0LmV4ZSkgCj4gd2l0aCBkZWZh dWx0IHNldHRpbmdzIDMuIERCIHNjaGVtZSBpbiB1cC5iYWNrdXAgNC4gUXVlcnkgaW4gCj4gZXJy b3JfcXVlcnkuc3FsCj4gCkkgY2FuIGNvbmZpcm0gdGhhdCB0aGF0IGJ1ZyBpcyBpbiA5LjIuMSBi dXQgSSBjb3VsZG4ndCByZXByb2R1Y2UgaXQgaW4gUkVMOV8yX1NUQUJMRS4gSXQgc2VlbXMgYSBi dWcgaW4gdGhlIHBsYW5uZXIgdGhhdCB3aGF0IGZpeGVkIGEgZmV3IGRheXMgYWdvLgpDb3VsZCB5 b3UgdGVzdCBpdCBpbiBSRUw5XzJfU1RBQkxFIFsxXT8KCkp1c3QgdG8gYmUgYXJjaGl2ZWQgdGhl IGJhY2t0cmFjZSBpczoKCkNvcmUgd2FzIGdlbmVyYXRlZCBieSBgcG9zdGdyZXM6IGV1bGVyIGJ1 ZyBbbG9jYWxdIFNFTCcuClByb2dyYW0gdGVybWluYXRlZCB3aXRoIHNpZ25hbCAxMSwgU2VnbWVu dGF0aW9uIGZhdWx0LgojMCAgZXhhbWluZV9zaW1wbGVfdmFyaWFibGUgKHZhcmRhdGE9MHg3ZmZm ODY0ZWJhYTAsIHJvb3Q9PG9wdGltaXplZCBvdXQ+LAogICAgdmFyPTxvcHRpbWl6ZWQgb3V0Pikg YXQgc2VsZnVuY3MuYzo0NTMxCjQ1MzEJc2VsZnVuY3MuYzogQXJxdWl2byBvdSBkaXJldMOzcmlv IG7Do28gZW5jb250cmFkby4KKGdkYikgYnQKIzAgIGV4YW1pbmVfc2ltcGxlX3ZhcmlhYmxlICh2 YXJkYXRhPTB4N2ZmZjg2NGViYWEwLCByb290PTxvcHRpbWl6ZWQgb3V0PiwKICAgIHZhcj08b3B0 aW1pemVkIG91dD4pIGF0IHNlbGZ1bmNzLmM6NDUzMQojMSAgZXhhbWluZV92YXJpYWJsZSAocm9v dD1yb290QGVudHJ5PTB4MTQ1YjhkMCwgbm9kZT08b3B0aW1pemVkIG91dD4sCiAgICB2YXJSZWxp ZD12YXJSZWxpZEBlbnRyeT0wLCB2YXJkYXRhPXZhcmRhdGFAZW50cnk9MHg3ZmZmODY0ZWJhYTAp CiAgICBhdCBzZWxmdW5jcy5jOjQzMDgKIzIgIDB4MDAwMDAwMDAwMDZjNWQ5OCBpbiBnZXRfcmVz dHJpY3Rpb25fdmFyaWFibGUgKHZhcm9ubGVmdD08b3B0aW1pemVkIG91dD4sCiAgICBvdGhlcj08 b3B0aW1pemVkIG91dD4sIHZhcmRhdGE9MHg3ZmZmODY0ZWJhYTAsIHZhclJlbGlkPTAsCiAgICBh cmdzPTxvcHRpbWl6ZWQgb3V0Piwgcm9vdD0weDE0NWI4ZDApIGF0IHNlbGZ1bmNzLmM6NDE3Mwoj MyAgZ2V0X3Jlc3RyaWN0aW9uX3ZhcmlhYmxlIChyb290PTB4MTQ1YjhkMCwgYXJncz08b3B0aW1p emVkIG91dD4sCiAgICB2YXJSZWxpZD0wLCB2YXJkYXRhPTB4N2ZmZjg2NGViYWEwLCBvdGhlcj08 b3B0aW1pemVkIG91dD4sCiAgICB2YXJvbmxlZnQ9PG9wdGltaXplZCBvdXQ+KSBhdCBzZWxmdW5j cy5jOjQxNTQKIzQgIDB4MDAwMDAwMDAwMDZjNWVkZiBpbiBzY2FsYXJndHNlbCAoZmNpbmZvPTxv cHRpbWl6ZWQgb3V0PikKICAgIGF0IHNlbGZ1bmNzLmM6MTA1MAojNSAgMHgwMDAwMDAwMDAwNzIw MzBkIGluIE9pZEZ1bmN0aW9uQ2FsbDRDb2xsIChmdW5jdGlvbklkPTxvcHRpbWl6ZWQgb3V0PiwK ICAgIGNvbGxhdGlvbj1jb2xsYXRpb25AZW50cnk9MCwgYXJnMT1hcmcxQGVudHJ5PTIxMzQ2NTEy LAogICAgYXJnMj1hcmcyQGVudHJ5PTQxOSwgYXJnMz1hcmczQGVudHJ5PTIxNDkwMjE2LCBhcmc0 PWFyZzRAZW50cnk9MCkKICAgIGF0IGZtZ3IuYzoxNjgyCiM2ICAweDAwMDAwMDAwMDA2MDZmNTQg aW4gcmVzdHJpY3Rpb25fc2VsZWN0aXZpdHkgKHJvb3Q9cm9vdEBlbnRyeT0weDE0NWI4ZDAsCiAg ICBvcGVyYXRvcmlkPTQxOSwgYXJncz0weDE0N2VhMjgsIGlucHV0Y29sbGlkPTAsIHZhclJlbGlk PXZhclJlbGlkQGVudHJ5PTApCiAgICBhdCBwbGFuY2F0LmM6MTAyNgojNyAgMHgwMDAwMDAwMDAw NWRhMmIwIGluIGNsYXVzZV9zZWxlY3Rpdml0eSAocm9vdD1yb290QGVudHJ5PTB4MTQ1YjhkMCwK ICAgIGNsYXVzZT0weDE0N2VhYzgsIGNsYXVzZUBlbnRyeT0weDE0ODU0OTAsIHZhclJlbGlkPXZh clJlbGlkQGVudHJ5PTAsCiAgICBqb2ludHlwZT1qb2ludHlwZUBlbnRyeT1KT0lOX0lOTkVSLCBz amluZm89c2ppbmZvQGVudHJ5PTB4MCkKICAgIGF0IGNsYXVzZXNlbC5jOjY2OAojOCAgMHgwMDAw MDAwMDAwNWRhNDhjIGluIGNsYXVzZWxpc3Rfc2VsZWN0aXZpdHkgKHJvb3Q9cm9vdEBlbnRyeT0w eDE0NWI4ZDAsCiAgICBjbGF1c2VzPTxvcHRpbWl6ZWQgb3V0PiwgdmFyUmVsaWQ9dmFyUmVsaWRA ZW50cnk9MCwKICAgIGpvaW50eXBlPWpvaW50eXBlQGVudHJ5PUpPSU5fSU5ORVIsIHNqaW5mbz1z amluZm9AZW50cnk9MHgwKQogICAgYXQgY2xhdXNlc2VsLmM6MTIzCiM5ICAweDAwMDAwMDAwMDA1 ZDllZDUgaW4gY2xhdXNlX3NlbGVjdGl2aXR5IChyb290PXJvb3RAZW50cnk9MHgxNDViOGQwLAog ICAgY2xhdXNlPTB4MTQ4NWVjMCwgdmFyUmVsaWQ9dmFyUmVsaWRAZW50cnk9MCwKICAgIGpvaW50 eXBlPWpvaW50eXBlQGVudHJ5PUpPSU5fSU5ORVIsIHNqaW5mbz1zamluZm9AZW50cnk9MHgwKQog ICAgYXQgY2xhdXNlc2VsLmM6NjIzCiMxMCAweDAwMDAwMDAwMDA1ZGExNzcgaW4gY2xhdXNlX3Nl bGVjdGl2aXR5IChyb290PXJvb3RAZW50cnk9MHgxNDViOGQwLAogICAgY2xhdXNlPTxvcHRpbWl6 ZWQgb3V0PiwgY2xhdXNlQGVudHJ5PTB4MTQ4NWY0MCwgdmFyUmVsaWQ9dmFyUmVsaWRAZW50cnk9 MCwKICAgIGpvaW50eXBlPWpvaW50eXBlQGVudHJ5PUpPSU5fSU5ORVIsIHNqaW5mbz1zamluZm9A ZW50cnk9MHgwKQogICAgYXQgY2xhdXNlc2VsLmM6NjQyCiMxMSAweDAwMDAwMDAwMDA1ZTczYTYg aW4gY3JlYXRlX29yX2luZGV4X3F1YWxzIChyb290PXJvb3RAZW50cnk9MHgxNDViOGQwLAogICAg cmVsPXJlbEBlbnRyeT0weDE0ODAzYzApIGF0IG9yaW5keHBhdGguYzoxNzYKIzEyIDB4MDAwMDAw MDAwMDVkOGJhYyBpbiBzZXRfcGxhaW5fcmVsX3NpemUgKHJlbD0weDE0ODAzYzAsIHJvb3Q9MHgx NDViOGQwLAogICAgcnRlPTxvcHRpbWl6ZWQgb3V0PikgYXQgYWxscGF0aHMuYzozNjQKIzEzIHNl dF9yZWxfc2l6ZSAocm9vdD1yb290QGVudHJ5PTB4MTQ1YjhkMCwgcmVsPTB4MTQ4MDNjMCwgcnRp PXJ0aUBlbnRyeT0xLAogICAgcnRlPTB4MTQ1OGI5MCkgYXQgYWxscGF0aHMuYzoyNTAKIzE0IDB4 MDAwMDAwMDAwMDVkOWM1YSBpbiBzZXRfYmFzZV9yZWxfc2l6ZXMgKHJvb3Q9PG9wdGltaXplZCBv dXQ+KQogICAgYXQgYWxscGF0aHMuYzoxNzUKIzE1IG1ha2Vfb25lX3JlbCAocm9vdD1yb290QGVu dHJ5PTB4MTQ1YjhkMCwgam9pbmxpc3Q9am9pbmxpc3RAZW50cnk9MHgxNDgyN2M4KQogICAgYXQg YWxscGF0aHMuYzoxMzMKIzE2IDB4MDAwMDAwMDAwMDVmMGI2ZSBpbiBxdWVyeV9wbGFubmVyIChy b290PXJvb3RAZW50cnk9MHgxNDViOGQwLAogICAgdGxpc3Q9dGxpc3RAZW50cnk9MHgxNDdhZDY4 LCB0dXBsZV9mcmFjdGlvbj0wLAogICAgdHVwbGVfZnJhY3Rpb25AZW50cnk9PGVycm9yIHJlYWRp bmcgdmFyaWFibGU6IENvdWxkIG5vdCBmaW5kIHR5cGUgZm9yIERXX09QX0dOVV9jb25zdF90eXBl PiwgbGltaXRfdHVwbGVzPS0xLAogICAgY2hlYXBlc3RfcGF0aD1jaGVhcGVzdF9wYXRoQGVudHJ5 PTB4N2ZmZjg2NGVjM2MwLAogICAgc29ydGVkX3BhdGg9c29ydGVkX3BhdGhAZW50cnk9MHg3ZmZm ODY0ZWMzYzgsCiAgICBudW1fZ3JvdXBzPW51bV9ncm91cHNAZW50cnk9MHg3ZmZmODY0ZWMzYjgp IGF0IHBsYW5tYWluLmM6MjU5CiMxNyAweDAwMDAwMDAwMDA1ZjI0ODggaW4gZ3JvdXBpbmdfcGxh bm5lciAocm9vdD1yb290QGVudHJ5PTB4MTQ1YjhkMCwKICAgIHR1cGxlX2ZyYWN0aW9uPTAsCiAg ICB0dXBsZV9mcmFjdGlvbkBlbnRyeT08ZXJyb3IgcmVhZGluZyB2YXJpYWJsZTogQ291bGQgbm90 IGZpbmQgdHlwZSBmb3IKRFdfT1BfR05VX2NvbnN0X3R5cGU+KSBhdCBwbGFubmVyLmM6MTIyMQoj MTggMHgwMDAwMDAwMDAwNWY0NDIxIGluIHN1YnF1ZXJ5X3BsYW5uZXIgKGdsb2I9Z2xvYkBlbnRy eT0weDEzOTk4OTgsCiAgICBwYXJzZT1wYXJzZUBlbnRyeT0weDE0NThhODAsIHBhcmVudF9yb290 PXBhcmVudF9yb290QGVudHJ5PTB4MCwKICAgIGhhc1JlY3Vyc2lvbj1oYXNSZWN1cnNpb25AZW50 cnk9MCAnXDAwMCcsIHR1cGxlX2ZyYWN0aW9uPTAsCiAgICBzdWJyb290PXN1YnJvb3RAZW50cnk9 MHg3ZmZmODY0ZWM1NTgpIGF0IHBsYW5uZXIuYzo1MjUKIzE5IDB4MDAwMDAwMDAwMDVmNDZkNyBp biBzdGFuZGFyZF9wbGFubmVyIChwYXJzZT0weDE0NThhODAsIGN1cnNvck9wdGlvbnM9MCwKICAg IGJvdW5kUGFyYW1zPTB4MCkgYXQgcGxhbm5lci5jOjE5NgojMjAgMHgwMDAwMDAwMDAwNjU2M2Jj IGluIHBnX3BsYW5fcXVlcnkgKHF1ZXJ5dHJlZT08b3B0aW1pemVkIG91dD4sCiAgICBjdXJzb3JP cHRpb25zPWN1cnNvck9wdGlvbnNAZW50cnk9MCwgYm91bmRQYXJhbXM9Ym91bmRQYXJhbXNAZW50 cnk9MHgwKQogICAgYXQgcG9zdGdyZXMuYzo3NTEKIzIxIDB4MDAwMDAwMDAwMDY1NjRiNCBpbiBw Z19wbGFuX3F1ZXJpZXMgKHF1ZXJ5dHJlZXM9PG9wdGltaXplZCBvdXQ+LAogICAgY3Vyc29yT3B0 aW9ucz1jdXJzb3JPcHRpb25zQGVudHJ5PTAsIGJvdW5kUGFyYW1zPWJvdW5kUGFyYW1zQGVudHJ5 PTB4MCkKICAgIGF0IHBvc3RncmVzLmM6ODEwCiMyMiAweDAwMDAwMDAwMDA2NTZjYzIgaW4gZXhl Y19zaW1wbGVfcXVlcnkgKAogICAgcXVlcnlfc3RyaW5nPTB4MTQxYWMzMAoiU0VMRUNUXG5cdFx0 XHRcdFx0XHRcdFwiaGxwSXNzdWVcIi4qLFxuXHRcdFx0XHRcdFx0XHRcIkxhc3RNb2RpZnlUaW1l U2V0XCIuXCJMYXN0TW9kaWZ5VGltZVwiXG5cdFx0XHRcdFx0XHRGUk9NXG5cdFx0XHRcdFx0XHRc dFwiaGxwSXNzdWVcIgpMRUZUIE9VVEVSCkpPSU5cblx0XG5cdFx0XHRcdFx0XHQoU0VMRUNUXG5c dFx0XHRcdFx0XHRcdFwiaGxwSXNzdWVDaGFuZ2VcIi5cIklkSXNzdWVcIixcblx0XHRcdFx0XHRc dFx0TUFYKFwiaGxwSXNzdWVDaGFuZ2VcIi5cIk1vZCIuLi4pCiAgICBhdCBwb3N0Z3Jlcy5jOjk3 NQojMjMgUG9zdGdyZXNNYWluIChhcmdjPTxvcHRpbWl6ZWQgb3V0PiwgYXJndj1hcmd2QGVudHJ5 PTB4MTM3M2ViMCwKICAgIHVzZXJuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgcG9zdGdyZXMuYzoz OTY4CiMyNCAweDAwMDAwMDAwMDA2MTg0YzAgaW4gQmFja2VuZFJ1biAocG9ydD0weDEzOTk5NjAp IGF0IHBvc3RtYXN0ZXIuYzozNjE5CiMyNSBCYWNrZW5kU3RhcnR1cCAocG9ydD0weDEzOTk5NjAp IGF0IHBvc3RtYXN0ZXIuYzozMzA0CiMyNiBTZXJ2ZXJMb29wICgpIGF0IHBvc3RtYXN0ZXIuYzox MzY3CiMyNyAweDAwMDAwMDAwMDA2MTkwOWMgaW4gUG9zdG1hc3Rlck1haW4gKGFyZ2M9YXJnY0Bl bnRyeT0xLAogICAgYXJndj1hcmd2QGVudHJ5PTB4MTM3MWRmMCkgYXQgcG9zdG1hc3Rlci5jOjEx MjcKIzI4IDB4MDAwMDAwMDAwMDQ2NGI5ZCBpbiBtYWluIChhcmdjPTEsIGFyZ3Y9MHgxMzcxZGYw KSBhdCBtYWluLmM6MTk5CgoKWzFdCmh0dHA6Ly9naXQucG9zdGdyZXNxbC5vcmcvZ2l0d2ViLz9w PXBvc3RncmVzcWwuZ2l0O2E9c25hcHNob3Q7aD1yZWZzL2hlYWRzL1JFTDlfMl9TVEFCTEU7c2Y9 dGd6CgoKLS0gCiAgIEV1bGVyIFRhdmVpcmEgZGUgT2xpdmVpcmEgLSBUaW1iaXJhICAgICAgIGh0 dHA6Ly93d3cudGltYmlyYS5jb20uYnIvCiAgIFBvc3RncmVTUUw6IENvbnN1bHRvcmlhLCBEZXNl bnZvbHZpbWVudG8sIFN1cG9ydGUgMjR4NyBlIFRyZWluYW1lbnRvCgoKCgo=