gen_server error report issue

Aleksander Nycz <[email protected]> Sat, 16 Apr 2016 07:33:53 +0200
Newsgroups gmane.comp.lang.erlang.bugs
Message-ID <[email protected]>
This is a cryptographically signed message in MIME format.

--===============1208203998643771309==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms030905030702050903040405"

This is a cryptographically signed message in MIME format.

--------------ms030905030702050903040405
Content-Type: multipart/mixed;
 boundary="------------040403050704000703070504"

This is a multi-part message in MIME format.
--------------040403050704000703070504
Content-Type: multipart/alternative;
 boundary="------------040002030205080604090900"


--------------040002030205080604090900
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Hello,

I think I've found some problem in gen_server error report:

when terminate callback throw errors then earlier errors (eg. from=20
handle_call callback) is not reported.

Please compile and run provided simple_server.erl module, that implement =

gen_server behaviour:

([email protected])4> simple_server:start_link(fals=
e).
{ok,<0.128.0>}
([email protected])5> simple_server:perform(false).=

ok
([email protected])6> simple_server:perform(true).
** exception exit: perform_error_in_handle_call
*in function  simple_server:handle_call/3=20
(loadController/src/simple_server.erl, line 89)*
      in call from gen_server:try_handle_call/4 (gen_server.erl, line 629=
)
      in call from gen_server:handle_msg/5 (gen_server.erl, line 661)
      in call from proc_lib:init_p_do_apply/3 (proc_lib.erl, line 240)
([email protected])7>
=3DERROR REPORT=3D=3D=3D=3D 16-Mar-2016::15:36:35 =3D=3D=3D
** Generic server simple_server terminating
** Last message in was {perform,true}
** When Server state =3D=3D {state,false}
** Reason for termination =3D=3D
** {perform_error_in_handle_call,
        [{simple_server,handle_call,3,
[{file,"loadController/src/simple_server.erl"},{line,89}]},
{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,629}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,661}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}

In this case we can see that exception was thrown 'in function=20
simple_server:handle_call/3 (loadController/src/simple_server.erl, line 8=
9)'

And now please start server in this way:

([email protected])7> simple_server:start_link(true=
).
{ok,<0.133.0>}
([email protected])8> simple_server:perform(false).=

ok
([email protected])9> simple_server:perform(true).

