(ITS#9029) MDB_MAP_FULL error after removing some records from DB
by adubovkin@linkedin.com
Full_Name: Alex
Version: LMDB 0.9.23
OS: iOS
URL: https://hastebin.com/raw/arexecefew
Submission from: (NULL) (2620:119:5001:3000:242c:3bea:acec:6a7d)
Hey guys,
We are using LMDB in our LRUCache implementation and facing the issue: when we
evict old records from this cache sometimes we have MDB_MAP_FULL error though
record eviction by using mdb_del() went fine. We were able to isolate an issue
in the unit test which is run from just one thread. Since there are no any
concurrent readers for this case we are expecting LMDB to claim free pages
immediately after we commit "deletion" transaction, but in some rare cases it
still raises MDB_MAP_FULL error.
The unit test scenario is as follows:
1) start with empty DB
2) keep inserting random records until hi the first MDB_FULL
3) delete some old recrods to some pages
4) try to insert new record and check that is succeeded.
The step 4 fails with another MDB_FULL error
We enable debugging and attached a debug logs from LDMB. Hope it would be
helpful.
4 years, 4 months
(ITS#9028) Not able to add 'syncprov' module
by danybensighar@gmail.com
Full_Name: Dany Bensighar
Version: 2.4.44
OS: Red Hat Enterprise Linux Server release 7.6 (Maipo)
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (212.138.78.4)
Hello,
Iam setting up a master slave openldap configuration in rhel 7, while adding the
syncprov module I am getting the below error. I have checked openspaces and
special characters but nothing found
Please find the syncprov.ldif file
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
Please find the error
ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=1001+uidNumber=1001,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcOverlay=syncprov,olcDatabase={2}hdb,cn=config"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #1 invalid per syntax
Your support will be highly appreciated
4 years, 4 months
Re: (ITS#9027) LMDB: API to retrieve map address
by nic@nicwatson.org
--000000000000856dab058992e756
Content-Type: text/plain; charset="UTF-8"
The short answer is yes. Our mappings are now bigger than 1TiB (out of 2TiB
total available). Also, it *seems* to be that it is just way faster for
Linux to map things in order all at once. Additionally, we have some boxes
that still have spinning disks, and sequential access is a couple orders of
magnitude faster on those.
I haven't looked at the logic in the Linux pager, but it seems to be fairly
aggressive about taking memory pages back from large memory maps, even
though it doesn't strictly need to. Locking the memory is a bit of a
sledgehammer, but in our experience it is an effective one.
On Thu, May 23, 2019 at 2:23 PM Howard Chu <hyc(a)symas.com> wrote:
> github(a)nicwatson.org wrote:
> > Full_Name: Nic Watson
> > Version:
> > OS: Linux
> > URL: ftp://ftp.openldap.org/incoming/
> > Submission from: (NULL) (73.132.68.128)
> >
> >
> > Goal:
> > I'd like a clean way to get at the address of the data memory map in
> LMDB.
> >
> > MDB_envinfo.me_mapaddr only returns the map address if MAP_FIXED is used.
> >
> > Current Workarounds:
> > * Use OS-specific mechanism to retrieve all memory maps (e.g.
> > /proc/<pid>/smaps).
> > * Defeat opaque handle and reach into the MDB_env struct directly and
> grab the
> > me_map field.
> >
> > Justification:
> > In my current application, I notice a significant performance increase
> if I
> > mlock the mapfile. In order to do that cleanly, I need the address of
> the map.
>
> That sounds odd. Is there a lot of memory pressure from other processes on
> the machine?
> Where is the performance loss or gain coming from?
>
> --
> -- Howard Chu
> CTO, Symas Corp. http://www.symas.com
> Director, Highland Sun http://highlandsun.com/hyc/
> Chief Architect, OpenLDAP http://www.openldap.org/project/
>
--000000000000856dab058992e756
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">The short answer is yes. Our mappings are now bigger than =
1TiB (out of 2TiB total available). Also, it *seems* to be that it is just =
way faster for Linux to map things in order all at once. Additionally, we h=
ave some boxes that still have spinning disks, and sequential access is a c=
ouple orders of magnitude faster on those.<div><br></div><div>I haven't=
looked at the logic in the Linux pager, but it seems to be fairly aggressi=
ve about taking memory pages back from large memory maps, even though it do=
esn't strictly need to. Locking the memory is a bit of a sledgehammer, =
but in our experience it is an effective one.</div></div><br><div class=3D"=
gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, May 23, 2019 at =
2:23 PM Howard Chu <<a href=3D"mailto:hyc@symas.com">hyc(a)symas.com</a>&g=
t; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p=
x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><a hre=
f=3D"mailto:github@nicwatson.org" target=3D"_blank">github(a)nicwatson.org</a=
> wrote:<br>
> Full_Name: Nic Watson<br>
> Version: <br>
> OS: Linux<br>
> URL: <a href=3D"ftp://ftp.openldap.org/incoming/" rel=3D"noreferrer" t=
arget=3D"_blank">ftp://ftp.openldap.org/incoming/</a><br>
> Submission from: (NULL) (73.132.68.128)<br>
> <br>
> <br>
> Goal:<br>
> I'd like a clean way to get at the address of the data memory map =
in LMDB.<br>
> <br>
> MDB_envinfo.me_mapaddr only returns the map address if MAP_FIXED is us=
ed.<br>
> <br>
> Current Workarounds:<br>
> * Use OS-specific mechanism to retrieve all memory maps (e.g.<br>
> /proc/<pid>/smaps). <br>
> * Defeat opaque handle and reach into the MDB_env struct directly and =
grab the<br>
> me_map field.<br>
> <br>
> Justification:<br>
> In my current application, I notice a significant performance increase=
if I<br>
> mlock the mapfile.=C2=A0 In order to do that cleanly, I need the addre=
ss of the map.<br>
<br>
That sounds odd. Is there a lot of memory pressure from other processes on =
the machine?<br>
Where is the performance loss or gain coming from?<br>
<br>
-- <br>
=C2=A0 -- Howard Chu<br>
=C2=A0 CTO, Symas Corp.=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"=
http://www.symas.com" rel=3D"noreferrer" target=3D"_blank">http://www.symas=
.com</a><br>
=C2=A0 Director, Highland Sun=C2=A0 =C2=A0 =C2=A0<a href=3D"http://highland=
sun.com/hyc/" rel=3D"noreferrer" target=3D"_blank">http://highlandsun.com/h=
yc/</a><br>
=C2=A0 Chief Architect, OpenLDAP=C2=A0 <a href=3D"http://www.openldap.org/p=
roject/" rel=3D"noreferrer" target=3D"_blank">http://www.openldap.org/proje=
ct/</a><br>
</blockquote></div>
--000000000000856dab058992e756--
4 years, 4 months
Re: (ITS#9027) LMDB: API to retrieve map address
by hyc@symas.com
github(a)nicwatson.org wrote:
> Full_Name: Nic Watson
> Version:
> OS: Linux
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (73.132.68.128)
>
>
> Goal:
> I'd like a clean way to get at the address of the data memory map in LMDB.
>
> MDB_envinfo.me_mapaddr only returns the map address if MAP_FIXED is used.
>
> Current Workarounds:
> * Use OS-specific mechanism to retrieve all memory maps (e.g.
> /proc/<pid>/smaps).
> * Defeat opaque handle and reach into the MDB_env struct directly and grab the
> me_map field.
>
> Justification:
> In my current application, I notice a significant performance increase if I
> mlock the mapfile. In order to do that cleanly, I need the address of the map.
That sounds odd. Is there a lot of memory pressure from other processes on the machine?
Where is the performance loss or gain coming from?
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
4 years, 4 months
(ITS#9027) LMDB: API to retrieve map address
by github@nicwatson.org
Full_Name: Nic Watson
Version:
OS: Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (73.132.68.128)
Goal:
I'd like a clean way to get at the address of the data memory map in LMDB.
MDB_envinfo.me_mapaddr only returns the map address if MAP_FIXED is used.
Current Workarounds:
* Use OS-specific mechanism to retrieve all memory maps (e.g.
/proc/<pid>/smaps).
* Defeat opaque handle and reach into the MDB_env struct directly and grab the
me_map field.
Justification:
In my current application, I notice a significant performance increase if I
mlock the mapfile. In order to do that cleanly, I need the address of the map.
4 years, 4 months
Re: (ITS#9023) crash using ppolicy chaining from slave to master
by ondra@mistotebe.net
On Mon, May 20, 2019 at 10:29:02AM +0000, AYANIDES, JEAN-PHILIPPE wrote:
> Yes, it serves traffic. It doesn't crash until I run a bind with a
> wrong password.
>
>> (gdb) cont
>> Continuing.
>
> [LDAP search with wrong password]
>
>> [New Thread -1237541968 (LWP 29380)]
>
>> Program exited with code 0177.
>> (gdb) thread apply all bt full
>
> Yes sorry, It runs on an old version of debian: 4:0 32 bits that I am
> not authorised to upgrade.
>
> It the first time we record that sort of issue on that platform…
Hi Jean-Philippe,
are you able to reproduce this on a different system, if not, can you
get a more recent gdb on that system?
I have tried to reproduce with a config similar to the one you describe
didn't manage to provoke a segfault with re24 nor master.
On a side note, I don't think running the chain overlay with mode=self
will work to propagate the ppolicy information the way you want. The
same failing credentials will be used to contact the upstream server and
so the initial bind will be rejected again, not allowing the
modification to be performed.
Regards,
--
Ondřej Kuzník
Senior Software Engineer
Symas Corporation http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP
4 years, 4 months
RE: (ITS#9023) crash using ppolicy chaining from slave to master
by jpayanides@prosodie.com
--_000_AM0PR0202MB35537CBC3DAD8A9A24C85FF4BA060AM0PR0202MB3553_
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
WWVzLCBpdCBzZXJ2ZXMgdHJhZmZpYy4gSXQgZG9lc24ndCBjcmFzaCB1bnRpbCBJIHJ1biBhIGJp
bmQgd2l0aCBhIHdyb25nIHBhc3N3b3JkLg0KDQo+IChnZGIpIGNvbnQNCg0KPiBDb250aW51aW5n
Lg0KDQoNCltMREFQIHNlYXJjaCB3aXRoIHdyb25nIHBhc3N3b3JkXQ0KDQoNCj4gW05ldyBUaHJl
YWQgLTEyMzc1NDE5NjggKExXUCAyOTM4MCldDQoNCj4gUHJvZ3JhbSBleGl0ZWQgd2l0aCBjb2Rl
IDAxNzcuDQo+IChnZGIpIHRocmVhZCBhcHBseSBhbGwgYnQgZnVsbA0KDQoNClllcyBzb3JyeSwg
SXQgcnVucyBvbiBhbiBvbGQgdmVyc2lvbiBvZiBkZWJpYW46IDQ6MCAzMiBiaXRzIHRoYXQgSSBh
bSBub3QgYXV0aG9yaXNlZCB0byB1cGdyYWRlLg0KDQpJdCB0aGUgZmlyc3QgdGltZSB3ZSByZWNv
cmQgdGhhdCBzb3J0IG9mIGlzc3VlIG9uIHRoYXQgcGxhdGZvcm3igKYNCg0KDQpKZWFuLVBoaWxp
cHBlDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpEZSA6IE9uZMWZZWogS3V6
bsOtayA8b25kcmFAbWlzdG90ZWJlLm5ldD4NCkVudm95w6kgOiBsdW5kaSAyMCBtYWkgMjAxOSAx
MjoyMDo0NQ0Kw4AgOiBBWUFOSURFUywgSkVBTi1QSElMSVBQRQ0KQ2MgOiBvcGVubGRhcC1pdHNA
T3BlbkxEQVAub3JnDQpPYmpldCA6IFJlOiAoSVRTIzkwMjMpIGNyYXNoIHVzaW5nIHBwb2xpY3kg
Y2hhaW5pbmcgZnJvbSBzbGF2ZSB0byBtYXN0ZXINCg0KT24gTW9uLCBNYXkgMjAsIDIwMTkgYXQg
MDk6NDQ6NDVBTSArMDAwMCwgQVlBTklERVMsIEpFQU4tUEhJTElQUEUgd3JvdGU6DQo+IEhlbGxv
IE9uZMWZZWoNCj4NCj4gSSBoYXZlIHByb2NlZWRlZCBsaWtlIHRoaXMgYmVjYXVzZSBJIGhhZCBu
b3RoaW5nIG1vcmUgdG8gc2hvdyENCg0KSGkgSmVhbi1QaGlsaXBwZSwNCmlzIHNsYXBkIGFjdHVh
bGx5IHdpbGxpbmcgdG8gc2VydmUgYW55IHRyYWZmaWMgd2hpbGUgeW91IGxldCBnZGINCmNvbnRp
bnVlIG9yIGRvZXMgaXQgc2F5IHNsYXBkIHN0b3BwZWQgaW1tZWRpYXRlbHk/DQoNCkFsc28sIHdo
aWxlIHRoaXMgbWlnaHQgYmUgYSByZWQgaGVycmluZywgd2hhdCB2ZXJzaW9uIGFuZCBhcmNoaXRl
Y3R1cmUNCm9mIERlYmlhbiBkbyB5b3UgdXNlPyBUaGVyZSBhcmUgc29tZSB0aGluZ3MgYWJvdXQg
eW91ciBnZGIgb3V0cHV0IGFuZA0KbGlicmFyeSBsb2NhdGlvbnMgdGhhdCBJIGNhbid0IHJlY29u
Y2lsZSB3aXRoIGFueSByZWNlbnQgRGViaWFuIHJlbGVhc2UuDQoNCj4gSWYgSSBydW4gdGhlIGNv
bW1hbmRzIGFzIHlvdSBzYWlkOg0KPiAo4oCmKQ0KPg0KPiBMb2FkZWQgc3ltYm9scyBmb3IgL2Fw
cGxpL29wZW5sZGFwLTIuNC40Ny9saWJleGVjL29wZW5sZGFwL3Bwb2xpY3ktMi40LnNvLjINCj4g
UmVhZGluZyBzeW1ib2xzIGZyb20gL2FwcGxpL29wZW5sZGFwLTIuNC40Ny9saWJleGVjL29wZW5s
ZGFwL2JhY2tfbGRhcC0yLjQuc28uMi4uLmRvbmUuDQo+IExvYWRlZCBzeW1ib2xzIGZvciAvYXBw
bGkvb3BlbmxkYXAtMi40LjQ3L2xpYmV4ZWMvb3BlbmxkYXAvYmFja19sZGFwLTIuNC5zby4yDQo+
IFJlYWRpbmcgc3ltYm9scyBmcm9tIC9hcHBsaS9vcGVubGRhcC0yLjQuNDcvbGliZXhlYy9vcGVu
bGRhcC9wdy1zaGEyLnNvLjAuLi5kb25lLg0KPiBMb2FkZWQgc3ltYm9scyBmb3IgL2FwcGxpL29w
ZW5sZGFwLTIuNC40Ny9saWJleGVjL29wZW5sZGFwL3B3LXNoYTIuc28uMA0KPiBSZWFkaW5nIHN5
bWJvbHMgZnJvbSAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYi9saWJsZGFwX3ItMi40LnNvLjIu
Li5kb25lLg0KPiBMb2FkZWQgc3ltYm9scyBmb3IgL2FwcGxpL29wZW5sZGFwLTIuNC40Ny9saWIv
bGlibGRhcF9yLTIuNC5zby4yDQo+IFJlYWRpbmcgc3ltYm9scyBmcm9tIC9hcHBsaS9vcGVubGRh
cC0yLjQuNDcvbGliL2xpYmxiZXItMi40LnNvLjIuLi5kb25lLg0KPiBMb2FkZWQgc3ltYm9scyBm
b3IgL2FwcGxpL29wZW5sZGFwLTIuNC40Ny9saWIvbGlibGJlci0yLjQuc28uMg0KPiBGYWlsZWQg
dG8gcmVhZCBhIHZhbGlkIG9iamVjdCBmaWxlIGltYWdlIGZyb20gbWVtb3J5Lg0KPiAweGI3Yzkz
MTgzIGluIHB0aHJlYWRfam9pbiAoKSBmcm9tIC9saWIvdGxzL2xpYnB0aHJlYWQuc28uMA0KPiAo
Z2RiKSBzZXQgbG9nZ2luZyBvbg0KPiBDb3B5aW5nIG91dHB1dCB0byBnZGIudHh0Lg0KPiAoZ2Ri
KSBjb250DQo+IENvbnRpbnVpbmcuDQo+IFtOZXcgVGhyZWFkIC0xMjM3NTQxOTY4IChMV1AgMjkz
ODApXQ0KPg0KPiBQcm9ncmFtIGV4aXRlZCB3aXRoIGNvZGUgMDE3Ny4NCj4gKGdkYikgdGhyZWFk
IGFwcGx5IGFsbCBidCBmdWxsDQo+IChnZGIpDQo+IChnZGIpIHF1aXQNCg0KLS0NCk9uZMWZZWog
S3V6bsOtaw0KU2VuaW9yIFNvZnR3YXJlIEVuZ2luZWVyDQpTeW1hcyBDb3Jwb3JhdGlvbiAgICAg
ICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5zeW1hcy5jb20NClBhY2thZ2VkLCBjZXJ0aWZp
ZWQsIGFuZCBzdXBwb3J0ZWQgTERBUCBzb2x1dGlvbnMgcG93ZXJlZCBieSBPcGVuTERBUA0KVGhp
cyBtZXNzYWdlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHRoYXQgbWF5IGJlIHByaXZpbGVnZWQgb3Ig
Y29uZmlkZW50aWFsIGFuZCBpcyB0aGUgcHJvcGVydHkgb2YgdGhlIENhcGdlbWluaSBHcm91cC4g
SXQgaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiB0byB3aG9tIGl0IGlzIGFkZHJlc3Nl
ZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBub3QgYXV0
aG9yaXplZCB0byByZWFkLCBwcmludCwgcmV0YWluLCBjb3B5LCBkaXNzZW1pbmF0ZSwgZGlzdHJp
YnV0ZSwgb3IgdXNlIHRoaXMgbWVzc2FnZSBvciBhbnkgcGFydCB0aGVyZW9mLiBJZiB5b3UgcmVj
ZWl2ZSB0aGlzIG1lc3NhZ2UgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1l
ZGlhdGVseSBhbmQgZGVsZXRlIGFsbCBjb3BpZXMgb2YgdGhpcyBtZXNzYWdlLgo=
--_000_AM0PR0202MB35537CBC3DAD8A9A24C85FF4BA060AM0PR0202MB3553_
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9
ImRpc3BsYXk6bm9uZTsiPjwhLS0gUCB7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDt9IC0t
Pjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBkaXI9Imx0ciI+DQo8ZGl2IGlkPSJkaXZ0YWdkZWZh
dWx0d3JhcHBlciIgc3R5bGU9ImZvbnQtc2l6ZToxMnB0O2NvbG9yOiMwMDAwMDA7Zm9udC1mYW1p
bHk6Q2FsaWJyaSxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsiIGRpcj0ibHRyIj4NCjxwIHN0eWxlPSJt
YXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj5ZZXMsIGl0IHNlcnZlcyB0cmFmZmljLiBJdCBk
b2Vzbid0IGNyYXNoIHVudGlsIEkgcnVuIGEgYmluZCB3aXRoIGEgd3JvbmcgcGFzc3dvcmQuPC9w
Pg0KPHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAiPjxmb250IHNpemU9IjIi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDsiPiZndDsgKGdkYikgY29udDxicj4NCjwvc3Bh
bj48L2ZvbnQ+PC9wPg0KPHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAiPjxm
b250IHNpemU9IjIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDsiPiZndDsgQ29udGludWlu
Zy48YnI+DQo8L3NwYW4+PC9mb250PjwvcD4NCjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2lu
LWJvdHRvbTowIj48Zm9udCBzaXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Ij48
L3A+DQo8cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MCI+PGZvbnQgc2l6ZT0i
MiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0OyI+PGJyPg0KPC9zcGFuPjwvZm9udD48L3A+
DQo8cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MCI+PGZvbnQgc2l6ZT0iMiI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0OyI+W0xEQVAgc2VhcmNoIHdpdGggd3JvbmcgcGFz
c3dvcmRdPGJyPg0KPC9zcGFuPjwvZm9udD48L3A+DQo8YnI+DQo8L3NwYW4+PC9mb250Pg0KPHA+
PC9wPg0KPHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAiPjxmb250IHNpemU9
IjIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDsiPiZndDsgW05ldyBUaHJlYWQgLTEyMzc1
NDE5NjggKExXUCAyOTM4MCldPC9zcGFuPjwvZm9udD48L3A+DQo8cCBzdHlsZT0ibWFyZ2luLXRv
cDowO21hcmdpbi1ib3R0b206MCI+PGZvbnQgc2l6ZT0iMiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMXB0OyI+Jmd0OyBQcm9ncmFtIGV4aXRlZCB3aXRoIGNvZGUgMDE3Ny48YnI+DQomZ3Q7IChn
ZGIpIHRocmVhZCBhcHBseSBhbGwgYnQgZnVsbDwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgc3R5bGU9
Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAiPjxicj4NCjwvcD4NCjxwIHN0eWxlPSJtYXJn
aW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj5ZZXMgc29ycnksIEl0IHJ1bnMgb24gYW4gb2xkIHZl
cnNpb24gb2YgZGViaWFuOiA0OjAgMzIgYml0cyB0aGF0IEkgYW0gbm90IGF1dGhvcmlzZWQgdG8g
dXBncmFkZS48L3A+DQo8cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MCI+SXQg
dGhlIGZpcnN0IHRpbWUgd2UgcmVjb3JkIHRoYXQgc29ydCBvZiBpc3N1ZSBvbiB0aGF0IHBsYXRm
b3Jt4oCmPGJyPg0KPC9wPg0KPHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAi
Pjxicj4NCjwvcD4NCjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj5KZWFu
LVBoaWxpcHBlPGJyPg0KPC9wPg0KPHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1
b3Q7QXJpYWwmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgY29sb3I6IzAwOThDQyI+PC9z
cGFuPjwvc3Ryb25nPg0KPGRpdiBpZD0iU2lnbmF0dXJlIj48L2Rpdj4NCjwvZGl2Pg0KPGhyIHN0
eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo5OCUiIHRhYmluZGV4PSItMSI+DQo8ZGl2
IGlkPSJkaXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1z
ZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0IiBjb2xvcj0iIzAwMDAwMCI+PGI+RGUgOjwvYj4g
T25kxZllaiBLdXpuw61rICZsdDtvbmRyYUBtaXN0b3RlYmUubmV0Jmd0Ozxicj4NCjxiPkVudm95
w6kgOjwvYj4gbHVuZGkgMjAgbWFpIDIwMTkgMTI6MjA6NDU8YnI+DQo8Yj7DgCA6PC9iPiBBWUFO
SURFUywgSkVBTi1QSElMSVBQRTxicj4NCjxiPkNjJm5ic3A7OjwvYj4gb3BlbmxkYXAtaXRzQE9w
ZW5MREFQLm9yZzxicj4NCjxiPk9iamV0IDo8L2I+IFJlOiAoSVRTIzkwMjMpIGNyYXNoIHVzaW5n
IHBwb2xpY3kgY2hhaW5pbmcgZnJvbSBzbGF2ZSB0byBtYXN0ZXI8L2ZvbnQ+DQo8ZGl2PiZuYnNw
OzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJCb2R5RnJhZ21lbnQiPjxmb250IHNpemU9IjIi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDsiPg0KPGRpdiBjbGFzcz0iUGxhaW5UZXh0Ij5P
biBNb24sIE1heSAyMCwgMjAxOSBhdCAwOTo0NDo0NUFNICYjNDM7MDAwMCwgQVlBTklERVMsIEpF
QU4tUEhJTElQUEUgd3JvdGU6PGJyPg0KJmd0OyBIZWxsbyBPbmTFmWVqPGJyPg0KJmd0OyA8YnI+
DQomZ3Q7IEkgaGF2ZSBwcm9jZWVkZWQgbGlrZSB0aGlzIGJlY2F1c2UgSSBoYWQgbm90aGluZyBt
b3JlIHRvIHNob3chPGJyPg0KPGJyPg0KSGkgSmVhbi1QaGlsaXBwZSw8YnI+DQppcyBzbGFwZCBh
Y3R1YWxseSB3aWxsaW5nIHRvIHNlcnZlIGFueSB0cmFmZmljIHdoaWxlIHlvdSBsZXQgZ2RiPGJy
Pg0KY29udGludWUgb3IgZG9lcyBpdCBzYXkgc2xhcGQgc3RvcHBlZCBpbW1lZGlhdGVseT88YnI+
DQo8YnI+DQpBbHNvLCB3aGlsZSB0aGlzIG1pZ2h0IGJlIGEgcmVkIGhlcnJpbmcsIHdoYXQgdmVy
c2lvbiBhbmQgYXJjaGl0ZWN0dXJlPGJyPg0Kb2YgRGViaWFuIGRvIHlvdSB1c2U/IFRoZXJlIGFy
ZSBzb21lIHRoaW5ncyBhYm91dCB5b3VyIGdkYiBvdXRwdXQgYW5kPGJyPg0KbGlicmFyeSBsb2Nh
dGlvbnMgdGhhdCBJIGNhbid0IHJlY29uY2lsZSB3aXRoIGFueSByZWNlbnQgRGViaWFuIHJlbGVh
c2UuPGJyPg0KPGJyPg0KJmd0OyBJZiBJIHJ1biB0aGUgY29tbWFuZHMgYXMgeW91IHNhaWQ6PGJy
Pg0KJmd0OyAo4oCmKTxicj4NCiZndDsgPGJyPg0KJmd0OyBMb2FkZWQgc3ltYm9scyBmb3IgL2Fw
cGxpL29wZW5sZGFwLTIuNC40Ny9saWJleGVjL29wZW5sZGFwL3Bwb2xpY3ktMi40LnNvLjI8YnI+
DQomZ3Q7IFJlYWRpbmcgc3ltYm9scyBmcm9tIC9hcHBsaS9vcGVubGRhcC0yLjQuNDcvbGliZXhl
Yy9vcGVubGRhcC9iYWNrX2xkYXAtMi40LnNvLjIuLi5kb25lLjxicj4NCiZndDsgTG9hZGVkIHN5
bWJvbHMgZm9yIC9hcHBsaS9vcGVubGRhcC0yLjQuNDcvbGliZXhlYy9vcGVubGRhcC9iYWNrX2xk
YXAtMi40LnNvLjI8YnI+DQomZ3Q7IFJlYWRpbmcgc3ltYm9scyBmcm9tIC9hcHBsaS9vcGVubGRh
cC0yLjQuNDcvbGliZXhlYy9vcGVubGRhcC9wdy1zaGEyLnNvLjAuLi5kb25lLjxicj4NCiZndDsg
TG9hZGVkIHN5bWJvbHMgZm9yIC9hcHBsaS9vcGVubGRhcC0yLjQuNDcvbGliZXhlYy9vcGVubGRh
cC9wdy1zaGEyLnNvLjA8YnI+DQomZ3Q7IFJlYWRpbmcgc3ltYm9scyBmcm9tIC9hcHBsaS9vcGVu
bGRhcC0yLjQuNDcvbGliL2xpYmxkYXBfci0yLjQuc28uMi4uLmRvbmUuPGJyPg0KJmd0OyBMb2Fk
ZWQgc3ltYm9scyBmb3IgL2FwcGxpL29wZW5sZGFwLTIuNC40Ny9saWIvbGlibGRhcF9yLTIuNC5z
by4yPGJyPg0KJmd0OyBSZWFkaW5nIHN5bWJvbHMgZnJvbSAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3
L2xpYi9saWJsYmVyLTIuNC5zby4yLi4uZG9uZS48YnI+DQomZ3Q7IExvYWRlZCBzeW1ib2xzIGZv
ciAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYi9saWJsYmVyLTIuNC5zby4yPGJyPg0KJmd0OyBG
YWlsZWQgdG8gcmVhZCBhIHZhbGlkIG9iamVjdCBmaWxlIGltYWdlIGZyb20gbWVtb3J5Ljxicj4N
CiZndDsgMHhiN2M5MzE4MyBpbiBwdGhyZWFkX2pvaW4gKCkgZnJvbSAvbGliL3Rscy9saWJwdGhy
ZWFkLnNvLjA8YnI+DQomZ3Q7IChnZGIpIHNldCBsb2dnaW5nIG9uPGJyPg0KJmd0OyBDb3B5aW5n
IG91dHB1dCB0byBnZGIudHh0Ljxicj4NCiZndDsgKGdkYikgY29udDxicj4NCiZndDsgQ29udGlu
dWluZy48YnI+DQomZ3Q7IFtOZXcgVGhyZWFkIC0xMjM3NTQxOTY4IChMV1AgMjkzODApXTxicj4N
CiZndDsgPGJyPg0KJmd0OyBQcm9ncmFtIGV4aXRlZCB3aXRoIGNvZGUgMDE3Ny48YnI+DQomZ3Q7
IChnZGIpIHRocmVhZCBhcHBseSBhbGwgYnQgZnVsbDxicj4NCiZndDsgKGdkYik8YnI+DQomZ3Q7
IChnZGIpIHF1aXQ8YnI+DQo8YnI+DQotLSA8YnI+DQpPbmTFmWVqIEt1em7DrWs8YnI+DQpTZW5p
b3IgU29mdHdhcmUgRW5naW5lZXI8YnI+DQpTeW1hcyBDb3Jwb3JhdGlvbiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyA8YSBocmVmPSJodHRwOi8vd3d3LnN5bWFzLmNvbSI+aHR0cDovL3d3dy5zeW1hcy5jb208
L2E+PGJyPg0KUGFja2FnZWQsIGNlcnRpZmllZCwgYW5kIHN1cHBvcnRlZCBMREFQIHNvbHV0aW9u
cyBwb3dlcmVkIGJ5IE9wZW5MREFQPGJyPg0KPC9kaXY+DQo8L3NwYW4+PC9mb250PjwvZGl2Pg0K
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogOXB4OyBsaW5lLWhlaWdodDogMTBweDsiPlRoaXMgbWVz
c2FnZSBjb250YWlucyBpbmZvcm1hdGlvbiB0aGF0IG1heSBiZSBwcml2aWxlZ2VkIG9yIGNvbmZp
ZGVudGlhbCBhbmQgaXMgdGhlIHByb3BlcnR5IG9mIHRoZSBDYXBnZW1pbmkgR3JvdXAuIEl0IGlz
IGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gdG8gd2hvbSBpdCBpcyBhZGRyZXNzZWQuIElm
IHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHlvdSBhcmUgbm90IGF1dGhvcml6
ZWQgdG8gcmVhZCwgcHJpbnQsIHJldGFpbiwgY29weSwgZGlzc2VtaW5hdGUsIGRpc3RyaWJ1dGUs
IG9yIHVzZSB0aGlzIG1lc3NhZ2Ugb3IgYW55IHBhcnQgdGhlcmVvZi4gSWYgeW91IHJlY2VpdmUg
dGhpcyBtZXNzYWdlIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRl
bHkgYW5kIGRlbGV0ZSBhbGwgY29waWVzIG9mIHRoaXMgbWVzc2FnZS48L3NwYW4+PC9ib2R5Pg0K
PC9odG1sPg0K
--_000_AM0PR0202MB35537CBC3DAD8A9A24C85FF4BA060AM0PR0202MB3553_--
4 years, 4 months
Re: (ITS#9023) crash using ppolicy chaining from slave to master
by ondra@mistotebe.net
On Mon, May 20, 2019 at 09:44:45AM +0000, AYANIDES, JEAN-PHILIPPE wrote:
> Hello Ondřej
>
> I have proceeded like this because I had nothing more to show!
Hi Jean-Philippe,
is slapd actually willing to serve any traffic while you let gdb
continue or does it say slapd stopped immediately?
Also, while this might be a red herring, what version and architecture
of Debian do you use? There are some things about your gdb output and
library locations that I can't reconcile with any recent Debian release.
> If I run the commands as you said:
> (…)
>
> Loaded symbols for /appli/openldap-2.4.47/libexec/openldap/ppolicy-2.4.so.2
> Reading symbols from /appli/openldap-2.4.47/libexec/openldap/back_ldap-2.4.so.2...done.
> Loaded symbols for /appli/openldap-2.4.47/libexec/openldap/back_ldap-2.4.so.2
> Reading symbols from /appli/openldap-2.4.47/libexec/openldap/pw-sha2.so.0...done.
> Loaded symbols for /appli/openldap-2.4.47/libexec/openldap/pw-sha2.so.0
> Reading symbols from /appli/openldap-2.4.47/lib/libldap_r-2.4.so.2...done.
> Loaded symbols for /appli/openldap-2.4.47/lib/libldap_r-2.4.so.2
> Reading symbols from /appli/openldap-2.4.47/lib/liblber-2.4.so.2...done.
> Loaded symbols for /appli/openldap-2.4.47/lib/liblber-2.4.so.2
> Failed to read a valid object file image from memory.
> 0xb7c93183 in pthread_join () from /lib/tls/libpthread.so.0
> (gdb) set logging on
> Copying output to gdb.txt.
> (gdb) cont
> Continuing.
> [New Thread -1237541968 (LWP 29380)]
>
> Program exited with code 0177.
> (gdb) thread apply all bt full
> (gdb)
> (gdb) quit
--
Ondřej Kuzník
Senior Software Engineer
Symas Corporation http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP
4 years, 4 months
RE: (ITS#9023) crash using ppolicy chaining from slave to master
by jpayanides@prosodie.com
--_000_AM0PR0202MB3553B6F7E1BAA0A82AF24A4FBA060AM0PR0202MB3553_
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
SGVsbG8gT25kxZllag0KDQpJIGhhdmUgcHJvY2VlZGVkIGxpa2UgdGhpcyBiZWNhdXNlIEkgaGFk
IG5vdGhpbmcgbW9yZSB0byBzaG93IQ0KDQpJZiBJIHJ1biB0aGUgY29tbWFuZHMgYXMgeW91IHNh
aWQ6DQoNCg0KKOKApikNCg0KTG9hZGVkIHN5bWJvbHMgZm9yIC9hcHBsaS9vcGVubGRhcC0yLjQu
NDcvbGliZXhlYy9vcGVubGRhcC9wcG9saWN5LTIuNC5zby4yDQpSZWFkaW5nIHN5bWJvbHMgZnJv
bSAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYmV4ZWMvb3BlbmxkYXAvYmFja19sZGFwLTIuNC5z
by4yLi4uZG9uZS4NCkxvYWRlZCBzeW1ib2xzIGZvciAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xp
YmV4ZWMvb3BlbmxkYXAvYmFja19sZGFwLTIuNC5zby4yDQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAv
YXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYmV4ZWMvb3BlbmxkYXAvcHctc2hhMi5zby4wLi4uZG9u
ZS4NCkxvYWRlZCBzeW1ib2xzIGZvciAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYmV4ZWMvb3Bl
bmxkYXAvcHctc2hhMi5zby4wDQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvYXBwbGkvb3BlbmxkYXAt
Mi40LjQ3L2xpYi9saWJsZGFwX3ItMi40LnNvLjIuLi5kb25lLg0KTG9hZGVkIHN5bWJvbHMgZm9y
IC9hcHBsaS9vcGVubGRhcC0yLjQuNDcvbGliL2xpYmxkYXBfci0yLjQuc28uMg0KUmVhZGluZyBz
eW1ib2xzIGZyb20gL2FwcGxpL29wZW5sZGFwLTIuNC40Ny9saWIvbGlibGJlci0yLjQuc28uMi4u
LmRvbmUuDQpMb2FkZWQgc3ltYm9scyBmb3IgL2FwcGxpL29wZW5sZGFwLTIuNC40Ny9saWIvbGli
bGJlci0yLjQuc28uMg0KRmFpbGVkIHRvIHJlYWQgYSB2YWxpZCBvYmplY3QgZmlsZSBpbWFnZSBm
cm9tIG1lbW9yeS4NCjB4YjdjOTMxODMgaW4gcHRocmVhZF9qb2luICgpIGZyb20gL2xpYi90bHMv
bGlicHRocmVhZC5zby4wDQooZ2RiKSBzZXQgbG9nZ2luZyBvbg0KQ29weWluZyBvdXRwdXQgdG8g
Z2RiLnR4dC4NCihnZGIpIGNvbnQNCkNvbnRpbnVpbmcuDQpbTmV3IFRocmVhZCAtMTIzNzU0MTk2
OCAoTFdQIDI5MzgwKV0NCg0KUHJvZ3JhbSBleGl0ZWQgd2l0aCBjb2RlIDAxNzcuDQooZ2RiKSB0
aHJlYWQgYXBwbHkgYWxsIGJ0IGZ1bGwNCihnZGIpDQooZ2RiKSBxdWl0DQoNCg0KSSBnZXQgdGhl
IGZpbGUgZ2RiLnR4dCBjb250YWluaW5nIG9ubHkgdGhhdDoNCg0KDQpyb290QHJhZGE6fiQgY2F0
IGdkYi50eHQNCkNvbnRpbnVpbmcuDQpbTmV3IFRocmVhZCAtMTIzNzQyNzI4MCAoTFdQIDMwODMp
XQ0KDQpQcm9ncmFtIGV4aXRlZCB3aXRoIGNvZGUgMDE3Ny4NCnJvb3RAcmFkYTp+JA0KDQoNCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpEZSA6IE9uZMWZZWogS3V6bsOtayA8b25k
cmFAbWlzdG90ZWJlLm5ldD4NCkVudm95w6kgOiBsdW5kaSAyMCBtYWkgMjAxOSAxMTozMDowMw0K
w4AgOiBBWUFOSURFUywgSkVBTi1QSElMSVBQRQ0KQ2MgOiBvcGVubGRhcC1pdHNAT3BlbkxEQVAu
b3JnDQpPYmpldCA6IFJlOiAoSVRTIzkwMjMpIGNyYXNoIHVzaW5nIHBwb2xpY3kgY2hhaW5pbmcg
ZnJvbSBzbGF2ZSB0byBtYXN0ZXINCg0KT24gTW9uLCBNYXkgMjAsIDIwMTkgYXQgMDk6MTE6MjFB
TSArMDAwMCwganBheWFuaWRlc0Bwcm9zb2RpZS5jb20gd3JvdGU6DQo+IEhlbGxvIFF1YW5haCwN
Cj4NCj4gd2hhdCBJIGhhdmUgZG9uZToNCj4NCj4NCj4gL3Zhci9pbnN0YWxsL29wZW5sZGFwLTIu
NC40Ny9zZXJ2ZXJzL3NsYXBkL3NsYXBkIC1oICJsZGFwOi8vKjozOTAgbGRhcHM6Ly8qPQ0KPiA6
NjM3IiAtbCBMT0NBTDUgLWYgL2FwcGxpL29wZW5sZGFwLXByZXByb2QvZXRjL3NsYXBkLmNvbmYg
LXUgcm9vdCAtZyByb290IDs9DQo+ICBwcyBhdXggfCBncmVwIGxkYXANCj4NCj4gZ2RiIC92YXIv
aW5zdGFsbC9vcGVubGRhcC0yLjQuNDcvc2VydmVycy9zbGFwZC9zbGFwZCAxNTY4NA0KPg0KPiAo
Z2RiKSBzZXQgbG9nZ2luZyBvbg0KPiAoZ2RiKSB0aHJlYWQgYXBwbHkgYWxsIGJ0IGZ1bGwNCj4g
KGdkYikgY29udA0KPiA8Y3Jhc2hpbmcgb3BlcmF0aW9uPg0KPg0KPiBIZXJlIGlzIHRoZSBkdW1w
Lg0KPg0KPiBTZWVtcyB0byBjcmFzaCB3aGVuIHJldHVybmluZyBmcm9tIGxpYnB0aHJlYWQNCg0K
SGkgSmVhbi1QaGlsaXBwZSwNCnRoZSBiYWNrdHJhY2UgeW91IHJlY29yZGVkIHdhcyBkdXJpbmcg
bm9ybWFsIG9wZXJhdGlvbiwgeW91IG5lZWQgdG8gZG8NCnRoZSBvcHBvc2l0ZSwgY29udGludWUg
dG8gbGV0IHRoZSBwcm9ncmFtIGNyYXNoLCB3aXRoIGdkYiBpbnRlcmNlcHRpbmcNCnRoYXQuIFRo
ZW4geW91IGNhbiB1c2UgJ3RocmVhZCBhcHBseSBhbGwgYnQgZnVsbCcgdG8gaW5zcGVjdCB0aGUg
c3RhdGUNCm9mIHNsYXBkIGF0IHRoZSBwb2ludCBpdCBjcmFzaGVkLCBzbyB3aGF0IHNob3VsZCB5
b3UgZG86DQoNCj4gKGdkYikgY29udA0KPiA8Y3Jhc2hpbmcgb3BlcmF0aW9uPg0KPiAoZ2RiKSB0
aHJlYWQgYXBwbHkgYWxsIGJ0IGZ1bGwNCg0KUmVnYXJkcywNCg0KLS0NCk9uZMWZZWogS3V6bsOt
aw0KU2VuaW9yIFNvZnR3YXJlIEVuZ2luZWVyDQpTeW1hcyBDb3Jwb3JhdGlvbiAgICAgICAgICAg
ICAgICAgICAgICAgaHR0cDovL3d3dy5zeW1hcy5jb20NClBhY2thZ2VkLCBjZXJ0aWZpZWQsIGFu
ZCBzdXBwb3J0ZWQgTERBUCBzb2x1dGlvbnMgcG93ZXJlZCBieSBPcGVuTERBUA0KVGhpcyBtZXNz
YWdlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHRoYXQgbWF5IGJlIHByaXZpbGVnZWQgb3IgY29uZmlk
ZW50aWFsIGFuZCBpcyB0aGUgcHJvcGVydHkgb2YgdGhlIENhcGdlbWluaSBHcm91cC4gSXQgaXMg
aW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZC4gSWYg
eW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBub3QgYXV0aG9yaXpl
ZCB0byByZWFkLCBwcmludCwgcmV0YWluLCBjb3B5LCBkaXNzZW1pbmF0ZSwgZGlzdHJpYnV0ZSwg
b3IgdXNlIHRoaXMgbWVzc2FnZSBvciBhbnkgcGFydCB0aGVyZW9mLiBJZiB5b3UgcmVjZWl2ZSB0
aGlzIG1lc3NhZ2UgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVs
eSBhbmQgZGVsZXRlIGFsbCBjb3BpZXMgb2YgdGhpcyBtZXNzYWdlLgo=
--_000_AM0PR0202MB3553B6F7E1BAA0A82AF24A4FBA060AM0PR0202MB3553_
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9
ImRpc3BsYXk6bm9uZTsiPjwhLS0gUCB7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDt9IC0t
Pjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBkaXI9Imx0ciI+DQo8ZGl2IGlkPSJkaXZ0YWdkZWZh
dWx0d3JhcHBlciIgc3R5bGU9ImZvbnQtc2l6ZToxMnB0O2NvbG9yOiMwMDAwMDA7Zm9udC1mYW1p
bHk6Q2FsaWJyaSxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsiIGRpcj0ibHRyIj4NCjxwIHN0eWxlPSJt
YXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj5IZWxsbyZuYnNwOzxmb250IHNpemU9IjIiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDsiPk9uZMWZZWombmJzcDs8L3NwYW4+PC9mb250Pjwv
cD4NCjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj5JIGhhdmUgcHJvY2Vl
ZGVkIGxpa2UgdGhpcyBiZWNhdXNlIEkgaGFkIG5vdGhpbmcgbW9yZSB0byBzaG93ITwvcD4NCjxw
IHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj5JZiBJIHJ1biB0aGUgY29tbWFu
ZHMgYXMgeW91IHNhaWQ6PC9wPg0KPHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9t
OjAiPjxicj4NCjwvcD4NCjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj4o
4oCmKTwvcD4NCjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj48L3A+DQo8
ZGl2PkxvYWRlZCBzeW1ib2xzIGZvciAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYmV4ZWMvb3Bl
bmxkYXAvcHBvbGljeS0yLjQuc28uMjxicj4NClJlYWRpbmcgc3ltYm9scyBmcm9tIC9hcHBsaS9v
cGVubGRhcC0yLjQuNDcvbGliZXhlYy9vcGVubGRhcC9iYWNrX2xkYXAtMi40LnNvLjIuLi5kb25l
Ljxicj4NCkxvYWRlZCBzeW1ib2xzIGZvciAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYmV4ZWMv
b3BlbmxkYXAvYmFja19sZGFwLTIuNC5zby4yPGJyPg0KUmVhZGluZyBzeW1ib2xzIGZyb20gL2Fw
cGxpL29wZW5sZGFwLTIuNC40Ny9saWJleGVjL29wZW5sZGFwL3B3LXNoYTIuc28uMC4uLmRvbmUu
PGJyPg0KTG9hZGVkIHN5bWJvbHMgZm9yIC9hcHBsaS9vcGVubGRhcC0yLjQuNDcvbGliZXhlYy9v
cGVubGRhcC9wdy1zaGEyLnNvLjA8YnI+DQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvYXBwbGkvb3Bl
bmxkYXAtMi40LjQ3L2xpYi9saWJsZGFwX3ItMi40LnNvLjIuLi5kb25lLjxicj4NCkxvYWRlZCBz
eW1ib2xzIGZvciAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYi9saWJsZGFwX3ItMi40LnNvLjI8
YnI+DQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvYXBwbGkvb3BlbmxkYXAtMi40LjQ3L2xpYi9saWJs
YmVyLTIuNC5zby4yLi4uZG9uZS48YnI+DQpMb2FkZWQgc3ltYm9scyBmb3IgL2FwcGxpL29wZW5s
ZGFwLTIuNC40Ny9saWIvbGlibGJlci0yLjQuc28uMjxicj4NCkZhaWxlZCB0byByZWFkIGEgdmFs
aWQgb2JqZWN0IGZpbGUgaW1hZ2UgZnJvbSBtZW1vcnkuPGJyPg0KMHhiN2M5MzE4MyBpbiBwdGhy
ZWFkX2pvaW4gKCkgZnJvbSAvbGliL3Rscy9saWJwdGhyZWFkLnNvLjA8YnI+DQooZ2RiKSBzZXQg
bG9nZ2luZyBvbjxicj4NCkNvcHlpbmcgb3V0cHV0IHRvIGdkYi50eHQuPGJyPg0KKGdkYikgY29u
dDxicj4NCkNvbnRpbnVpbmcuPGJyPg0KW05ldyBUaHJlYWQgLTEyMzc1NDE5NjggKExXUCAyOTM4
MCldPGJyPg0KPGJyPg0KUHJvZ3JhbSBleGl0ZWQgd2l0aCBjb2RlIDAxNzcuPGJyPg0KKGdkYikg
dGhyZWFkIGFwcGx5IGFsbCBidCBmdWxsPGJyPg0KKGdkYik8YnI+DQooZ2RiKSBxdWl0PGJyPg0K
PGJyPg0KPC9kaXY+DQo8cD48L3A+DQo8cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0
b206MCI+SSBnZXQgdGhlIGZpbGUgZ2RiLnR4dCBjb250YWluaW5nIG9ubHkgdGhhdDo8L3A+DQo8
cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MCI+PGJyPg0KPC9wPg0KPHAgc3R5
bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAiPjwvcD4NCjxkaXY+cm9vdEByYWRhOn4k
IGNhdCBnZGIudHh0PGJyPg0KQ29udGludWluZy48YnI+DQpbTmV3IFRocmVhZCAtMTIzNzQyNzI4
MCAoTFdQIDMwODMpXTxicj4NCjxicj4NClByb2dyYW0gZXhpdGVkIHdpdGggY29kZSAwMTc3Ljxi
cj4NCnJvb3RAcmFkYTp+JDxicj4NCjxicj4NCjwvZGl2Pg0KPHN0cm9uZz48c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgY29s
b3I6IzAwOThDQyI+PC9zcGFuPjwvc3Ryb25nPg0KPHA+PC9wPg0KPGRpdiBpZD0iU2lnbmF0dXJl
Ij48L2Rpdj4NCjwvZGl2Pg0KPGhyIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo5
OCUiIHRhYmluZGV4PSItMSI+DQo8ZGl2IGlkPSJkaXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZv
bnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0IiBjb2xv
cj0iIzAwMDAwMCI+PGI+RGUgOjwvYj4gT25kxZllaiBLdXpuw61rICZsdDtvbmRyYUBtaXN0b3Rl
YmUubmV0Jmd0Ozxicj4NCjxiPkVudm95w6kgOjwvYj4gbHVuZGkgMjAgbWFpIDIwMTkgMTE6MzA6
MDM8YnI+DQo8Yj7DgCA6PC9iPiBBWUFOSURFUywgSkVBTi1QSElMSVBQRTxicj4NCjxiPkNjJm5i
c3A7OjwvYj4gb3BlbmxkYXAtaXRzQE9wZW5MREFQLm9yZzxicj4NCjxiPk9iamV0IDo8L2I+IFJl
OiAoSVRTIzkwMjMpIGNyYXNoIHVzaW5nIHBwb2xpY3kgY2hhaW5pbmcgZnJvbSBzbGF2ZSB0byBt
YXN0ZXI8L2ZvbnQ+DQo8ZGl2PiZuYnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJCb2R5
RnJhZ21lbnQiPjxmb250IHNpemU9IjIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDsiPg0K
PGRpdiBjbGFzcz0iUGxhaW5UZXh0Ij5PbiBNb24sIE1heSAyMCwgMjAxOSBhdCAwOToxMToyMUFN
ICYjNDM7MDAwMCwganBheWFuaWRlc0Bwcm9zb2RpZS5jb20gd3JvdGU6PGJyPg0KJmd0OyBIZWxs
byBRdWFuYWgsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IHdoYXQgSSBoYXZlIGRvbmU6PGJyPg0KJmd0
OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgL3Zhci9pbnN0YWxsL29wZW5sZGFwLTIuNC40Ny9zZXJ2
ZXJzL3NsYXBkL3NsYXBkIC1oICZxdW90O2xkYXA6Ly8qOjM5MCBsZGFwczovLyo9PGJyPg0KJmd0
OyA6NjM3JnF1b3Q7IC1sIExPQ0FMNSAtZiAvYXBwbGkvb3BlbmxkYXAtcHJlcHJvZC9ldGMvc2xh
cGQuY29uZiAtdSByb290IC1nIHJvb3QgOz08YnI+DQomZ3Q7Jm5ic3A7IHBzIGF1eCB8IGdyZXAg
bGRhcDxicj4NCiZndDsgPGJyPg0KJmd0OyBnZGIgL3Zhci9pbnN0YWxsL29wZW5sZGFwLTIuNC40
Ny9zZXJ2ZXJzL3NsYXBkL3NsYXBkIDE1Njg0PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IChnZGIpIHNl
dCBsb2dnaW5nIG9uPGJyPg0KJmd0OyAoZ2RiKSB0aHJlYWQgYXBwbHkgYWxsIGJ0IGZ1bGw8YnI+
DQomZ3Q7IChnZGIpIGNvbnQ8YnI+DQomZ3Q7ICZsdDtjcmFzaGluZyBvcGVyYXRpb24mZ3Q7PGJy
Pg0KJmd0OyA8YnI+DQomZ3Q7IEhlcmUgaXMgdGhlIGR1bXAuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7
IFNlZW1zIHRvIGNyYXNoIHdoZW4gcmV0dXJuaW5nIGZyb20gbGlicHRocmVhZDxicj4NCjxicj4N
CkhpIEplYW4tUGhpbGlwcGUsPGJyPg0KdGhlIGJhY2t0cmFjZSB5b3UgcmVjb3JkZWQgd2FzIGR1
cmluZyBub3JtYWwgb3BlcmF0aW9uLCB5b3UgbmVlZCB0byBkbzxicj4NCnRoZSBvcHBvc2l0ZSwg
Y29udGludWUgdG8gbGV0IHRoZSBwcm9ncmFtIGNyYXNoLCB3aXRoIGdkYiBpbnRlcmNlcHRpbmc8
YnI+DQp0aGF0LiBUaGVuIHlvdSBjYW4gdXNlICd0aHJlYWQgYXBwbHkgYWxsIGJ0IGZ1bGwnIHRv
IGluc3BlY3QgdGhlIHN0YXRlPGJyPg0Kb2Ygc2xhcGQgYXQgdGhlIHBvaW50IGl0IGNyYXNoZWQs
IHNvIHdoYXQgc2hvdWxkIHlvdSBkbzo8YnI+DQo8YnI+DQomZ3Q7IChnZGIpIGNvbnQ8YnI+DQom
Z3Q7ICZsdDtjcmFzaGluZyBvcGVyYXRpb24mZ3Q7PGJyPg0KJmd0OyAoZ2RiKSB0aHJlYWQgYXBw
bHkgYWxsIGJ0IGZ1bGw8YnI+DQo8YnI+DQpSZWdhcmRzLDxicj4NCjxicj4NCi0tIDxicj4NCk9u
ZMWZZWogS3V6bsOtazxicj4NClNlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcjxicj4NClN5bWFzIENv
cnBvcmF0aW9uJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly93d3cuc3ltYXMuY29t
Ij5odHRwOi8vd3d3LnN5bWFzLmNvbTwvYT48YnI+DQpQYWNrYWdlZCwgY2VydGlmaWVkLCBhbmQg
c3VwcG9ydGVkIExEQVAgc29sdXRpb25zIHBvd2VyZWQgYnkgT3BlbkxEQVA8YnI+DQo8L2Rpdj4N
Cjwvc3Bhbj48L2ZvbnQ+PC9kaXY+DQo8cD48L3A+DQoNCjxwPjwvcD4NCg0KPHA+PC9wPg0KDQo8
cCBzdHlsZT0iZm9udC1zaXplOiA5cHg7ICI+VGhpcyBtZXNzYWdlIGNvbnRhaW5zIGluZm9ybWF0
aW9uIHRoYXQgbWF5IGJlIHByaXZpbGVnZWQgb3IgY29uZmlkZW50aWFsIGFuZCBpcyB0aGUgcHJv
cGVydHkgb2YgdGhlIENhcGdlbWluaSBHcm91cC4gSXQgaXMgaW50ZW5kZWQgb25seSBmb3IgdGhl
IHBlcnNvbiB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVu
ZGVkIHJlY2lwaWVudCwgeW91IGFyZSBub3QgYXV0aG9yaXplZCB0byByZWFkLCBwcmludCwgcmV0
YWluLCBjb3B5LCBkaXNzZW1pbmF0ZSwgZGlzdHJpYnV0ZSwgb3IgdXNlIHRoaXMgbWVzc2FnZSBv
ciBhbnkgcGFydCB0aGVyZW9mLiBJZiB5b3UgcmVjZWl2ZSB0aGlzIG1lc3NhZ2UgaW4gZXJyb3Is
IHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGFsbCBjb3Bp
ZXMgb2YgdGhpcyBtZXNzYWdlLjwvcD48L2JvZHk+DQo8L2h0bWw+DQo=
--_000_AM0PR0202MB3553B6F7E1BAA0A82AF24A4FBA060AM0PR0202MB3553_--
4 years, 4 months