Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 May 2010 16:04:07 +0200
From:      Giovanni Trematerra <giovanni.trematerra@gmail.com>
To:        Brandon Gooch <jamesbrandongooch@gmail.com>
Cc:        Attilio Rao <attilio@freebsd.org>, David DEMELIER <demelier.david@gmail.com>, freebsd-acpi@freebsd.org, freebsd-stable@freebsd.org
Subject:   Re: Kernel panic when unpluggin AC adaptor
Message-ID:  <AANLkTil5qkn1PFSoss1A7HTuYDh9Dfab7XfxIuBWylNG@mail.gmail.com>
In-Reply-To: <AANLkTin6awXSstytBRuEHxK22YZlGZ_ry5M9oNzhrZ5c@mail.gmail.com>
References:  <4DEBDE2C-C0D2-469D-AC42-DD5027926424@FreeBSD.org> <1273257226.1671.3.camel@malikania.fr> <AANLkTilcNzzLt2GUPbL_Vqjspzx5a-oem1oZpKAYqoN8@mail.gmail.com> <AANLkTilq-j6y4QDwZScs0RVkHoZ9pUDk21quc36VIO1T@mail.gmail.com> <AANLkTimHK_Ho1qfoLO35GuxUFLLUux6CUNnIFxvMywIN@mail.gmail.com> <AANLkTiku4rZ0kuOC2ZWo11Sq_jhZSiMhDJDvLKyR0r4R@mail.gmail.com> <l2w3bbf2fe11005120741h4b3fdafape563a973a939bbe8@mail.gmail.com> <AANLkTim6vVdVFPRwZJk7hRfOSYMjMQyfjbfwG3t9uTsW@mail.gmail.com> <AANLkTin3IucElH1cBEW8uGXRmetLvMeTx5GWzq3fjrz0@mail.gmail.com> <AANLkTin6awXSstytBRuEHxK22YZlGZ_ry5M9oNzhrZ5c@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000e0ce07e9e9e15430486ded055
Content-Type: text/plain; charset=ISO-8859-1