=3DERROR REPORT=3D=3D=3D=3D 16-Mar-2016::15:37:30 =3D=3D=3D
** Generic server simple_server terminating
** Last message in was {perform,true}
** When Server state =3D=3D {state,true}
** Reason for termination =3D=3D
** {throw_error_in_terminate_callback,
        [{simple_server,terminate,2,
[{file,"loadController/src/simple_server.erl"},{line,141}]},
{gen_server,try_terminate,3,[{file,"gen_server.erl"},{line,643}]},
{gen_server,terminate,7,[{file,"gen_server.erl"},{line,809}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
** exception exit: throw_error_in_terminate_callback
      in function  simple_server:terminate/2=20
(loadController/src/simple_server.erl, line 141)
      in call from gen_server:try_terminate/3 (gen_server.erl, line 643)
      in call from gen_server:terminate/7 (gen_server.erl, line 809)
      in call from proc_lib:init_p_do_apply/3 (proc_lib.erl, line 240)

Now gen_server is also terminating, but we can only see exception from=20
terminate callback.

Exception that causes gen_server termination is not reported.
I rather expect that both exceptions will be shown.


Regards
Aleksander Nycz


--=20
Aleksander Nycz
Chief Designer
Telco_021 BSS R&D
Comarch SA
Phone:  +48 17 785 5909
Mobile: +48 691 464 275
website:www.comarch.pl


--------------040002030205080604090900
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta http-equiv=3D"content-type" content=3D"text/html; charset=3Dutf=
-8">
  </head>
  <body text=3D"#000000" bgcolor=3D"#FFFFFF">
    Hello,<br>
    <br>
    I think I've found some problem in gen_server error report:<br>
    <br>
    when terminate callback throw errors then earlier errors (eg. from
    handle_call callback) is not reported.<br>
    <br>
    Please compile and run provided simple_server.erl module, that
    implement gen_server behaviour:<br>
    <br>
    (<a class=3D"moz-txt-link-abbreviated"
      href=3D"mailto:[email protected]">compilation=
[email protected]</a>)4&gt;

    simple_server:start_link(false).<br>
    {ok,&lt;0.128.0&gt;}<br>
    (<a class=3D"moz-txt-link-abbreviated"
      href=3D"mailto:[email protected]">compilation=
[email protected]</a>)5&gt;

    simple_server:perform(false).<br>
    ok<br>
    (<a class=3D"moz-txt-link-abbreviated"
      href=3D"mailto:[email protected]">compilation=
[email protected]</a>)6&gt;

    simple_server:perform(true).<br>
    ** exception exit: perform_error_in_handle_call<br>
    =C2=A0=C2=A0=C2=A0=C2=A0<b> in function=C2=A0 simple_server:handle_ca=
ll/3
      (loadController/src/simple_server.erl, line 89)</b><br>
    =C2=A0=C2=A0=C2=A0=C2=A0 in call from gen_server:try_handle_call/4 (g=
en_server.erl, line
    629)<br>
    =C2=A0=C2=A0=C2=A0=C2=A0 in call from gen_server:handle_msg/5 (gen_se=
rver.erl, line 661)<br>
    =C2=A0=C2=A0=C2=A0=C2=A0 in call from proc_lib:init_p_do_apply/3 (pro=
c_lib.erl, line
    240)<br>
    (<a class=3D"moz-txt-link-abbreviated"
      href=3D"mailto:[email protected]">compilation=
[email protected]</a>)7&gt;<br>
    =3DERROR REPORT=3D=3D=3D=3D 16-Mar-2016::15:36:35 =3D=3D=3D<br>
    ** Generic server simple_server terminating<br>
    ** Last message in was {perform,true}<br>
    ** When Server state =3D=3D {state,false}<br>
    ** Reason for termination =3D=3D<br>
    ** {perform_error_in_handle_call,<br>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [{simple_server,handle_call,3,<b=
r>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
    [{file,"loadController/src/simple_server.erl"},{line,89}]},<br>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
    {gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,629}]},<=
br>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
    {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,661}]},<br>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
    {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}<br>=

    <br>
    In this case we can see that exception was thrown 'in function=C2=A0
    simple_server:handle_call/3 (loadController/src/simple_server.erl,
    line 89)'<br>
    <br>
    And now please start server in this way:<br>
    <br>
    (<a class=3D"moz-txt-link-abbreviated"
      href=3D"mailto:[email protected]">compilation=
[email protected]</a>)7&gt;

    simple_server:start_link(true).<br>
    {ok,&lt;0.133.0&gt;}<br>
    (<a class=3D"moz-txt-link-abbreviated"
      href=3D"mailto:[email protected]">compilation=
[email protected]</a>)8&gt;

    simple_server:perform(false).<br>
    ok<br>
    (<a class=3D"moz-txt-link-abbreviated"
      href=3D"mailto:[email protected]">compilation=
[email protected]</a>)9&gt;

    simple_server:perform(true).<br>
    <br>
    =3DERROR REPORT=3D=3D=3D=3D 16-Mar-2016::15:37:30 =3D=3D=3D<br>
    ** Generic server simple_server terminating<br>
    ** Last message in was {perform,true}<br>
    ** When Server state =3D=3D {state,true}<br>
    ** Reason for termination =3D=3D<br>
    ** {throw_error_in_terminate_callback,<br>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [{simple_server,terminate,2,<br>=

    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
    [{file,"loadController/src/simple_server.erl"},{line,141}]},<br>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
    {gen_server,try_terminate,3,[{file,"gen_server.erl"},{line,643}]},<br=
>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
    {gen_server,terminate,7,[{file,"gen_server.erl"},{line,809}]},<br>
    =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
    {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}<br>=

    ** exception exit: throw_error_in_terminate_callback<br>
    =C2=A0=C2=A0=C2=A0=C2=A0 in function=C2=A0 simple_server:terminate/2
    (loadController/src/simple_server.erl, line 141)<br>
    =C2=A0=C2=A0=C2=A0=C2=A0 in call from gen_server:try_terminate/3 (gen=
_server.erl, line
    643)<br>
    =C2=A0=C2=A0=C2=A0=C2=A0 in call from gen_server:terminate/7 (gen_ser=
ver.erl, line 809)<br>
    =C2=A0=C2=A0=C2=A0=C2=A0 in call from proc_lib:init_p_do_apply/3 (pro=
c_lib.erl, line
    240)<br>
    <br>
    Now gen_server is also terminating, but we can only see exception
    from terminate callback.<br>
    <br>
    Exception that causes gen_server termination is not reported.<br>
    I rather expect that both exceptions will be shown.<br>
    <br>
    <br>
    Regards<br>
    Aleksander Nycz<br>
    <br>
    <br>
    <pre class=3D"moz-signature" cols=3D"72">--=20
Aleksander Nycz
Chief Designer
Telco_021 BSS R&amp;D
Comarch SA
Phone:  +48 17 785 5909
Mobile: +48 691 464 275
website: <a class=3D"moz-txt-link-abbreviated" href=3D"http://www.comarch=
=2Epl">www.comarch.pl</a></pre>
  </body>
</html>

--------------040002030205080604090900--

--------------040403050704000703070504
Content-Type: text/plain; charset=UTF-8;
 name="simple_server.erl"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="simple_server.erl"

JSUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQ0KJSUlIEBhdXRob3IgQU55Y3oNCiUlJSBAY29weXJpZ2h0IChD
KSAyMDE2LCA8Q09NUEFOWT4NCiUlJSBAZG9jDQolJSUNCiUlJSBAZW5kDQolJSUgQ3JlYXRl
ZCA6IDE2LiBtYXIgMjAxNiAxNTozMA0KJSUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLW1vZHVsZShzaW1w
bGVfc2VydmVyKS4NCi1hdXRob3IoIkFOeWN6IikuDQoNCi1iZWhhdmlvdXIoZ2VuX3NlcnZl
cikuDQoNCiUlIEFQSQ0KLWV4cG9ydChbc3RhcnRfbGluay8xLCBwZXJmb3JtLzFdKS4NCg0K
JSUgZ2VuX3NlcnZlciBjYWxsYmFja3MNCi1leHBvcnQoW2luaXQvMSwNCiAgICBoYW5kbGVf
Y2FsbC8zLA0KICAgIGhhbmRsZV9jYXN0LzIsDQogICAgaGFuZGxlX2luZm8vMiwNCiAgICB0
ZXJtaW5hdGUvMiwNCiAgICBjb2RlX2NoYW5nZS8zXSkuDQoNCi1kZWZpbmUoU0VSVkVSLCA/
TU9EVUxFKS4NCg0KLXJlY29yZChzdGF0ZSwge3Rocm93X2Vycm9yX2luX3Rlcm1pbmF0ZV9j
YWxsYmFjayA6OiBib29sZWFuKCl9KS4NCg0KJSUlPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KJSUlIEFQSQ0K
JSUlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KDQoNCnBlcmZvcm0oVGhyb3dFcnJvcikgLT4NCiAgICBnZW5f
c2VydmVyOmNhbGwoP01PRFVMRSwge3BlcmZvcm0sIFRocm93RXJyb3J9KQ0KLg0KDQolJS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tDQolJSBAZG9jDQolJSBTdGFydHMgdGhlIHNlcnZlcg0KJSUNCiUlIEBl
bmQNCiUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0NCi1zcGVjKHN0YXJ0X2xpbmsoVGhyb3dFcnJvcjo6Ym9v
bGVhbikgLT4NCiAgICB7b2ssIFBpZCA6OiBwaWQoKX0gfCBpZ25vcmUgfCB7ZXJyb3IsIFJl
YXNvbiA6OiB0ZXJtKCl9KS4NCnN0YXJ0X2xpbmsoVGhyb3dFcnJvcikgLT4NCiAgICBnZW5f
c2VydmVyOnN0YXJ0X2xpbmsoe2xvY2FsLCA/U0VSVkVSfSwgP01PRFVMRSwgVGhyb3dFcnJv
ciwgW10pLg0KDQolJSU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQolJSUgZ2VuX3NlcnZlciBjYWxsYmFja3MN
CiUlJT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCg0KJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJSUgQHByaXZhdGUNCiUl
IEBkb2MNCiUlIEluaXRpYWxpemVzIHRoZSBzZXJ2ZXINCiUlDQolJSBAc3BlYyBpbml0KEFy
Z3MpIC0+IHtvaywgU3RhdGV9IHwNCiUlICAgICAgICAgICAgICAgICAgICAge29rLCBTdGF0
ZSwgVGltZW91dH0gfA0KJSUgICAgICAgICAgICAgICAgICAgICBpZ25vcmUgfA0KJSUgICAg
ICAgICAgICAgICAgICAgICB7c3RvcCwgUmVhc29ufQ0KJSUgQGVuZA0KJSUtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQ0KLXNwZWMoaW5pdChBcmdzIDo6IHRlcm0oKSkgLT4NCiAgICB7b2ssIFN0YXRlIDo6
ICNzdGF0ZXt9fSB8IHtvaywgU3RhdGUgOjogI3N0YXRle30sIHRpbWVvdXQoKSB8IGhpYmVy
bmF0ZX0gfA0KICAgIHtzdG9wLCBSZWFzb24gOjogdGVybSgpfSB8IGlnbm9yZSkuDQppbml0
KFRocm93RXJyb3IpIC0+DQogICAge29rLCAjc3RhdGV7dGhyb3dfZXJyb3JfaW5fdGVybWlu
YXRlX2NhbGxiYWNrID0gVGhyb3dFcnJvcn19Lg0KDQolJS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQolJSBA
cHJpdmF0ZQ0KJSUgQGRvYw0KJSUgSGFuZGxpbmcgY2FsbCBtZXNzYWdlcw0KJSUNCiUlIEBl
bmQNCiUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0NCi1zcGVjKGhhbmRsZV9jYWxsKFJlcXVlc3QgOjogdGVy
bSgpLCBGcm9tIDo6IHtwaWQoKSwgVGFnIDo6IHRlcm0oKX0sDQogICAgU3RhdGUgOjogI3N0
YXRle30pIC0+DQogICAge3JlcGx5LCBSZXBseSA6OiB0ZXJtKCksIE5ld1N0YXRlIDo6ICNz
dGF0ZXt9fSB8DQogICAge3JlcGx5LCBSZXBseSA6OiB0ZXJtKCksIE5ld1N0YXRlIDo6ICNz
dGF0ZXt9LCB0aW1lb3V0KCkgfCBoaWJlcm5hdGV9IHwNCiAgICB7bm9yZXBseSwgTmV3U3Rh
dGUgOjogI3N0YXRle319IHwNCiAgICB7bm9yZXBseSwgTmV3U3RhdGUgOjogI3N0YXRle30s
IHRpbWVvdXQoKSB8IGhpYmVybmF0ZX0gfA0KICAgIHtzdG9wLCBSZWFzb24gOjogdGVybSgp
LCBSZXBseSA6OiB0ZXJtKCksIE5ld1N0YXRlIDo6ICNzdGF0ZXt9fSB8DQogICAge3N0b3As
IFJlYXNvbiA6OiB0ZXJtKCksIE5ld1N0YXRlIDo6ICNzdGF0ZXt9fSkuDQoNCmhhbmRsZV9j
YWxsKHtwZXJmb3JtLCBmYWxzZX0sIF9Gcm9tLCBTdGF0ZSkgLT4NCiAgICB7cmVwbHksIG9r
LCBTdGF0ZX07DQpoYW5kbGVfY2FsbCh7cGVyZm9ybSwgdHJ1ZX0sIF9Gcm9tLCBTdGF0ZSkg
LT4NCiAgICBlcmxhbmc6ZXJyb3IocGVyZm9ybV9lcnJvcl9pbl9oYW5kbGVfY2FsbCksDQog
ICAge3JlcGx5LCBvaywgU3RhdGV9Ow0KaGFuZGxlX2NhbGwoX1JlcXVlc3QsIF9Gcm9tLCBT
dGF0ZSkgLT4NCiAgICB7cmVwbHksIG9rLCBTdGF0ZX0uDQoNCiUlLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
CiUlIEBwcml2YXRlDQolJSBAZG9jDQolJSBIYW5kbGluZyBjYXN0IG1lc3NhZ2VzDQolJQ0K
JSUgQGVuZA0KJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLXNwZWMoaGFuZGxlX2Nhc3QoUmVxdWVzdCA6
OiB0ZXJtKCksIFN0YXRlIDo6ICNzdGF0ZXt9KSAtPg0KICAgIHtub3JlcGx5LCBOZXdTdGF0
ZSA6OiAjc3RhdGV7fX0gfA0KICAgIHtub3JlcGx5LCBOZXdTdGF0ZSA6OiAjc3RhdGV7fSwg
dGltZW91dCgpIHwgaGliZXJuYXRlfSB8DQogICAge3N0b3AsIFJlYXNvbiA6OiB0ZXJtKCks
IE5ld1N0YXRlIDo6ICNzdGF0ZXt9fSkuDQpoYW5kbGVfY2FzdChfUmVxdWVzdCwgU3RhdGUp
IC0+DQogICAge25vcmVwbHksIFN0YXRlfS4NCg0KJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJSUgQHBy
aXZhdGUNCiUlIEBkb2MNCiUlIEhhbmRsaW5nIGFsbCBub24gY2FsbC9jYXN0IG1lc3NhZ2Vz
DQolJQ0KJSUgQHNwZWMgaGFuZGxlX2luZm8oSW5mbywgU3RhdGUpIC0+IHtub3JlcGx5LCBT
dGF0ZX0gfA0KJSUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtub3JlcGx5
LCBTdGF0ZSwgVGltZW91dH0gfA0KJSUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHtzdG9wLCBSZWFzb24sIFN0YXRlfQ0KJSUgQGVuZA0KJSUtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
LXNwZWMoaGFuZGxlX2luZm8oSW5mbyA6OiB0aW1lb3V0KCkgfCB0ZXJtKCksIFN0YXRlIDo6
ICNzdGF0ZXt9KSAtPg0KICAgIHtub3JlcGx5LCBOZXdTdGF0ZSA6OiAjc3RhdGV7fX0gfA0K
ICAgIHtub3JlcGx5LCBOZXdTdGF0ZSA6OiAjc3RhdGV7fSwgdGltZW91dCgpIHwgaGliZXJu
YXRlfSB8DQogICAge3N0b3AsIFJlYXNvbiA6OiB0ZXJtKCksIE5ld1N0YXRlIDo6ICNzdGF0
ZXt9fSkuDQpoYW5kbGVfaW5mbyhfSW5mbywgU3RhdGUpIC0+DQogICAge25vcmVwbHksIFN0
YXRlfS4NCg0KJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJSUgQHByaXZhdGUNCiUlIEBkb2MNCiUlIFRo
aXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGEgZ2VuX3NlcnZlciB3aGVuIGl0IGlzIGFib3V0
IHRvDQolJSB0ZXJtaW5hdGUuIEl0IHNob3VsZCBiZSB0aGUgb3Bwb3NpdGUgb2YgTW9kdWxl
OmluaXQvMSBhbmQgZG8gYW55DQolJSBuZWNlc3NhcnkgY2xlYW5pbmcgdXAuIFdoZW4gaXQg
cmV0dXJucywgdGhlIGdlbl9zZXJ2ZXIgdGVybWluYXRlcw0KJSUgd2l0aCBSZWFzb24uIFRo
ZSByZXR1cm4gdmFsdWUgaXMgaWdub3JlZC4NCiUlDQolJSBAc3BlYyB0ZXJtaW5hdGUoUmVh
c29uLCBTdGF0ZSkgLT4gdm9pZCgpDQolJSBAZW5kDQolJS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotc3Bl
Yyh0ZXJtaW5hdGUoUmVhc29uIDo6IChub3JtYWwgfCBzaHV0ZG93biB8IHtzaHV0ZG93biwg
dGVybSgpfSB8IHRlcm0oKSksDQogICAgU3RhdGUgOjogI3N0YXRle30pIC0+IHRlcm0oKSku
DQp0ZXJtaW5hdGUoX1JlYXNvbiwgI3N0YXRle3Rocm93X2Vycm9yX2luX3Rlcm1pbmF0ZV9j
YWxsYmFjayA9IGZhbHNlfSkgLT4NCiAgICBvazsNCnRlcm1pbmF0ZShfUmVhc29uLCAjc3Rh
dGV7dGhyb3dfZXJyb3JfaW5fdGVybWluYXRlX2NhbGxiYWNrID0gdHJ1ZX0pIC0+DQogICAg
ZXJsYW5nOmVycm9yKHRocm93X2Vycm9yX2luX3Rlcm1pbmF0ZV9jYWxsYmFjayksDQogICAg
b2suDQoNCg0KJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJSUgQHByaXZhdGUNCiUlIEBkb2MNCiUlIENv
bnZlcnQgcHJvY2VzcyBzdGF0ZSB3aGVuIGNvZGUgaXMgY2hhbmdlZA0KJSUNCiUlIEBzcGVj
IGNvZGVfY2hhbmdlKE9sZFZzbiwgU3RhdGUsIEV4dHJhKSAtPiB7b2ssIE5ld1N0YXRlfQ0K
JSUgQGVuZA0KJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLXNwZWMoY29kZV9jaGFuZ2UoT2xkVnNuIDo6
IHRlcm0oKSB8IHtkb3duLCB0ZXJtKCl9LCBTdGF0ZSA6OiAjc3RhdGV7fSwNCiAgICBFeHRy
YSA6OiB0ZXJtKCkpIC0+DQogICAge29rLCBOZXdTdGF0ZSA6OiAjc3RhdGV7fX0gfCB7ZXJy
b3IsIFJlYXNvbiA6OiB0ZXJtKCl9KS4NCmNvZGVfY2hhbmdlKF9PbGRWc24sIFN0YXRlLCBf
RXh0cmEpIC0+DQogICAge29rLCBTdGF0ZX0uDQoNCiUlJT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiUlJSBJ
bnRlcm5hbCBmdW5jdGlvbnMNCiUlJT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg==
--------------040403050704000703070504--

--------------ms030905030702050903040405
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Kryptograficzna sygnatura S/MIME

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
aGIUuWYWiHx6T+XUO7NGq+bnB2RWyjWwXznOXC+tX8hMmVBsoySrGEGe6dQuv6RMyAy1lUTr
WRNFjQh4fl7yGN/ssXgvxB4uVkNyr8UdWCaRi489N5b+O/D3uyO3AgMBAAGjgfgwgfUwDAYD
VR0TAQH/BAIwADAdBgNVHQ4EFgQU0gUAiKJd6HaWZHh8YFZAe45JrS0wHwYDVR0jBBgwFoAU
1Ud+ML+k/ZRlk3hkj+puaT87LhowDgYDVR0PAQH/BAQDAgQwMBYGA1UdJQEB/wQMMAoGCCsG
AQUFBwMEMEIGA1UdEQQ7MDmBG0FsZWtzYW5kZXIuTnljekBjb21hcmNoLmNvbYEaQWxla3Nh
bmRlci5OeWN6QGNvbWFyY2gucGwwOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL2NvbWFyY2hj
YS5jb21hcmNoLnBsL3BlcnNvbmFsLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAVpyO1k9+2VXq
PvJe6mkCa19bW6X/Hcq1JWjCXBAYnc44oAZoRSMsfGtDWwXM/bwlr+iz3IHKd7r1uMLteD9t
C/EsQhmPGGLon3Bih57v3qzH0KgsOD/b6wEhzd32uHu4I/cgKUCcsgw+Un0IcgsENm6XewPY
uJ/XShx80ODmA+5VYuYFDNe6yTVl1jdfzotuh8UuFCg72JDi3gAzGcQs1OhqicqFDupf0HJw
3LpSmwU9IYizHjtt9xaqtYdvvoxf3YUJikMW1ZD/sQGHSPjPYsWLQ+hB16p43JeB6F6fNLd6
m0okbEqXgO1i2I6EnwNePvmYmYByWPv52DXp18jksW0obGFS02w/bLizcSzanBXX7hwKdha9
WljdlXczhbLBQPDCZbs8fgmSOEutPwRJjxcigtAw+1P6fAufaL/NuZmziZNbfPiSfitKGILo
fcFFa7AG0FCyTVa6uGI094hqG/zGLqPZE95XWJs+LR6XKkXZdw5qSApdqoOOg10RtPdezw1o
JQmSxSnSFnei5RRivjhFuGT4mOfAhMLY02YdmIOB7k6DXqLyKtAqJPmZv3g4NZHZfAGMs3ua
YUuUGtZRe3ZRBnMp5viAuigQ5ch0OgXpkQNkJcvEpRti6gcGkPKPnmfufLHxYZbK4ZWNvawb
UpazYbv35WJ5K3cgO8JPV1swggWPMIIDd6ADAgECAgEKMA0GCSqGSIb3DQEBCwUAMC8xEDAO
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
ZNG32UqUMCCH37sZNsBEiAAAAAAAAA==
--------------ms030905030702050903040405--

--===============1208203998643771309==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
erlang-bugs mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-bugs

--===============1208203998643771309==--