A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2001-February/012804.html below:

[Python-Dev] test_inspect fails again: segfault in compile

[Python-Dev] test_inspect fails again: segfault in compileKa-Ping Yee ping@lfw.org
Sat, 10 Feb 2001 18:20:30 -0800 (PST)
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--8323328-2048391218-981858030=:4249
Content-Type: TEXT/PLAIN; charset=US-ASCII

Sorry to be the bearer of so much bad news today.

When i run the tests for inspect.py, a recently-built Python crashes:

    localhost[1168]% !p
    python test_inspect.py 
    Segmentation fault (core dumped)

gdb says:

(gdb) where
#0  0x806021c in symtable_params (st=0x80e9678, n=0x8149340)
    at Python/compile.c:4633
#1  0x806004f in symtable_funcdef (st=0x80e9678, n=0x8111368)
    at Python/compile.c:4541
#2  0x805fc6e in symtable_node (st=0x80e9678, n=0x80eaac0)
    at Python/compile.c:4417
#3  0x8060007 in symtable_node (st=0x80e9678, n=0x811c1c0)
    at Python/compile.c:4528
#4  0x805f23e in symtable_build (c=0xbffff2a4, n=0x811c1c0)
    at Python/compile.c:3974
#5  0x805ee8a in jcompile (n=0x811c1c0, filename=0x81268e4 "@test", base=0x0)
    at Python/compile.c:3853
#6  0x805ed7c in PyNode_Compile (n=0x811c1c0, filename=0x81268e4 "@test")
    at Python/compile.c:3806
#7  0x8063476 in parse_source_module (pathname=0x81268e4 "@test", fp=0x81271c0)
    at Python/import.c:611
#8  0x8063637 in load_source_module (name=0x812a1dc "testmod", 
    pathname=0x81268e4 "@test", fp=0x81271c0) at Python/import.c:731
#9  0x8065161 in imp_load_source (self=0x0, args=0x80e838c)
    at Python/import.c:2178
#10 0x8058655 in call_cfunction (func=0x8124a08, arg=0x80e838c, kw=0x0)
    at Python/ceval.c:2749
#11 0x8058550 in call_object (func=0x8124a08, arg=0x80e838c, kw=0x0)
    at Python/ceval.c:2703
#12 0x8058c61 in do_call (func=0x8124a08, pp_stack=0xbffff908, na=2, nk=0)
    at Python/ceval.c:3014
#13 0x8057228 in eval_code2 (co=0x815eff0, globals=0x80c3544, 
    locals=0x80c3544, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:1895
#14 0x8054787 in PyEval_EvalCode (co=0x815eff0, globals=0x80c3544, 
    locals=0x80c3544) at Python/ceval.c:336
#15 0x8068f44 in run_node (n=0x8106f30, filename=0xbffffbb4 "test_inspect.py", 
    globals=0x80c3544, locals=0x80c3544) at Python/pythonrun.c:920
#16 0x8068f09 in run_err_node (n=0x8106f30, 
    filename=0xbffffbb4 "test_inspect.py", globals=0x80c3544, locals=0x80c3544)
    at Python/pythonrun.c:908
#17 0x8068ee7 in PyRun_FileEx (fp=0x80bf6a8, 
    filename=0xbffffbb4 "test_inspect.py", start=257, globals=0x80c3544, 
    locals=0x80c3544, closeit=1) at Python/pythonrun.c:900
#18 0x80686bc in PyRun_SimpleFileEx (fp=0x80bf6a8, 
    filename=0xbffffbb4 "test_inspect.py", closeit=1) at Python/pythonrun.c:613
#19 0x8068310 in PyRun_AnyFileEx (fp=0x80bf6a8, 
    filename=0xbffffbb4 "test_inspect.py", closeit=1) at Python/pythonrun.c:467
#20 0x8051bb0 in Py_Main (argc=1, argv=0xbffffa84) at Modules/main.c:292
#21 0x80516d6 in main (argc=2, argv=0xbffffa84) at Modules/python.c:10
#22 0x40064cb3 in __libc_start_main (main=0x80516c8 <main>, argc=2, 
    argv=0xbffffa84, init=0x8050bd8 <_init>, fini=0x80968dc <_fini>, 
    rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffa7c)
    at ../sysdeps/generic/libc-start.c:78

