Feature #3930: testsuite failed in sigsegv, it aborts after rb_f_sleep
http://redmine.ruby-lang.org/issues/show/3930

Author: jojelino lastname
Status: Open, Priority: Normal
Category: core

the faulting ruby function was sleep(0.1)
gdb =

set args ruby sample/test.rb
....
cropped
---
sample/test.rb:signal
Breakpoint 1, rb_f_sleep (argc=3D0x1, argv=3D0xb900f8) at process.c:3325
3325    {
(gdb) n
3328        beg =3D time(0);
(gdb)
3329        if (argc =3D=3D 0) {
(gdb)
3328        beg =3D time(0);
(gdb) c
Continuing.
.ok 1 (sample/test.rb:1742:in `<main>')

Breakpoint 1, rb_f_sleep (argc=3D0x1, argv=3D0xb900dc) at process.c:3325
3325    {
(gdb) n
3328        beg =3D time(0);
(gdb)
3329        if (argc =3D=3D 0) {
(gdb)
3328        beg =3D time(0);
(gdb)
3329        if (argc =3D=3D 0) {
(gdb)
3332        else if (argc =3D=3D 1) {
(gdb)
3333            rb_thread_wait_for(rb_time_interval(argv[0]));
(gdb)

Program received signal SIGSEGV, Segmentation fault.
0x77b66502 in msvcrt!_abnormal_termination ()
   from /cygdrive/c/WINDOWS/system32/msvcrt.dll
(gdb)
Single stepping until exit from function msvcrt!_abnormal_termination,
which has no line number information.
0x7c968574 in ntdll!LdrEnumerateLoadedModules ()
   from /cygdrive/c/WINDOWS/system32/ntdll.dll
(gdb) bt
#0  0x7c968574 in ntdll!LdrEnumerateLoadedModules ()
   from /cygdrive/c/WINDOWS/system32/ntdll.dll
#1  0x0022f614 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

actually it halted while ruby vm interpreter increases its pc and get con=
text of this thread.


----------------------------------------
http://redmine.ruby-lang.org
CiMgVGhpcyBmaWxlIHdhcyBjcmVhdGVkIGJ5IG1rY29uZmlnLnJiIHdoZW4g
cnVieSB3YXMgYnVpbHQuICBBbnkKIyBjaGFuZ2VzIG1hZGUgdG8gdGhpcyBm
aWxlIHdpbGwgYmUgbG9zdCB0aGUgbmV4dCB0aW1lIHJ1YnkgaXMgYnVpbHQu
Cgptb2R1bGUgUmJDb25maWcKICBSVUJZX1ZFUlNJT04gPT0gIjEuOS4zIiBv
cgogICAgcmFpc2UgInJ1YnkgbGliIHZlcnNpb24gKDEuOS4zKSBkb2Vzbid0
IG1hdGNoIGV4ZWN1dGFibGUgdmVyc2lvbiAoI3tSVUJZX1ZFUlNJT059KSIK
CiAgVE9QRElSID0gRmlsZS5kaXJuYW1lKF9fRklMRV9fKS5jaG9tcCEoIi9s
aWIvcnVieS8xLjkuMS9pMzg2LW1pbmd3MzIiKQogIERFU1RESVIgPSAnL2N5
Z2RyaXZlL2QnCiAgQ09ORklHID0ge30KICBDT05GSUdbIkRFU1RESVIiXSA9
IERFU1RESVIKICBDT05GSUdbIk1BSk9SIl0gPSAiMSIKICBDT05GSUdbIk1J
Tk9SIl0gPSAiOSIKICBDT05GSUdbIlRFRU5ZIl0gPSAiMSIKICBDT05GSUdb
IlBBVENITEVWRUwiXSA9ICItMSIKICBDT05GSUdbIklOU1RBTEwiXSA9ICcv
dXNyL2Jpbi9naW5zdGFsbCAtYycKICBDT05GSUdbIkVYRUVYVCJdID0gIi5l
eGUiCiAgQ09ORklHWyJwcmVmaXgiXSA9IChUT1BESVIgfHwgREVTVERJUiAr
ICIvcnVieTIiKQogIENPTkZJR1sicnVieV9pbnN0YWxsX25hbWUiXSA9ICJy
dWJ5IgogIENPTkZJR1siUlVCWV9JTlNUQUxMX05BTUUiXSA9ICJydWJ5Igog
IENPTkZJR1siUlVCWV9TT19OQU1FIl0gPSAibXN2Y3J0LXJ1YnkxOTEiCiAg
Q09ORklHWyJQQUNLQUdFIl0gPSAicnVieSIKICBDT05GSUdbIkJVSUxUSU5f
VFJBTlNTUkNTIl0gPSAiIG5ld2xpbmUuYyIKICBDT05GSUdbIk1BTlRZUEUi
XSA9ICJkb2MiCiAgQ09ORklHWyJOUk9GRiJdID0gIi91c3IvYmluL25yb2Zm
IgogIENPTkZJR1sidmVuZG9yaGRyZGlyIl0gPSAiJChydWJ5aGRyZGlyKS92
ZW5kb3JfcnVieSIKICBDT05GSUdbInNpdGVoZHJkaXIiXSA9ICIkKHJ1Ynlo
ZHJkaXIpL3NpdGVfcnVieSIKICBDT05GSUdbInJ1YnloZHJkaXIiXSA9ICIk
KGluY2x1ZGVkaXIpLyQoUlVCWV9CQVNFX05BTUUpLSQocnVieV92ZXJzaW9u
KSIKICBDT05GSUdbIlVOSVZFUlNBTF9JTlRTIl0gPSAiIgogIENPTkZJR1si
VU5JVkVSU0FMX0FSQ0hOQU1FUyJdID0gIiIKICBDT05GSUdbImNvbmZpZ3Vy
ZV9hcmdzIl0gPSAiICctLWVuYWJsZS1sb2FkLXJlbGF0aXZlJyAnLS1ob3N0
PWk2ODYtcGMtbWluZ3czMicgJy0tdGFyZ2V0PWk2ODYtcGMtbWluZ3czMicg
Jy0tcHJlZml4PS9ydWJ5MicgJy0tZGlzYWJsZS1pbnN0YWxsLWRvYycgJy0t
d2l0aC1iYXNlcnVieT0vYmluL3J1YnknICdob3N0X2FsaWFzPWk2ODYtcGMt
bWluZ3czMicgJ3RhcmdldF9hbGlhcz1pNjg2LXBjLW1pbmd3MzInIgogIENP
TkZJR1sidmVuZG9yZGlyIl0gPSAiJChydWJ5bGlicHJlZml4KS92ZW5kb3Jf
cnVieSIKICBDT05GSUdbInNpdGVkaXIiXSA9ICIkKHJ1YnlsaWJwcmVmaXgp
L3NpdGVfcnVieSIKICBDT05GSUdbInJ1YnlfdmVyc2lvbiJdID0gIjEuOS4x
IgogIENPTkZJR1sic2l0ZWFyY2giXSA9ICJpMzg2LW1zdmNydCIKICBDT05G
SUdbImFyY2giXSA9ICJpMzg2LW1pbmd3MzIiCiAgQ09ORklHWyJSSV9CQVNF
X05BTUUiXSA9ICJyaSIKICBDT05GSUdbInJpZGlyIl0gPSAiJChkYXRhcm9v
dGRpcikvJChSSV9CQVNFX05BTUUpIgogIENPTkZJR1sicnVieWxpYnByZWZp
eCJdID0gIiQobGliZGlyKS8kKFJVQllfQkFTRV9OQU1FKSIKICBDT05GSUdb
Ik1BS0VGSUxFUyJdID0gIk1ha2VmaWxlIEdOVW1ha2VmaWxlIgogIENPTkZJ
R1siVEhSRUFEX01PREVMIl0gPSAid2luMzIiCiAgQ09ORklHWyJFWFBPUlRf
UFJFRklYIl0gPSAiICIKICBDT05GSUdbIkNPTU1PTl9IRUFERVJTIl0gPSAi
d2luc29jazIuaCB3aW5kb3dzLmgiCiAgQ09ORklHWyJDT01NT05fTUFDUk9T
Il0gPSAiIgogIENPTkZJR1siQ09NTU9OX0xJQlMiXSA9ICJtIgogIENPTkZJ
R1siTUFJTkxJQlMiXSA9ICIiCiAgQ09ORklHWyJFTkFCTEVfU0hBUkVEIl0g
PSAieWVzIgogIENPTkZJR1siRExETElCUyJdID0gIiIKICBDT05GSUdbIlNP
TElCUyJdID0gIiQoTElCUykiCiAgQ09ORklHWyJMSUJSVUJZQVJHX1NIQVJF
RCJdID0gIi1sJChSVUJZX1NPX05BTUUpIgogIENPTkZJR1siTElCUlVCWUFS
R19TVEFUSUMiXSA9ICItbCQoUlVCWV9TT19OQU1FKS1zdGF0aWMiCiAgQ09O
RklHWyJMSUJSVUJZQVJHIl0gPSAiJChMSUJSVUJZQVJHX1NIQVJFRCkiCiAg
Q09ORklHWyJMSUJSVUJZIl0gPSAibGliJChSVUJZX1NPX05BTUUpLmRsbC5h
IgogIENPTkZJR1siTElCUlVCWV9BTElBU0VTIl0gPSAiIgogIENPTkZJR1si
TElCUlVCWV9TTyJdID0gIiQoUlVCWV9TT19OQU1FKS5kbGwiCiAgQ09ORklH
WyJMSUJSVUJZX0EiXSA9ICJsaWIkKFJVQllfU09fTkFNRSktc3RhdGljLmEi
CiAgQ09ORklHWyJSVUJZV19JTlNUQUxMX05BTUUiXSA9ICIkKFJVQllXX0JB
U0VfTkFNRSkiCiAgQ09ORklHWyJydWJ5d19pbnN0YWxsX25hbWUiXSA9ICIk
KFJVQllXX0lOU1RBTExfTkFNRSkiCiAgQ09ORklHWyJMSUJSVUJZX0RMREZM
QUdTIl0gPSAiIC1ML3Vzci9saWIvdzMyYXBpIC1XbCwtLWVuYWJsZS1hdXRv
LWltYWdlLWJhc2UsLS1lbmFibGUtYXV0by1pbXBvcnQgLVdsLC0tb3V0LWlt
cGxpYj0kKExJQlJVQlkpICQoUlVCWURFRikiCiAgQ09ORklHWyJMSUJSVUJZ
X0xEU0hBUkVEIl0gPSAiJChDQykgLXNoYXJlZCAtZzMiCiAgQ09ORklHWyJ3
YXJuZmxhZ3MiXSA9ICItV2V4dHJhIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAt
V25vLXBhcmVudGhlc2VzIC1XcG9pbnRlci1hcml0aCAtV3dyaXRlLXN0cmlu
Z3MgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLWxvbmct
bG9uZyIKICBDT05GSUdbImRlYnVnZmxhZ3MiXSA9ICItZzMiCiAgQ09ORklH
WyJvcHRmbGFncyJdID0gIi1PMiAtbXRocmVhZHMgIgogIENPTkZJR1siY3h4
ZmxhZ3MiXSA9ICIgJChvcHRmbGFncykgJChkZWJ1Z2ZsYWdzKSAkKHdhcm5m
bGFncykiCiAgQ09ORklHWyJjZmxhZ3MiXSA9ICIgJChvcHRmbGFncykgJChk
ZWJ1Z2ZsYWdzKSAkKHdhcm5mbGFncykiCiAgQ09ORklHWyJjcHBmbGFncyJd
ID0gIiIKICBDT05GSUdbIklOU1RBTExET0MiXSA9ICJub2RvYyIKICBDT05G
SUdbIkNBUElUQVJHRVQiXSA9ICJub2RvYyIKICBDT05GSUdbIlJET0NUQVJH
RVQiXSA9ICJub2RvYyIKICBDT05GSUdbIkVYRUNVVEFCTEVfRVhUUyJdID0g
Ii5leGUgLmNvbSAuY21kIC5iYXQiCiAgQ09ORklHWyJBUkNIRklMRSJdID0g
IiIKICBDT05GSUdbIkVYVE9VVCJdID0gIi5leHQiCiAgQ09ORklHWyJQUkVQ
Il0gPSAibWluaXJ1YnkkKEVYRUVYVCkiCiAgQ09ORklHWyJURVNUX1JVTk5B
QkxFIl0gPSAieWVzIgogIENPTkZJR1sic2V0dXAiXSA9ICJTZXR1cCIKICBD
T05GSUdbIkVYVFNUQVRJQyJdID0gIiIKICBDT05GSUdbIlNUUklQIl0gPSAi
c3RyaXAiCiAgQ09ORklHWyJUUllfTElOSyJdID0gIiIKICBDT05GSUdbIkxJ
QlBBVEhFTlYiXSA9ICIiCiAgQ09ORklHWyJSUEFUSEZMQUciXSA9ICIiCiAg
Q09ORklHWyJMSUJQQVRIRkxBRyJdID0gIiAtTCVzIgogIENPTkZJR1siTElO
S19TTyJdID0gIiIKICBDT05GSUdbIkxJQkVYVCJdID0gImEiCiAgQ09ORklH
WyJETEVYVDIiXSA9ICIiCiAgQ09ORklHWyJETEVYVCJdID0gInNvIgogIENP
TkZJR1siTERTSEFSRURYWCJdID0gIiQoQ1hYKSAtc2hhcmVkIC1nMyIKICBD
T05GSUdbIkxEU0hBUkVEIl0gPSAiJChDQykgLXNoYXJlZCAtZzMiCiAgQ09O
RklHWyJDQ0RMRkxBR1MiXSA9ICIiCiAgQ09ORklHWyJTVEFUSUMiXSA9ICIi
CiAgQ09ORklHWyJBUkNIX0ZMQUciXSA9ICIiCiAgQ09ORklHWyJETERGTEFH
UyJdID0gIiAtTC91c3IvbGliL3czMmFwaSAtV2wsLS1lbmFibGUtYXV0by1p
bWFnZS1iYXNlLC0tZW5hYmxlLWF1dG8taW1wb3J0ICQoREVGRklMRSkiCiAg
Q09ORklHWyJBTExPQ0EiXSA9ICIiCiAgQ09ORklHWyJDSERJUiJdID0gImNk
IC1QIgogIENPTkZJR1siUk1BTEwiXSA9ICJybSAtZnIiCiAgQ09ORklHWyJS
TURJUlMiXSA9ICJybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAt
cCIKICBDT05GSUdbIlJNRElSIl0gPSAicm1kaXIgLS1pZ25vcmUtZmFpbC1v
bi1ub24tZW1wdHkiCiAgQ09ORklHWyJDUCJdID0gImNwIgogIENPTkZJR1si
Uk0iXSA9ICJybSAtZiIKICBDT05GSUdbIkRPWFlHRU4iXSA9ICJkb3h5Z2Vu
IgogIENPTkZJR1siRE9UIl0gPSAiZG90IgogIENPTkZJR1siTUFLRURJUlMi
XSA9ICIvdXNyL2Jpbi9ta2RpciAtcCIKICBDT05GSUdbIk1LRElSX1AiXSA9
ICIvdXNyL2Jpbi9ta2RpciAtcCIKICBDT05GSUdbIklOU1RBTExfREFUQSJd
ID0gIiQoSU5TVEFMTCkgLW0gNjQ0IgogIENPTkZJR1siSU5TVEFMTF9TQ1JJ
UFQiXSA9ICIkKElOU1RBTEwpIgogIENPTkZJR1siSU5TVEFMTF9QUk9HUkFN
Il0gPSAiJChJTlNUQUxMKSIKICBDT05GSUdbIlNFVF9NQUtFIl0gPSAiIgog
IENPTkZJR1siTE5fUyJdID0gImxuIC1zIgogIENPTkZJR1siRExMV1JBUCJd
ID0gImRsbHdyYXAiCiAgQ09ORklHWyJXSU5EUkVTIl0gPSAid2luZHJlcyIK
ICBDT05GSUdbIk5NIl0gPSAibm0iCiAgQ09ORklHWyJPQkpDT1BZIl0gPSAi
OiIKICBDT05GSUdbIk9CSkRVTVAiXSA9ICJvYmpkdW1wIgogIENPTkZJR1si
QVNGTEFHUyJdID0gIiIKICBDT05GSUdbIkFTIl0gPSAiYXMiCiAgQ09ORklH
WyJBUiJdID0gImFyIgogIENPTkZJR1siUkFOTElCIl0gPSAicmFubGliIgog
IENPTkZJR1sidHJ5X2hlYWRlciJdID0gIiIKICBDT05GSUdbIkNPVVRGTEFH
Il0gPSAiLW8gIgogIENPTkZJR1siT1VURkxBRyJdID0gIi1vICIKICBDT05G
SUdbIkNQUE9VVEZJTEUiXSA9ICItbyBjb25mdGVzdC5pIgogIENPTkZJR1si
R05VX0xEIl0gPSAieWVzIgogIENPTkZJR1siR0NDIl0gPSAieWVzIgogIENP
TkZJR1siRUdSRVAiXSA9ICIvdXNyL2Jpbi9ncmVwIC1FIgogIENPTkZJR1si
R1JFUCJdID0gIi91c3IvYmluL2dyZXAiCiAgQ09ORklHWyJDUFAiXSA9ICIk
KENDKSAtRSIKICBDT05GSUdbIkNYWEZMQUdTIl0gPSAiJChjeHhmbGFncyki
CiAgQ09ORklHWyJDWFgiXSA9ICJpNjg2LXBjLW1pbmd3MzItZysrIgogIENP
TkZJR1siT0JKRVhUIl0gPSAibyIKICBDT05GSUdbIkNQUEZMQUdTIl0gPSAi
ICQoREVGUykgJChjcHBmbGFncykiCiAgQ09ORklHWyJMREZMQUdTIl0gPSAi
LUwuICIKICBDT05GSUdbIkNGTEFHUyJdID0gIiQoY2ZsYWdzKSIKICBDT05G
SUdbIkNDIl0gPSAiaTY4Ni1wYy1taW5ndzMyLWdjYyIKICBDT05GSUdbInRh
cmdldF9vcyJdID0gIm1pbmd3MzIiCiAgQ09ORklHWyJ0YXJnZXRfdmVuZG9y
Il0gPSAicGMiCiAgQ09ORklHWyJ0YXJnZXRfY3B1Il0gPSAiaTM4NiIKICBD
T05GSUdbInRhcmdldCJdID0gImkzODYtcGMtbWluZ3czMiIKICBDT05GSUdb
Imhvc3Rfb3MiXSA9ICJtaW5ndzMyIgogIENPTkZJR1siaG9zdF92ZW5kb3Ii
XSA9ICJwYyIKICBDT05GSUdbImhvc3RfY3B1Il0gPSAiaTY4NiIKICBDT05G
SUdbImhvc3QiXSA9ICJpNjg2LXBjLW1pbmd3MzIiCiAgQ09ORklHWyJidWls
ZF9vcyJdID0gImN5Z3dpbiIKICBDT05GSUdbImJ1aWxkX3ZlbmRvciJdID0g
InBjIgogIENPTkZJR1siYnVpbGRfY3B1Il0gPSAiaTY4NiIKICBDT05GSUdb
ImJ1aWxkIl0gPSAiaTY4Ni1wYy1jeWd3aW4iCiAgQ09ORklHWyJSVUJZV19C
QVNFX05BTUUiXSA9ICJydWJ5dyIKICBDT05GSUdbIlJVQllfQkFTRV9OQU1F
Il0gPSAicnVieSIKICBDT05GSUdbIlJVQllfUkVMRUFTRV9EQVRFIl0gPSAi
MjAxMC0xMC0xMSIKICBDT05GSUdbIlJVQllfUFJPR1JBTV9WRVJTSU9OIl0g
PSAiMS45LjMiCiAgQ09ORklHWyJCQVNFUlVCWSJdID0gIi91c3IvYmluL3J1
YnkiCiAgQ09ORklHWyJ0YXJnZXRfYWxpYXMiXSA9ICJpMzg2LXBjLW1pbmd3
MzIiCiAgQ09ORklHWyJob3N0X2FsaWFzIl0gPSAiaTY4Ni1wYy1taW5ndzMy
IgogIENPTkZJR1siYnVpbGRfYWxpYXMiXSA9ICIiCiAgQ09ORklHWyJMSUJT
Il0gPSAiLWxzaGVsbDMyIC1sd3MyXzMyIC1saW1hZ2VobHAgIgogIENPTkZJ
R1siRUNIT19UIl0gPSAiIgogIENPTkZJR1siRUNIT19OIl0gPSAiLW4iCiAg
Q09ORklHWyJFQ0hPX0MiXSA9ICIiCiAgQ09ORklHWyJERUZTIl0gPSAiIgog
IENPTkZJR1sibWFuZGlyIl0gPSAiJChkYXRhcm9vdGRpcikvbWFuIgogIENP
TkZJR1sibG9jYWxlZGlyIl0gPSAiJChkYXRhcm9vdGRpcikvbG9jYWxlIgog
IENPTkZJR1sibGliZGlyIl0gPSAiJChleGVjX3ByZWZpeCkvbGliIgogIENP
TkZJR1sicHNkaXIiXSA9ICIkKGRvY2RpcikiCiAgQ09ORklHWyJwZGZkaXIi
XSA9ICIkKGRvY2RpcikiCiAgQ09ORklHWyJkdmlkaXIiXSA9ICIkKGRvY2Rp
cikiCiAgQ09ORklHWyJodG1sZGlyIl0gPSAiJChkb2NkaXIpIgogIENPTkZJ
R1siaW5mb2RpciJdID0gIiQoZGF0YXJvb3RkaXIpL2luZm8iCiAgQ09ORklH
WyJkb2NkaXIiXSA9ICIkKGRhdGFyb290ZGlyKS9kb2MvJChQQUNLQUdFKSIK
ICBDT05GSUdbIm9sZGluY2x1ZGVkaXIiXSA9ICIvdXNyL2luY2x1ZGUiCiAg
Q09ORklHWyJpbmNsdWRlZGlyIl0gPSAiJChwcmVmaXgpL2luY2x1ZGUiCiAg
Q09ORklHWyJsb2NhbHN0YXRlZGlyIl0gPSAiJChwcmVmaXgpL3ZhciIKICBD
T05GSUdbInNoYXJlZHN0YXRlZGlyIl0gPSAiJChwcmVmaXgpL2NvbSIKICBD
T05GSUdbInN5c2NvbmZkaXIiXSA9ICIkKHByZWZpeCkvZXRjIgogIENPTkZJ
R1siZGF0YWRpciJdID0gIiQoZGF0YXJvb3RkaXIpIgogIENPTkZJR1siZGF0
YXJvb3RkaXIiXSA9ICIkKHByZWZpeCkvc2hhcmUiCiAgQ09ORklHWyJsaWJl
eGVjZGlyIl0gPSAiJChleGVjX3ByZWZpeCkvbGliZXhlYyIKICBDT05GSUdb
InNiaW5kaXIiXSA9ICIkKGV4ZWNfcHJlZml4KS9zYmluIgogIENPTkZJR1si
YmluZGlyIl0gPSAiJChleGVjX3ByZWZpeCkvYmluIgogIENPTkZJR1siZXhl
Y19wcmVmaXgiXSA9ICIkKHByZWZpeCkiCiAgQ09ORklHWyJQQUNLQUdFX1VS
TCJdID0gIiIKICBDT05GSUdbIlBBQ0tBR0VfQlVHUkVQT1JUIl0gPSAiIgog
IENPTkZJR1siUEFDS0FHRV9TVFJJTkciXSA9ICIiCiAgQ09ORklHWyJQQUNL
QUdFX1ZFUlNJT04iXSA9ICIiCiAgQ09ORklHWyJQQUNLQUdFX1RBUk5BTUUi
XSA9ICIiCiAgQ09ORklHWyJQQUNLQUdFX05BTUUiXSA9ICIiCiAgQ09ORklH
WyJQQVRIX1NFUEFSQVRPUiJdID0gIjoiCiAgQ09ORklHWyJTSEVMTCJdID0g
Ii9iaW4vc2giCiAgQ09ORklHWyJydWJ5bGliZGlyIl0gPSAiJChydWJ5bGli
cHJlZml4KS8kKHJ1YnlfdmVyc2lvbikiCiAgQ09ORklHWyJhcmNoZGlyIl0g
PSAiJChydWJ5bGliZGlyKS8kKGFyY2gpIgogIENPTkZJR1sic2l0ZWxpYmRp
ciJdID0gIiQoc2l0ZWRpcikvJChydWJ5X3ZlcnNpb24pIgogIENPTkZJR1si
c2l0ZWFyY2hkaXIiXSA9ICIkKHNpdGVsaWJkaXIpLyQoc2l0ZWFyY2gpIgog
IENPTkZJR1sidmVuZG9ybGliZGlyIl0gPSAiJCh2ZW5kb3JkaXIpLyQocnVi
eV92ZXJzaW9uKSIKICBDT05GSUdbInZlbmRvcmFyY2hkaXIiXSA9ICIkKHZl
bmRvcmxpYmRpcikvJChzaXRlYXJjaCkiCiAgQ09ORklHWyJ0b3BkaXIiXSA9
IEZpbGUuZGlybmFtZShfX0ZJTEVfXykKICBNQUtFRklMRV9DT05GSUcgPSB7
fQogIENPTkZJRy5lYWNoe3xrLHZ8IE1BS0VGSUxFX0NPTkZJR1trXSA9IHYu
ZHVwfQogIGRlZiBSYkNvbmZpZzo6ZXhwYW5kKHZhbCwgY29uZmlnID0gQ09O
RklHKQogICAgbmV3dmFsID0gdmFsLmdzdWIoL1wkXCR8XCRcKChbXigpXSsp
XCl8XCRceyhbXnt9XSspXH0vKSB7CiAgICAgIHZhciA9ICQmCiAgICAgIGlm
ICEodiA9ICQxIHx8ICQyKQoJJyQnCiAgICAgIGVsc2lmIGtleSA9IGNvbmZp
Z1t2ID0gdlsvXEFbXjpdKyg/PSg/OjooLio/KT0oLiopKT9ceikvXV0KCXBh
dCwgc3ViID0gJDEsICQyCgljb25maWdbdl0gPSBmYWxzZQoJY29uZmlnW3Zd
ID0gUmJDb25maWc6OmV4cGFuZChrZXksIGNvbmZpZykKCWtleSA9IGtleS5n
c3ViKC8je1JlZ2V4cC5xdW90ZShwYXQpfSg/PVxzfFx6KS9uKSB7c3VifSBp
ZiBwYXQKCWtleQogICAgICBlbHNlCgl2YXIKICAgICAgZW5kCiAgICB9CiAg
ICB2YWwucmVwbGFjZShuZXd2YWwpIHVubGVzcyBuZXd2YWwgPT0gdmFsCiAg
ICB2YWwKICBlbmQKICBDT05GSUcuZWFjaF92YWx1ZSBkbyB8dmFsfAogICAg
UmJDb25maWc6OmV4cGFuZCh2YWwpCiAgZW5kCgogICMgcmV0dXJucyB0aGUg
YWJzb2x1dGUgcGF0aG5hbWUgb2YgdGhlIHJ1YnkgY29tbWFuZC4KICBkZWYg
UmJDb25maWcucnVieQogICAgRmlsZS5qb2luKAogICAgICBSYkNvbmZpZzo6
Q09ORklHWyJiaW5kaXIiXSwKICAgICAgUmJDb25maWc6OkNPTkZJR1sicnVi
eV9pbnN0YWxsX25hbWUiXSArIFJiQ29uZmlnOjpDT05GSUdbIkVYRUVYVCJd
CiAgICApCiAgZW5kCmVuZAphdXRvbG9hZCA6Q29uZmlnLCAicmJjb25maWcv
b2Jzb2xldGUucmIiICMgY29tcGF0aWJpbGl0eSBmb3IgcnVieS0xLjguNCBh
bmQgb2xkZXIuCkNST1NTX0NPTVBJTElORyA9IG5pbCB1bmxlc3MgZGVmaW5l
ZD8gQ1JPU1NfQ09NUElMSU5HCg==