On Sat, May 15, 2010 at 9:12 PM, Brandon Gooch
<jamesbrandongooch@gmail.com> wrote:
> On Thu, May 13, 2010 at 7:25 PM, Giovanni Trematerra
> <giovanni.trematerra@gmail.com> wrote:
>> On Thu, May 13, 2010 at 1:09 AM, Brandon Gooch
>> <jamesbrandongooch@gmail.com> wrote:
>>> On Wed, May 12, 2010 at 9:41 AM, Attilio Rao <attilio@freebsd.org> wrote:
>>>> 2010/5/12 David DEMELIER <demelier.david@gmail.com>:
>>>>> I remove the patch, and built the kernel (I updated the src this
>>>>> morning) and it does not panic now. It's really odd. If it reappears
>>>>> soon I will tell you.
>>>>
>>>> I looked at the code with Giovanni and I have the feeling that the
>>>> race with the idle thread may still be fatal.
>>>> We need to fix that.
>>>>
>>>> Attilio
>>>>
>>>
>>> That seems to be the case, as my laptop shows about an 80-85 % chance
>>> of experiencing a panic if left idle for long-ish periods of time (2
>>> to 4 hours). I usually rebuild world or big ports overnight, and more
>>> often than not I wake up to a panicked machine, same situation every
>>> time:
>>>
>>> ...
>>> rman_get_bushandle() at rman_get_bushandle+0x1
>>> sched_idletd() at sched_idletd+0x123
>>> fork_exit() at fork_exit+0x12a
>>> fork_trampoline() at fork_trampoline+0xe
>>> ...
>>>
>>> The kernel/userland is rebuilt, the ports are finished compiling --
>>> it's in the time AFTER the completion of all tasks that the machine
>>> gets bored and tries to kill itself :)
>>>
>>> I have seen the AC adapter plug/unplug "hang" in the past on this
>>> laptop, but I never made the connection between the events, as
>>> nowadays my laptop usually stays plugged in :(
>>>
>>> Attilio, I hope you can track this one down, let me know if I can do
>>> anything to help or test...
>>>
>>
>> Attilio and I came up with this patch. It seems ready for stress
>> testing and review
>> Please test and report back.
>>
>> Thank you
>>
>> P.S: all the faults are only mine.
>
> I tried the patch, and my kernel panics I panic on boot. I have
> 8.5MB(!) of JPG images (6 of them) if anyone needs to see them. I'm
> looking for a place to post them, but if anyone wants, I can send via
> e-mail...

Hi Brandon,
Could you please, try this new one? The panic at boot stage should be solved,
at least I tried on a 8-way machine and all went ok at boot.
Please, remove WITNESS_SKIPSPIN from your kernel config file.
This patch might be sub-optimal and contains style(9) error but if it
works we are
on the right way.
Let me know if it works for you.

Thanks

--
Gianni

--000e0ce07e9e9e15430486ded055
Content-Type: text/plain; charset=US-ASCII; name="acpi_idle5.diff.txt"
Content-Disposition: attachment; filename="acpi_idle5.diff.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g9csbpza0

ZGlmZiAtciBkN2QwZTA0ZjQyZTMgc3lzL2Rldi9hY3BpY2EvYWNwaV9jcHUuYwotLS0gYS9zeXMv
ZGV2L2FjcGljYS9hY3BpX2NwdS5jCVdlZCBNYXkgMTIgMDQ6MDE6NTYgMjAxMCArMDIwMAorKysg
Yi9zeXMvZGV2L2FjcGljYS9hY3BpX2NwdS5jCU1vbiBNYXkgMTcgMDk6MjE6MjUgMjAxMCArMDIw
MApAQCAtODgsNiArODgsOCBAQCBzdHJ1Y3QgYWNwaV9jcHVfc29mdGMgewogICAgIGludAkJCSBj
cHVfY3hfbG93ZXN0OwogICAgIGNoYXIgCQkgY3B1X2N4X3N1cHBvcnRlZFs2NF07CiAgICAgaW50
CQkJIGNwdV9yaWQ7CisJc3RydWN0IG10eAkgY3B1X2xvY2s7CisJaW50CQkJIGNwdV9kaXNhYmxl
X2lkbGU7CiB9OwogCiBzdHJ1Y3QgYWNwaV9jcHVfZGV2aWNlIHsKQEAgLTEwMCw2ICsxMDIsMTAg
QEAgc3RydWN0IGFjcGlfY3B1X2RldmljZSB7CiAjZGVmaW5lIENQVV9TRVRfUkVHKHJlZywgd2lk
dGgsIHZhbCkJCQkJCVwKICAgICAoYnVzX3NwYWNlX3dyaXRlXyAjIyB3aWR0aChybWFuX2dldF9i
dXN0YWcoKHJlZykpLCAJCQlcCiAJCSAgICAgICBybWFuX2dldF9idXNoYW5kbGUoKHJlZykpLCAw
LCAodmFsKSkpCisjZGVmaW5lIEFDUElfQ1BVX0xPQ0soc2MpIFwKKwltdHhfbG9ja19zcGluKCZz
Yy0+Y3B1X2xvY2spCisjZGVmaW5lIEFDUElfQ1BVX1VOTE9DSyhzYykgXAorCW10eF91bmxvY2tf
c3Bpbigmc2MtPmNwdV9sb2NrKQogCiAjZGVmaW5lIFBNX1VTRUMoeCkJICgoeCkgPj4gMikJLyog
fjQgY2xvY2tzIHBlciB1c2VjICgzLjU3OTU1IE1oeikgKi8KIApAQCAtMTI3LDcgKzEzMyw2IEBA
IHN0YXRpYyB1aW50OF90CQkgY3B1X2NzdF9jbnQ7CS8qIEluZGljYXQKIHN0YXRpYyBpbnQJCSBj
cHVfcXVpcmtzOwkvKiBJbmRpY2F0ZSBhbnkgaGFyZHdhcmUgYnVncy4gKi8KIAogLyogUnVudGlt
ZSBzdGF0ZS4gKi8KLXN0YXRpYyBpbnQJCSBjcHVfZGlzYWJsZV9pZGxlOyAvKiBEaXNhYmxlIGVu
dHJ5IHRvIGlkbGUgZnVuY3Rpb24gKi8KIHN0YXRpYyBpbnQJCSBjcHVfY3hfY291bnQ7CS8qIE51
bWJlciBvZiB2YWxpZCBDeCBzdGF0ZXMgKi8KIAogLyogVmFsdWVzIGZvciBzeXNjdGwuICovCkBA
IC0yODQsNiArMjg5LDcgQEAgYWNwaV9jcHVfYXR0YWNoKGRldmljZV90IGRldikKICAgICBBQ1BJ
X0ZVTkNUSU9OX1RSQUNFKChjaGFyICopKHVpbnRwdHJfdClfX2Z1bmNfXyk7CiAKICAgICBzYyA9
IGRldmljZV9nZXRfc29mdGMoZGV2KTsKKwltdHhfaW5pdCgmc2MtPmNwdV9sb2NrLCAibnRmbGNr
IiwgTlVMTCwgTVRYX1NQSU4pOwogICAgIHNjLT5jcHVfZGV2ID0gZGV2OwogICAgIHNjLT5jcHVf
aGFuZGxlID0gYWNwaV9nZXRfaGFuZGxlKGRldik7CiAgICAgY3B1X2lkID0gKGludCkoaW50cHRy
X3QpYWNwaV9nZXRfcHJpdmF0ZShkZXYpOwpAQCAtNDA5LDI3ICs0MTUsMzAgQEAgYWNwaV9jcHVf
cG9zdGF0dGFjaCh2b2lkICp1bnVzZWQgX191bnVzZQogU1lTSU5JVChhY3BpX2NwdSwgU0lfU1VC
X0NPTkZJR1VSRSwgU0lfT1JERVJfTUlERExFLAogICAgIGFjcGlfY3B1X3Bvc3RhdHRhY2gsIE5V
TEwpOwogCi0vKgotICogRGlzYWJsZSBhbnkgZW50cnkgdG8gdGhlIGlkbGUgZnVuY3Rpb24gZHVy
aW5nIHN1c3BlbmQgYW5kIHJlLWVuYWJsZSBpdAotICogZHVyaW5nIHJlc3VtZS4KLSAqLwogc3Rh
dGljIGludAogYWNwaV9jcHVfc3VzcGVuZChkZXZpY2VfdCBkZXYpCiB7CisgICAgc3RydWN0IGFj
cGlfY3B1X3NvZnRjICpzYzsKICAgICBpbnQgZXJyb3I7CiAKKyAgICBzYyA9IGRldmljZV9nZXRf
c29mdGMoZGV2KTsKICAgICBlcnJvciA9IGJ1c19nZW5lcmljX3N1c3BlbmQoZGV2KTsKICAgICBp
ZiAoZXJyb3IpCiAJcmV0dXJuIChlcnJvcik7Ci0gICAgY3B1X2Rpc2FibGVfaWRsZSA9IFRSVUU7
CisJQUNQSV9DUFVfTE9DSyhzYyk7CisgICAgc2MtPmNwdV9kaXNhYmxlX2lkbGUgPSBUUlVFOwor
CUFDUElfQ1BVX1VOTE9DSyhzYyk7CisKICAgICByZXR1cm4gKDApOwogfQogCiBzdGF0aWMgaW50
CiBhY3BpX2NwdV9yZXN1bWUoZGV2aWNlX3QgZGV2KQogeworICAgIHN0cnVjdCBhY3BpX2NwdV9z
b2Z0YyAqc2M7CiAKLSAgICBjcHVfZGlzYWJsZV9pZGxlID0gRkFMU0U7CisgICAgc2MgPSBkZXZp
Y2VfZ2V0X3NvZnRjKGRldik7CisgICAgc2MtPmNwdV9kaXNhYmxlX2lkbGUgPSBGQUxTRTsKICAg
ICByZXR1cm4gKGJ1c19nZW5lcmljX3Jlc3VtZShkZXYpKTsKIH0KIApAQCAtNTIzLDE2ICs1MzIs
MTYgQEAgYWNwaV9jcHVfc2h1dGRvd24oZGV2aWNlX3QgZGV2KQogewogICAgIEFDUElfRlVOQ1RJ
T05fVFJBQ0UoKGNoYXIgKikodWludHB0cl90KV9fZnVuY19fKTsKIAorICAgIHN0cnVjdCBhY3Bp
X2NwdV9zb2Z0YyAqc2M7CisKKyAgICBzYyA9IGRldmljZV9nZXRfc29mdGMoZGV2KTsKKwogICAg
IC8qIEFsbG93IGNoaWxkcmVuIHRvIHNodXRkb3duIGZpcnN0LiAqLwogICAgIGJ1c19nZW5lcmlj
X3NodXRkb3duKGRldik7CiAKLSAgICAvKgotICAgICAqIERpc2FibGUgYW55IGVudHJ5IHRvIHRo
ZSBpZGxlIGZ1bmN0aW9uLiAgVGhlcmUgaXMgYSBzbWFsbCByYWNlIHdoZXJlCi0gICAgICogYW4g
aWRsZSB0aHJlYWQgaGF2ZSBwYXNzZWQgdGhpcyBjaGVjayBidXQgbm90IGdvbmUgdG8gc2xlZXAu
ICBUaGlzCi0gICAgICogaXMgb2sgc2luY2UgZGV2aWNlX3NodXRkb3duKCkgZG9lcyBub3QgZnJl
ZSB0aGUgc29mdGMsIG90aGVyd2lzZQotICAgICAqIHdlJ2QgaGF2ZSB0byBiZSBzdXJlIGFsbCB0
aHJlYWRzIHdlcmUgZXZpY3RlZCBiZWZvcmUgcmV0dXJuaW5nLgotICAgICAqLwotICAgIGNwdV9k
aXNhYmxlX2lkbGUgPSBUUlVFOworCUFDUElfQ1BVX0xPQ0soc2MpOworICAgIHNjLT5jcHVfZGlz
YWJsZV9pZGxlID0gVFJVRTsKKwlBQ1BJX0NQVV9VTkxPQ0soc2MpOwogCiAgICAgcmV0dXJuX1ZB
TFVFICgwKTsKIH0KQEAgLTYwOSw3ICs2MTgsOSBAQCBhY3BpX2NwdV9nZW5lcmljX2N4X3Byb2Jl
KHN0cnVjdCBhY3BpX2NwCiAJICAgIGN4X3B0ci0+dHJhbnNfbGF0ID0gQWNwaUdibF9GQURULkMy
TGF0ZW5jeTsKIAkgICAgY3hfcHRyKys7CiAJICAgIHNjLT5jcHVfY3hfY291bnQrKzsKLQl9CisJ
fSBlbHNlCisJCXBhbmljKCIlczogQ2Fubm90IGFsbG9jYXRlIHJlc291cmNlICVkIGZvciBDMyBz
dGF0ZSIsIF9fZnVuY19fLCAKKwkJICAgIGN4X3B0ci0+cmVzX3R5cGUpOwogICAgIH0KICAgICBp
ZiAoc2MtPmNwdV9wX2Jsa19sZW4gPCA2KQogCXJldHVybjsKQEAgLTYyNSw3ICs2MzYsOSBAQCBh
Y3BpX2NwdV9nZW5lcmljX2N4X3Byb2JlKHN0cnVjdCBhY3BpX2NwCiAJICAgIGN4X3B0ci0+dHJh
bnNfbGF0ID0gQWNwaUdibF9GQURULkMzTGF0ZW5jeTsKIAkgICAgY3hfcHRyKys7CiAJICAgIHNj
LT5jcHVfY3hfY291bnQrKzsKLQl9CisJfSBlbHNlCisJCXBhbmljKCIlczogQ2Fubm90IGFsbG9j
YXRlIHJlc291cmNlICVkIGZvciBDMyBzdGF0ZSIsIF9fZnVuY19fLCAKKwkJICAgIGN4X3B0ci0+
cmVzX3R5cGUpOwogICAgIH0KIH0KIApAQCAtNjM3LDEzICs2NTAsMTQgQEAgYWNwaV9jcHVfZ2Vu
ZXJpY19jeF9wcm9iZShzdHJ1Y3QgYWNwaV9jcAogc3RhdGljIGludAogYWNwaV9jcHVfY3hfY3N0
KHN0cnVjdCBhY3BpX2NwdV9zb2Z0YyAqc2MpCiB7CisgICAgc3RydWN0IAkgcmVzb3VyY2UgKmx2
bHg7CiAgICAgc3RydWN0CSBhY3BpX2N4ICpjeF9wdHI7CiAgICAgQUNQSV9TVEFUVVMJIHN0YXR1
czsKICAgICBBQ1BJX0JVRkZFUgkgYnVmOwogICAgIEFDUElfT0JKRUNUCSp0b3A7CiAgICAgQUNQ
SV9PQkpFQ1QJKnBrZzsKICAgICB1aW50MzJfdAkgY291bnQ7Ci0gICAgaW50CQkgaTsKKyAgICBp
bnQJCSBpLCB0eXBlLCByaWQ7CiAKICAgICBBQ1BJX0ZVTkNUSU9OX1RSQUNFKChjaGFyICopKHVp
bnRwdHJfdClfX2Z1bmNfXyk7CiAKQEAgLTcyMiw4ICs3MzYsMTggQEAgYWNwaV9jcHVfY3hfY3N0
KHN0cnVjdCBhY3BpX2NwdV9zb2Z0YyAqcwogI2VuZGlmCiAKIAkvKiBBbGxvY2F0ZSB0aGUgY29u
dHJvbCByZWdpc3RlciBmb3IgQzIgb3IgQzMuICovCi0JYWNwaV9Qa2dHYXMoc2MtPmNwdV9kZXYs
IHBrZywgMCwgJmN4X3B0ci0+cmVzX3R5cGUsICZzYy0+Y3B1X3JpZCwKLQkgICAgJmN4X3B0ci0+
cF9sdmx4LCBSRl9TSEFSRUFCTEUpOworCWFjcGlfUGtnR2FzKHNjLT5jcHVfZGV2LCBwa2csIDAs
ICZ0eXBlLCAmcmlkLAorCSAgICAmbHZseCwgUkZfU0hBUkVBQkxFKTsKKwlBQ1BJX0NQVV9MT0NL
KHNjKTsKKworCS8qIAorCSAqICBpZiB5b3UgY2Fubm90IGFsbG9jYXRlIHRoZSBjb250cm9sIHJl
Z2lzdGVyIHlvdSBuZWVkIHRvIHN0b3AKKwkgKiAgdGhlIGFjcGlfY3B1X2lkbGUgaG9vay4KKwkg
Ki8KKwlzYy0+Y3B1X2Rpc2FibGVfaWRsZSA9IChsdmx4ID09IE5VTEwpID8gVFJVRSA6IEZBTFNF
OworCXNjLT5jcHVfcmlkICAJID0gcmlkOworCWN4X3B0ci0+cF9sdmx4ICAgPSBsdmx4OworCWN4
X3B0ci0+cmVzX3R5cGUgPSB0eXBlOwogCWlmIChjeF9wdHItPnBfbHZseCkgewogCSAgICBzYy0+
Y3B1X3JpZCsrOwogCSAgICBBQ1BJX0RFQlVHX1BSSU5UKChBQ1BJX0RCX0lORk8sCkBAIC03MzIs
NyArNzU2LDEwIEBAIGFjcGlfY3B1X2N4X2NzdChzdHJ1Y3QgYWNwaV9jcHVfc29mdGMgKnMKIAkJ
CSAgICAgY3hfcHRyLT50cmFuc19sYXQpKTsKIAkgICAgY3hfcHRyKys7CiAJICAgIHNjLT5jcHVf
Y3hfY291bnQrKzsKLQl9CisJfSBlbHNlCisJCWRldmljZV9wcmludGYoc2MtPmNwdV9kZXYsICJj
YW5ub3QgYWxsb2NhdGUgY29udHJvbCByZWdpc3RlciIKKwkJICAgICIgZm9yIEMyIG8gQzMuIik7
CisJQUNQSV9DUFVfVU5MT0NLKHNjKTsKICAgICB9CiAgICAgQWNwaU9zRnJlZShidWYuUG9pbnRl
cik7CiAKQEAgLTgxMyw3ICs4NDAsMTAgQEAgYWNwaV9jcHVfc3RhcnR1cCh2b2lkICphcmcpCiAK
ICAgICAvKiBUYWtlIG92ZXIgaWRsaW5nIGZyb20gY3B1X2lkbGVfZGVmYXVsdCgpLiAqLwogICAg
IGNwdV9jeF9sb3dlc3QgPSAwOwotICAgIGNwdV9kaXNhYmxlX2lkbGUgPSBGQUxTRTsKKwlmb3Ig
KGkgPSAwOyBpIDwgY3B1X25kZXZpY2VzOyBpKyspIHsKKwkgICAgc2MgPSBkZXZpY2VfZ2V0X3Nv
ZnRjKGNwdV9kZXZpY2VzW2ldKTsKKyAgICAJc2MtPmNwdV9kaXNhYmxlX2lkbGUgPSBGQUxTRTsK
Kwl9CiAgICAgY3B1X2lkbGVfaG9vayA9IGFjcGlfY3B1X2lkbGU7CiB9CiAKQEAgLTg4MywxMSAr
OTEzLDYgQEAgYWNwaV9jcHVfaWRsZSgpCiAgICAgdWludDMyX3QJc3RhcnRfdGltZSwgZW5kX3Rp
bWU7CiAgICAgaW50CQlibV9hY3RpdmUsIGN4X25leHRfaWR4LCBpOwogCi0gICAgLyogSWYgZGlz
YWJsZWQsIHJldHVybiBpbW1lZGlhdGVseS4gKi8KLSAgICBpZiAoY3B1X2Rpc2FibGVfaWRsZSkg
ewotCUFDUElfRU5BQkxFX0lSUVMoKTsKLQlyZXR1cm47Ci0gICAgfQogCiAgICAgLyoKICAgICAg
KiBMb29rIHVwIG91ciBDUFUgaWQgdG8gZ2V0IG91ciBzb2Z0Yy4gIElmIGl0J3MgTlVMTCwgd2Un
bGwgdXNlIEMxCkBAIC05MDAsNiArOTI1LDE0IEBAIGFjcGlfY3B1X2lkbGUoKQogCXJldHVybjsK
ICAgICB9CiAKKyAgICBBQ1BJX0NQVV9MT0NLKHNjKTsKKworICAgIGlmIChzYy0+Y3B1X2Rpc2Fi
bGVfaWRsZSkgeworCUFDUElfQ1BVX1VOTE9DSyhzYyk7CisJQUNQSV9FTkFCTEVfSVJRUygpOwor
CXJldHVybjsKKyAgICB9CisKICAgICAvKiBGaW5kIHRoZSBsb3dlc3Qgc3RhdGUgdGhhdCBoYXMg
c21hbGwgZW5vdWdoIGxhdGVuY3kuICovCiAgICAgY3hfbmV4dF9pZHggPSAwOwogICAgIGZvciAo
aSA9IHNjLT5jcHVfY3hfbG93ZXN0OyBpID49IDA7IGktLSkgewpAQCAtOTM1LDYgKzk2OCw3IEBA
IGFjcGlfY3B1X2lkbGUoKQogICAgICAqLwogICAgIGlmIChjeF9uZXh0LT50eXBlID09IEFDUElf
U1RBVEVfQzEpIHsKIAlzYy0+Y3B1X3ByZXZfc2xlZXAgPSAoc2MtPmNwdV9wcmV2X3NsZWVwICog
MyArIDUwMDAwMCAvIGh6KSAvIDQ7CisJQUNQSV9DUFVfVU5MT0NLKHNjKTsKIAlhY3BpX2NwdV9j
MSgpOwogCXJldHVybjsKICAgICB9CkBAIC05NzUsNiArMTAwOSw3IEBAIGFjcGlfY3B1X2lkbGUo
KQogCUFjcGlXcml0ZUJpdFJlZ2lzdGVyKEFDUElfQklUUkVHX0FSQl9ESVNBQkxFLCAwKTsKIAlB
Y3BpV3JpdGVCaXRSZWdpc3RlcihBQ1BJX0JJVFJFR19CVVNfTUFTVEVSX1JMRCwgMCk7CiAgICAg
fQorCUFDUElfQ1BVX1VOTE9DSyhzYyk7CiAgICAgQUNQSV9FTkFCTEVfSVJRUygpOwogCiAgICAg
LyogRmluZCB0aGUgYWN0dWFsIHRpbWUgYXNsZWVwIGluIG1pY3Jvc2Vjb25kcy4gKi8K
--000e0ce07e9e9e15430486ded055--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTil5qkn1PFSoss1A7HTuYDh9Dfab7XfxIuBWylNG>