The contents of test_inspect.py and of @test (the Python module
which test_inspect writes out and imports) are attached.

n_lineno is 8, which points to the hairy line:

    def spam(a, b, c, d=3, (e, (f,))=(4, (5,)), *g, **h):

The following smaller test case reproduces the error:

    Python 2.1a2 (#22, Feb 10 2001, 16:15:14) 
    [GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
    Type "copyright", "credits" or "license" for more information.
    >>> def spam(a, b, c, d=3, (e, (f,))=(4, (5,)), *g, **h):
    ...    pass
    ... 
    Segmentation fault (core dumped)

After further testing, it seems to come down to this:

    Python 2.1a2 (#22, Feb 10 2001, 16:15:14) 
    [GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
    Type "copyright", "credits" or "license" for more information.
    >>> def spam(a, b): pass
    ... 
    >>> def spam(a=3, b): pass
    ... 
    SyntaxError: non-default argument follows default argument
    >>> def spam(a=3, b=4): pass
    ... 
    >>> def spam(a, (b,)): pass
    ... 
    >>> def spam(a=3, (b,)): pass
    ... 
    Segmentation fault (core dumped)

    Python 2.1a2 (#22, Feb 10 2001, 16:15:14) 
    [GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
    Type "copyright", "credits" or "license" for more information.
    >>> def spam(a=3, (b,)=(4,)): pass
    ... 
    Segmentation fault (core dumped)


-- ?!ng

Happiness comes more from loving than being loved; and often when our
affection seems wounded it is is only our vanity bleeding. To love, and
to be hurt often, and to love again--this is the brave and happy life.
    -- J. E. Buchrose 

--8323328-2048391218-981858030=:4249
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="test_inspect.py"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.10102101820300.4249@localhost>
Content-Description: 
Content-Disposition: attachment; filename="test_inspect.py"

c291cmNlID0gJycnIyBsaW5lIDENCidBIG1vZHVsZSBkb2NzdHJpbmcuJw0K
DQppbXBvcnQgc3lzLCBpbnNwZWN0DQojIGxpbmUgNQ0KDQojIGxpbmUgNw0K
ZGVmIHNwYW0oYSwgYiwgYywgZD0zLCAoZSwgKGYsKSk9KDQsICg1LCkpLCAq
ZywgKipoKToNCiAgICBlZ2dzKGIgKyBkLCBjICsgZikNCg0KIyBsaW5lIDEx
DQpkZWYgZWdncyh4LCB5KToNCiAgICAiQSBkb2NzdHJpbmcuIg0KICAgIGds
b2JhbCBmciwgc3QNCiAgICBmciA9IGluc3BlY3QuY3VycmVudGZyYW1lKCkN
CiAgICBzdCA9IGluc3BlY3Quc3RhY2soKQ0KICAgIHAgPSB4DQogICAgcSA9
IHkgLyAwDQoNCiMgbGluZSAyMA0KY2xhc3MgU3R1cGlkR2l0Og0KICAgICIi
IkEgbG9uZ2VyLA0KDQogICAgaW5kZW50ZWQNCg0KICAgIGRvY3N0cmluZy4i
IiINCiMgbGluZSAyNw0KDQogICAgZGVmIGFidXNlKHNlbGYsIGEsIGIsIGMp
Og0KICAgICAgICAiIiJBbm90aGVyDQoNClx0ZG9jc3RyaW5nDQoNCiAgICAg
ICAgY29udGFpbmluZw0KDQpcdHRhYnMNClx0DQogICAgICAgICIiIg0KICAg
ICAgICBzZWxmLmFyZ3VlKGEsIGIsIGMpDQojIGxpbmUgNDANCiAgICBkZWYg
YXJndWUoc2VsZiwgYSwgYiwgYyk6DQogICAgICAgIHRyeToNCiAgICAgICAg
ICAgIHNwYW0oYSwgYiwgYykNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAg
ICAgc2VsZi5leCA9IHN5cy5leGNfaW5mbygpDQogICAgICAgICAgICBzZWxm
LnRyID0gaW5zcGVjdC50cmFjZSgpDQoNCiMgbGluZSA0OA0KY2xhc3MgTWFs
b2Rvcm91c1BlcnZlcnQoU3R1cGlkR2l0KToNCiAgICBwYXNzDQoNCmNsYXNz
IFBhcnJvdERyb3BwaW5nczoNCiAgICBwYXNzDQogICAgDQpjbGFzcyBGZXN0
ZXJpbmdHb2IoTWFsb2Rvcm91c1BlcnZlcnQsIFBhcnJvdERyb3BwaW5ncyk6
DQogICAgcGFzcw0KJycnDQoNCmZyb20gdGVzdF9zdXBwb3J0IGltcG9ydCBU
ZXN0RmFpbGVkLCBURVNURk4NCmltcG9ydCBzeXMsIGltcCwgb3MsIHN0cmlu
Zw0KDQpkZWYgdGVzdChhc3NlcnRpb24sIG1lc3NhZ2UsICphcmdzKToNCiAg
ICBpZiBub3QgYXNzZXJ0aW9uOg0KICAgICAgICByYWlzZSBUZXN0RmFpbGVk
LCBtZXNzYWdlICUgYXJncw0KDQppbXBvcnQgaW5zcGVjdA0KDQpmaWxlID0g
b3BlbihURVNURk4sICd3JykNCmZpbGUud3JpdGUoc291cmNlKQ0KZmlsZS5j
bG9zZSgpDQoNCm1vZCA9IGltcC5sb2FkX3NvdXJjZSgndGVzdG1vZCcsIFRF
U1RGTikNCg0KZGVmIGlzdGVzdChmdW5jLCBleHApOg0KICAgIG9iaiA9IGV2
YWwoZXhwKQ0KICAgIHRlc3QoZnVuYyhvYmopLCAnJXMoJXMpJyAlIChmdW5j
Ll9fbmFtZV9fLCBleHApKQ0KICAgIGZvciBvdGhlciBpbiBbaW5zcGVjdC5p
c2J1aWx0aW4sIGluc3BlY3QuaXNjbGFzcywgaW5zcGVjdC5pc2NvZGUsDQog
ICAgICAgICAgICAgICAgICBpbnNwZWN0LmlzZnJhbWUsIGluc3BlY3QuaXNm
dW5jdGlvbiwgaW5zcGVjdC5pc21ldGhvZCwNCiAgICAgICAgICAgICAgICAg
IGluc3BlY3QuaXNtb2R1bGUsIGluc3BlY3QuaXN0cmFjZWJhY2tdOg0KICAg
ICAgICBpZiBvdGhlciBpcyBub3QgZnVuYzoNCiAgICAgICAgICAgIHRlc3Qo
bm90IG90aGVyKG9iaiksICdub3QgJXMoJXMpJyAlIChvdGhlci5fX25hbWVf
XywgZXhwKSkNCg0KZ2l0ID0gbW9kLlN0dXBpZEdpdCgpDQp0cnk6DQogICAg
MS8wDQpleGNlcHQ6DQogICAgdGIgPSBzeXMuZXhjX3RyYWNlYmFjaw0KDQpp
c3Rlc3QoaW5zcGVjdC5pc2J1aWx0aW4sICdzeXMuZXhpdCcpDQppc3Rlc3Qo
aW5zcGVjdC5pc2J1aWx0aW4sICdbXS5hcHBlbmQnKQ0KaXN0ZXN0KGluc3Bl
Y3QuaXNjbGFzcywgJ21vZC5TdHVwaWRHaXQnKQ0KaXN0ZXN0KGluc3BlY3Qu
aXNjb2RlLCAnbW9kLnNwYW0uZnVuY19jb2RlJykNCmlzdGVzdChpbnNwZWN0
LmlzZnJhbWUsICd0Yi50Yl9mcmFtZScpDQppc3Rlc3QoaW5zcGVjdC5pc2Z1
bmN0aW9uLCAnbW9kLnNwYW0nKQ0KaXN0ZXN0KGluc3BlY3QuaXNtZXRob2Qs
ICdtb2QuU3R1cGlkR2l0LmFidXNlJykNCmlzdGVzdChpbnNwZWN0LmlzbWV0
aG9kLCAnZ2l0LmFyZ3VlJykNCmlzdGVzdChpbnNwZWN0LmlzbW9kdWxlLCAn
bW9kJykNCmlzdGVzdChpbnNwZWN0LmlzdHJhY2ViYWNrLCAndGInKQ0KDQpj
bGFzc2VzID0gaW5zcGVjdC5nZXRtZW1iZXJzKG1vZCwgaW5zcGVjdC5pc2Ns
YXNzKQ0KdGVzdChjbGFzc2VzID09DQogICAgIFsoJ0Zlc3RlcmluZ0dvYics
IG1vZC5GZXN0ZXJpbmdHb2IpLA0KICAgICAgKCdNYWxvZG9yb3VzUGVydmVy
dCcsIG1vZC5NYWxvZG9yb3VzUGVydmVydCksDQogICAgICAoJ1BhcnJvdERy
b3BwaW5ncycsIG1vZC5QYXJyb3REcm9wcGluZ3MpLA0KICAgICAgKCdTdHVw
aWRHaXQnLCBtb2QuU3R1cGlkR2l0KV0sICdjbGFzcyBsaXN0JykNCnRyZWUg
PSBpbnNwZWN0LmdldGNsYXNzdHJlZShtYXAobGFtYmRhIHg6IHhbMV0sIGNs
YXNzZXMpLCAxKQ0KdGVzdCh0cmVlID09DQogICAgIFsobW9kLlBhcnJvdERy
b3BwaW5ncywgKCkpLA0KICAgICAgKG1vZC5TdHVwaWRHaXQsICgpKSwNCiAg
ICAgIFsobW9kLk1hbG9kb3JvdXNQZXJ2ZXJ0LCAobW9kLlN0dXBpZEdpdCwp
KSwNCiAgICAgICBbKG1vZC5GZXN0ZXJpbmdHb2IsIChtb2QuTWFsb2Rvcm91
c1BlcnZlcnQsIG1vZC5QYXJyb3REcm9wcGluZ3MpKQ0KICAgICAgIF0NCiAg
ICAgIF0NCiAgICAgXSwgJ2NsYXNzIHRyZWUnKQ0KDQpmdW5jdGlvbnMgPSBp
bnNwZWN0LmdldG1lbWJlcnMobW9kLCBpbnNwZWN0LmlzZnVuY3Rpb24pDQp0
ZXN0KGZ1bmN0aW9ucyA9PSBbKCdlZ2dzJywgbW9kLmVnZ3MpLCAoJ3NwYW0n
LCBtb2Quc3BhbSldLCAnZnVuY3Rpb24gbGlzdCcpDQoNCnRlc3QoaW5zcGVj
dC5nZXRkb2MobW9kKSA9PSAnQSBtb2R1bGUgZG9jc3RyaW5nLicsICdnZXRk
b2MobW9kKScpDQp0ZXN0KGluc3BlY3QuZ2V0Y29tbWVudHMobW9kKSA9PSAn
IyBsaW5lIDFcbicsICdnZXRjb21tZW50cyhtb2QpJykNCnRlc3QoaW5zcGVj
dC5nZXRtb2R1bGUobW9kLlN0dXBpZEdpdCkgPT0gbW9kLCAnZ2V0bW9kdWxl
KG1vZC5TdHVwaWRHaXQpJykNCnRlc3QoaW5zcGVjdC5nZXRmaWxlKG1vZC5T
dHVwaWRHaXQpID09IFRFU1RGTiwgJ2dldGZpbGUobW9kLlN0dXBpZEdpdCkn
KQ0KdGVzdChpbnNwZWN0LmdldHNvdXJjZWZpbGUobW9kLnNwYW0pID09IFRF
U1RGTiwgJ2dldHNvdXJjZWZpbGUobW9kLnNwYW0pJykNCnRlc3QoaW5zcGVj
dC5nZXRzb3VyY2VmaWxlKGdpdC5hYnVzZSkgPT0gVEVTVEZOLCAnZ2V0c291
cmNlZmlsZShnaXQuYWJ1c2UpJykNCg0KZGVmIHNvdXJjZXJhbmdlKHRvcCwg
Ym90dG9tKToNCiAgICBsaW5lcyA9IHN0cmluZy5zcGxpdChzb3VyY2UsICdc
bicpDQogICAgcmV0dXJuIHN0cmluZy5qb2luKGxpbmVzW3RvcC0xOmJvdHRv
bV0sICdcbicpICsgJ1xuJw0KDQp0ZXN0KGluc3BlY3QuZ2V0c291cmNlKGdp
dC5hYnVzZSkgPT0gc291cmNlcmFuZ2UoMjksIDM5KSwNCiAgICAgJ2dldHNv
dXJjZShnaXQuYWJ1c2UpJykNCnRlc3QoaW5zcGVjdC5nZXRzb3VyY2UobW9k
LlN0dXBpZEdpdCkgPT0gc291cmNlcmFuZ2UoMjEsIDQ2KSwNCiAgICAgJ2dl
dHNvdXJjZShtb2QuU3R1cGlkR2l0KScpDQp0ZXN0KGluc3BlY3QuZ2V0ZG9j
KG1vZC5TdHVwaWRHaXQpID09DQogICAgICdBIGxvbmdlcixcblxuaW5kZW50
ZWRcblxuZG9jc3RyaW5nLicsICdnZXRkb2MobW9kLlN0dXBpZEdpdCknKQ0K
dGVzdChpbnNwZWN0LmdldGRvYyhnaXQuYWJ1c2UpID09DQogICAgICdBbm90
aGVyXG5cbmRvY3N0cmluZ1xuXG5jb250YWluaW5nXG5cbnRhYnNcblxuJywg
J2dldGRvYyhnaXQuYWJ1c2UpJykNCnRlc3QoaW5zcGVjdC5nZXRjb21tZW50
cyhtb2QuU3R1cGlkR2l0KSA9PSAnIyBsaW5lIDIwXG4nLA0KICAgICAnZ2V0
Y29tbWVudHMobW9kLlN0dXBpZEdpdCknKQ0KDQphcmdzLCB2YXJhcmdzLCB2
YXJrdywgZGVmYXVsdHMgPSBpbnNwZWN0LmdldGFyZ3NwZWMobW9kLmVnZ3Mp
DQp0ZXN0KGFyZ3MgPT0gWyd4JywgJ3knXSwgJ21vZC5lZ2dzIGFyZ3MnKQ0K
dGVzdCh2YXJhcmdzID09IE5vbmUsICdtb2QuZWdncyB2YXJhcmdzJykNCnRl
c3QodmFya3cgPT0gTm9uZSwgJ21vZC5lZ2dzIHZhcmt3JykNCnRlc3QoZGVm
YXVsdHMgPT0gTm9uZSwgJ21vZC5lZ2dzIGRlZmF1bHRzJykNCnRlc3QoaW5z
cGVjdC5mb3JtYXRhcmdzcGVjKGFyZ3MsIHZhcmFyZ3MsIHZhcmt3LCBkZWZh
dWx0cykgPT0NCiAgICAgJyh4LCB5KScsICdtb2QuZWdncyBmb3JtYXR0ZWQg
YXJnc3BlYycpDQphcmdzLCB2YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMgPSBp
bnNwZWN0LmdldGFyZ3NwZWMobW9kLnNwYW0pDQp0ZXN0KGFyZ3MgPT0gWydh
JywgJ2InLCAnYycsICdkJywgWydlJywgWydmJ11dXSwgJ21vZC5zcGFtIGFy
Z3MnKQ0KdGVzdCh2YXJhcmdzID09ICdnJywgJ21vZC5zcGFtIHZhcmFyZ3Mn
KQ0KdGVzdCh2YXJrdyA9PSAnaCcsICdtb2Quc3BhbSB2YXJrdycpDQp0ZXN0
KGRlZmF1bHRzID09ICgzLCAoNCwgKDUsKSkpLCAnbW9kLnNwYW0gZGVmYXVs
dHMnKQ0KdGVzdChpbnNwZWN0LmZvcm1hdGFyZ3NwZWMoYXJncywgdmFyYXJn
cywgdmFya3csIGRlZmF1bHRzKSA9PQ0KICAgICAnKGEsIGIsIGMsIGQ9Mywg
KGUsIChmLCkpPSg0LCAoNSwpKSwgKmcsICoqaCknLA0KICAgICAnbW9kLnNw
YW0gZm9ybWF0dGVkIGFyZ3NwZWMnKQ0KDQpnaXQuYWJ1c2UoNywgOCwgOSkN
Cg0KaXN0ZXN0KGluc3BlY3QuaXN0cmFjZWJhY2ssICdnaXQuZXhbMl0nKQ0K
aXN0ZXN0KGluc3BlY3QuaXNmcmFtZSwgJ21vZC5mcicpDQoNCnRlc3QobGVu
KGdpdC50cikgPT0gMiwgJ3RyYWNlKCkgbGVuZ3RoJykNCnRlc3QoZ2l0LnRy
WzBdWzE6XSA9PSAoJ0B0ZXN0JywgOSwgJ3NwYW0nLCBbJyAgICBlZ2dzKGIg
KyBkLCBjICsgZilcbiddLCAwKSwNCiAgICAgJ3RyYWNlKCkgcm93IDEnKQ0K
dGVzdChnaXQudHJbMV1bMTpdID09ICgnQHRlc3QnLCAxOCwgJ2VnZ3MnLCBb
JyAgICBxID0geSAvIDBcbiddLCAwKSwNCiAgICAgJ3RyYWNlKCkgcm93IDIn
KQ0KDQp0ZXN0KGxlbihtb2Quc3QpID49IDUsICdzdGFjaygpIGxlbmd0aCcp
DQp0ZXN0KG1vZC5zdFswXVsxOl0gPT0NCiAgICAgKCdAdGVzdCcsIDE2LCAn
ZWdncycsIFsnICAgIHN0ID0gaW5zcGVjdC5zdGFjaygpXG4nXSwgMCksDQog
ICAgICdzdGFjaygpIHJvdyAxJykNCnRlc3QobW9kLnN0WzFdWzE6XSA9PQ0K
ICAgICAoJ0B0ZXN0JywgOSwgJ3NwYW0nLCBbJyAgICBlZ2dzKGIgKyBkLCBj
ICsgZilcbiddLCAwKSwNCiAgICAgJ3N0YWNrKCkgcm93IDInKQ0KdGVzdCht
b2Quc3RbMl1bMTpdID09DQogICAgICgnQHRlc3QnLCA0MywgJ2FyZ3VlJywg
WycgICAgICAgICAgICBzcGFtKGEsIGIsIGMpXG4nXSwgMCksDQogICAgICdz
dGFjaygpIHJvdyAzJykNCnRlc3QobW9kLnN0WzNdWzE6XSA9PQ0KICAgICAo
J0B0ZXN0JywgMzksICdhYnVzZScsIFsnICAgICAgICBzZWxmLmFyZ3VlKGEs
IGIsIGMpXG4nXSwgMCksDQogICAgICdzdGFjaygpIHJvdyA0JykNCiMgcm93
IDQgaXMgaW4gdGVzdF9pbnNwZWN0LnB5DQoNCmFyZ3MsIHZhcmFyZ3MsIHZh
cmt3LCBsb2NhbHMgPSBpbnNwZWN0LmdldGFyZ3ZhbHVlcyhtb2QuZnIpDQp0
ZXN0KGFyZ3MgPT0gWyd4JywgJ3knXSwgJ21vZC5mciBhcmdzJykNCnRlc3Qo
dmFyYXJncyA9PSBOb25lLCAnbW9kLmZyIHZhcmFyZ3MnKQ0KdGVzdCh2YXJr
dyA9PSBOb25lLCAnbW9kLmZyIHZhcmt3JykNCnRlc3QobG9jYWxzID09IHsn
eCc6IDExLCAncCc6IDExLCAneSc6IDE0fSwgJ21vZC5mciBsb2NhbHMnKQ0K
dGVzdChpbnNwZWN0LmZvcm1hdGFyZ3ZhbHVlcyhhcmdzLCB2YXJhcmdzLCB2
YXJrdywgbG9jYWxzKSA9PQ0KICAgICAnKHg9MTEsIHk9MTQpJywgJ21vZC5m
ciBmb3JtYXR0ZWQgYXJndmFsdWVzJykNCg0KYXJncywgdmFyYXJncywgdmFy
a3csIGxvY2FscyA9IGluc3BlY3QuZ2V0YXJndmFsdWVzKG1vZC5mci5mX2Jh
Y2spDQp0ZXN0KGFyZ3MgPT0gWydhJywgJ2InLCAnYycsICdkJywgWydlJywg
WydmJ11dXSwgJ21vZC5mci5mX2JhY2sgYXJncycpDQp0ZXN0KHZhcmFyZ3Mg
PT0gJ2cnLCAnbW9kLmZyLmZfYmFjayB2YXJhcmdzJykNCnRlc3QodmFya3cg
PT0gJ2gnLCAnbW9kLmZyLmZfYmFjayB2YXJrdycpDQp0ZXN0KGluc3BlY3Qu
Zm9ybWF0YXJndmFsdWVzKGFyZ3MsIHZhcmFyZ3MsIHZhcmt3LCBsb2NhbHMp
ID09DQogICAgICcoYT03LCBiPTgsIGM9OSwgZD0zLCAoZT00LCAoZj01LCkp
LCAqZz0oKSwgKipoPXt9KScsDQogICAgICdtb2QuZnIuZl9iYWNrIGZvcm1h
dHRlZCBhcmd2YWx1ZXMnKQ0KDQpvcy51bmxpbmsoVEVTVEZOKQ0K
--8323328-2048391218-981858030=:4249
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="@test"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.10102101820301.4249@localhost>
Content-Description: 
Content-Disposition: attachment; filename="@test"

IyBsaW5lIDENCidBIG1vZHVsZSBkb2NzdHJpbmcuJw0KDQppbXBvcnQgc3lz
LCBpbnNwZWN0DQojIGxpbmUgNQ0KDQojIGxpbmUgNw0KZGVmIHNwYW0oYSwg
YiwgYywgZD0zLCAoZSwgKGYsKSk9KDQsICg1LCkpLCAqZywgKipoKToNCiAg
ICBlZ2dzKGIgKyBkLCBjICsgZikNCg0KIyBsaW5lIDExDQpkZWYgZWdncyh4
LCB5KToNCiAgICAiQSBkb2NzdHJpbmcuIg0KICAgIGdsb2JhbCBmciwgc3QN
CiAgICBmciA9IGluc3BlY3QuY3VycmVudGZyYW1lKCkNCiAgICBzdCA9IGlu
c3BlY3Quc3RhY2soKQ0KICAgIHAgPSB4DQogICAgcSA9IHkgLyAwDQoNCiMg
bGluZSAyMA0KY2xhc3MgU3R1cGlkR2l0Og0KICAgICIiIkEgbG9uZ2VyLA0K
DQogICAgaW5kZW50ZWQNCg0KICAgIGRvY3N0cmluZy4iIiINCiMgbGluZSAy
Nw0KDQogICAgZGVmIGFidXNlKHNlbGYsIGEsIGIsIGMpOg0KICAgICAgICAi
IiJBbm90aGVyDQoNCglkb2NzdHJpbmcNCg0KICAgICAgICBjb250YWluaW5n
DQoNCgl0YWJzDQoJDQogICAgICAgICIiIg0KICAgICAgICBzZWxmLmFyZ3Vl
KGEsIGIsIGMpDQojIGxpbmUgNDANCiAgICBkZWYgYXJndWUoc2VsZiwgYSwg
YiwgYyk6DQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHNwYW0oYSwgYiwg
YykNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgc2VsZi5leCA9IHN5
cy5leGNfaW5mbygpDQogICAgICAgICAgICBzZWxmLnRyID0gaW5zcGVjdC50
cmFjZSgpDQoNCiMgbGluZSA0OA0KY2xhc3MgTWFsb2Rvcm91c1BlcnZlcnQo
U3R1cGlkR2l0KToNCiAgICBwYXNzDQoNCmNsYXNzIFBhcnJvdERyb3BwaW5n
czoNCiAgICBwYXNzDQogICAgDQpjbGFzcyBGZXN0ZXJpbmdHb2IoTWFsb2Rv
cm91c1BlcnZlcnQsIFBhcnJvdERyb3BwaW5ncyk6DQogICAgcGFzcw0K
--8323328-2048391218-981858030=:4249--



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4