From c42d66cb96926316581422ee9afa2ee2c168c399 Mon Sep 17 00:00:00 2001 From: Kazuo Teramoto Date: Fri, 30 Dec 2011 22:57:27 +2200 Subject: [PATCH] Segmentation fault at gmime-iconv with python binding --- 60/a04e21ed13e699201946b4c6981b2fec172058 | 221 ++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 60/a04e21ed13e699201946b4c6981b2fec172058 diff --git a/60/a04e21ed13e699201946b4c6981b2fec172058 b/60/a04e21ed13e699201946b4c6981b2fec172058 new file mode 100644 index 000000000..746183b92 --- /dev/null +++ b/60/a04e21ed13e699201946b4c6981b2fec172058 @@ -0,0 +1,221 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 039B1431FD0 + for ; Thu, 29 Dec 2011 16:57:29 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.799 +X-Spam-Level: +X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5 + tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, + FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id FUSPuI-FfdtP for ; + Thu, 29 Dec 2011 16:57:28 -0800 (PST) +Received: from mail-tul01m020-f181.google.com (mail-tul01m020-f181.google.com + [209.85.214.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 62F95431FB6 + for ; Thu, 29 Dec 2011 16:57:28 -0800 (PST) +Received: by obbup6 with SMTP id up6so11549735obb.26 + for ; Thu, 29 Dec 2011 16:57:27 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; + h=mime-version:date:message-id:subject:from:to:content-type; + bh=wzxpweb9134wHq1ywIP91AFu35cgxpuaLjNKZqPWFew=; + b=i4pICZ+OZKw1MHsPt+4E1wiSU1wDega6cCIi2zG7n38Fq3OjcVOv1SX7kjqwph0xxa + 6HVpvg5GBm1BCDqV+DJz5a/1re+saCPFiKTL8EXPnKG/FZL/xarI1keC6EhK/llqmM+V + ABso1Np9JfBkL8vlP33UyOVvDN7hIjVC3Xa6c= +MIME-Version: 1.0 +Received: by 10.182.167.36 with SMTP id zl4mr28095577obb.54.1325206647891; + Thu, 29 Dec 2011 16:57:27 -0800 (PST) +Received: by 10.182.137.9 with HTTP; Thu, 29 Dec 2011 16:57:27 -0800 (PST) +Date: Thu, 29 Dec 2011 22:57:27 -0200 +Message-ID: + +Subject: Segmentation fault at gmime-iconv with python binding +From: Kazuo Teramoto +To: notmuch@notmuchmail.org +Content-Type: multipart/mixed; boundary=e89a8f83972f80650404b544b781 +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Fri, 30 Dec 2011 00:57:29 -0000 + +--e89a8f83972f80650404b544b781 +Content-Type: text/plain; charset=UTF-8 + +Hi! + +When I try to run the attached test.py after adding the attached email +(4EFC743A.3060609_april.org) to notmuch db I got a segmentation fault +(gdb bt attached). + +This is what I think a relevant part of it: +~~~~~~~~ +(gdb) frame 1 +#1 0x00007ffff5f2759c in g_mime_iconv_open (to=0x761ef0 "UTF-8", +from=0x83d590 "iso-8859-1") at gmime-iconv.c:261 +261 if ((node = (IconvCacheNode *) cache_node_lookup (iconv_cache, +key, TRUE))) { +(gdb) list +256 key = g_alloca (strlen (from) + strlen (to) + 2); +257 sprintf (key, "%s:%s", from, to); +258 +259 ICONV_CACHE_LOCK (); +260 +261 if ((node = (IconvCacheNode *) cache_node_lookup (iconv_cache, +key, TRUE))) { +262 if (node->used) { +263 if ((cd = iconv_open (to, from)) == (iconv_t) -1) +264 goto exception; +265 } else { +(gdb) print iconv_cache +$1 = (Cache *) 0x0 +(gdb) +~~~~~~~~ + +iconv_cache is initialized in g_mime_iconv_init() that is called by +g_mime_init(). + +notmuch CLI show the message correct. I know nothing about gmime or +notmuch code, but can this be the case of the python bindings not +calling g_mime_init() correctly? + +Regards, +Kazuo Teramoto + +--e89a8f83972f80650404b544b781 +Content-Type: text/x-python; charset=US-ASCII; name="test.py" +Content-Disposition: attachment; filename="test.py" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_gwshrcwg0 + +IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMgppbXBvcnQgbm90bXVjaApkYiA9IG5vdG11Y2guRGF0YWJh +c2UobW9kZT1ub3RtdWNoLkRhdGFiYXNlLk1PREUuUkVBRF9XUklURSkKcV9uZXcgPSBub3RtdWNo +LlF1ZXJ5KGRiLCAnaWQ6IjRFRkM3NDNBLjMwNjA2MDlAYXByaWwub3JnIicpCmZvciB0IGluIHFf +bmV3LnNlYXJjaF90aHJlYWRzKCk6CiAgICBwYXNzCg== +--e89a8f83972f80650404b544b781 +Content-Type: application/vnd.lotus-organizer; + name="4EFC743A.3060609_april.org" +Content-Disposition: attachment; filename="4EFC743A.3060609_april.org" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_gwshroqq1 + +TWVzc2FnZS1JRDogPDRFRkM3NDNBLjMwNjA2MDlAYXByaWwub3JnPgpEYXRlOiBUaHUsIDI5IERl +YyAyMDExIDE1OjA3OjU0ICswMTAwCkZyb206ICI9P0lTTy04ODU5LTE/UT9GcmFuPUU3b2lzX0Jv +dWxvZ25lPz0iIDxib3Vsb2duZS5mQGdtYWlsLmNvbT4KVXNlci1BZ2VudDogTW96aWxsYS81LjAg +KFgxMTsgTGludXggaTY4NjsKIHJ2OjkuMCkgR2Vja28vMjAxMTEyMjQgVGh1bmRlcmJpcmQvOS4w +LjEKTUlNRS1WZXJzaW9uOiAxLjAKVG86IEFsbGFuIE1jUmFlIDxhbGxhbkBhcmNobGludXgub3Jn +PiwgCiAiRGlzY3Vzc2lvbiBhYm91dCB0aGUgQXJjaCBVc2VyIFJlcG9zaXRvcnkgKEFVUikiIDxh +dXItZ2VuZXJhbEBhcmNobGludXgub3JnPgpSZWZlcmVuY2VzOiA8NEVGQzM5MzEuNjAzMDAwN0Bh +cHJpbC5vcmc+IDw0RUZDM0Q2Mi40MDMwMjAyQGFyY2hsaW51eC5vcmc+CkluLVJlcGx5LVRvOiA8 +NEVGQzNENjIuNDAzMDIwMkBhcmNobGludXgub3JnPgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 +IGNoYXJzZXQ9SVNPLTg4NTktMQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0ClN1Ympl +Y3Q6IFJlOiBbYXVyLWdlbmVyYWxdIEd1aWRlbGluZXM6IGNwLCBta2RpciB2cyBpbnN0YWxsCgpM +ZSAyOS8xMi8yMDExIDExOjEzLCBBbGxhbiBNY1JhZSBhIOljcml0IDoKPiBPbiAyOS8xMi8xMSAx +OTo1NiwgRnJhbudvaXMgQm91bG9nbmUgd3JvdGU6Cj4+IEhpLAo+Pgo+PiBMb29raW5nIHRvIGlt +cHJvdmUgdGhlIHF1YWxpdHkgb2YgbXkgcGFja2FnZXMsIEkgcmVhZCBhZ2FpbiB0aGUgZ3VpZGVs +aW5lcy4KPj4gaHR0cHM6Ly93aWtpLmFyY2hsaW51eC5vcmcvaW5kZXgucGhwL0FyY2hfUGFja2Fn +aW5nX1N0YW5kYXJkcwo+Pgo+PiBIb3dldmVyLCBpdCBkb24ndCBzZWUgYW55dGhpbmcgYWJvdXQg +dGhlIGluc3RhbGwgY29tbWFuZCBsaWtlCj4+IGluc3RhbGwgLWQgJHBrZ2Rpci91c3Ive2Jpbixz +aGFyZS9tYW4vbWFuMSxzaGFyZS9sb2NhbGV9Cj4+Cj4+IFNvbWUgY29udHJpYnV0b3JzIG9uIEFV +UiB1c2UgY3Agb3IgbWtkaXIgdG8gaW5zdGFsbCBmaWxlcy9kaXIgKHdoZW4gbm8KPj4gbWFrZWZp +bGUgaXMgcHJvdmlkZWQpIGFuZCBvdGhlcnMgdXNlIGluc3RhbGwgY29tbWFuZC4KPj4KPj4gV2hh +dCdzIHRoZSBvcGluaW9uIG9mIFRVIG9uIHRoaXMgcG9pbnQ/Cj4+Cj4gCj4gVXNlIGluc3RhbGwg +d2l0aCAtbSBzcGVjaWZ5aW5nIHRoZSBjb3JyZWN0IHBlcm1pc3Npb25zCj4gCgpUaGFuayB5b3Ug +QWxsYW4KCgotLSAKRnJhbudvaXMgQm91bG9nbmUuCmh0dHBzOi8vd3d3LnNjaXVudG8ub3JnCg== +--e89a8f83972f80650404b544b781 +Content-Type: application/octet-stream; name="notmuch_py_gmime.gdb_bt" +Content-Disposition: attachment; filename="notmuch_py_gmime.gdb_bt" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_gwshrwdd2 + +R05VIGdkYiAoR0RCKSA3LjMuMQpDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3Vu +ZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8 +aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw+ClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTog +eW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LgpUaGVyZSBpcyBOTyBX +QVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LiAgVHlwZSAic2hvdyBjb3B5 +aW5nIgphbmQgInNob3cgd2FycmFudHkiIGZvciBkZXRhaWxzLgpUaGlzIEdEQiB3YXMgY29uZmln +dXJlZCBhcyAieDg2XzY0LXVua25vd24tbGludXgtZ251Ii4KRm9yIGJ1ZyByZXBvcnRpbmcgaW5z +dHJ1Y3Rpb25zLCBwbGVhc2Ugc2VlOgo8aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dkYi9i +dWdzLz4uLi4KUmVhZGluZyBzeW1ib2xzIGZyb20gL3Vzci9iaW4vcHl0aG9uMi4uLihubyBkZWJ1 +Z2dpbmcgc3ltYm9scyBmb3VuZCkuLi5kb25lLgooZ2RiKSBydW4KU3RhcnRpbmcgcHJvZ3JhbTog +L3Vzci9iaW4vcHl0aG9uMiB0ZXN0LnB5CltUaHJlYWQgZGVidWdnaW5nIHVzaW5nIGxpYnRocmVh +ZF9kYiBlbmFibGVkXQoKUHJvZ3JhbSByZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2VnbWVudGF0 +aW9uIGZhdWx0LgoweDAwMDA3ZmZmZjVmNGZkODIgaW4gY2FjaGVfbm9kZV9sb29rdXAgKGNhY2hl +PTB4MCwga2V5PTB4N2ZmZmZmZmZhYWIwICJpc28tODg1OS0xOlVURi04IiwgdXNlPTEpIGF0IGNh +Y2hlLmM6MTEwCjExMAkJbm9kZSA9IGdfaGFzaF90YWJsZV9sb29rdXAgKGNhY2hlLT5ub2RlX2hh +c2gsIGtleSk7CihnZGIpIGJ0CiMwICAweDAwMDA3ZmZmZjVmNGZkODIgaW4gY2FjaGVfbm9kZV9s +b29rdXAgKGNhY2hlPTB4MCwga2V5PTB4N2ZmZmZmZmZhYWIwICJpc28tODg1OS0xOlVURi04Iiwg +dXNlPTEpIGF0IGNhY2hlLmM6MTEwCiMxICAweDAwMDA3ZmZmZjVmMjc1OWMgaW4gZ19taW1lX2lj +b252X29wZW4gKHRvPTB4NzYxZWYwICJVVEYtOCIsIGZyb209MHg4M2Q1OTAgImlzby04ODU5LTEi +KSBhdCBnbWltZS1pY29udi5jOjI2MQojMiAgMHgwMDAwN2ZmZmY1ZjQ2MzNmIGluIHJmYzIwNDdf +ZGVjb2RlX3dvcmQgKGluPTB4ODJmMzUwICI9P0lTTy04ODU5LTE/UT9GcmFuPUU3b2lzX0JvdWxv +Z25lPz0iLCBpbmxlbj0zNikgYXQgZ21pbWUtdXRpbHMuYzoxODM5CiMzICAweDAwMDA3ZmZmZjVm +NDZhZDEgaW4gZ19taW1lX3V0aWxzX2hlYWRlcl9kZWNvZGVfcGhyYXNlIChwaHJhc2U9MHg4MmYz +NTAgIj0/SVNPLTg4NTktMT9RP0ZyYW49RTdvaXNfQm91bG9nbmU/PSIpIGF0IGdtaW1lLXV0aWxz +LmM6MjA4NAojNCAgMHgwMDAwN2ZmZmY1ZjRhNzU5IGluIF9pbnRlcm5ldF9hZGRyZXNzX2RlY29k +ZV9uYW1lIChpYT0weDgzZDYzMCwgbmFtZT0weDg4ZmFlMCkgYXQgaW50ZXJuZXQtYWRkcmVzcy5j +OjEzNjcKIzUgIDB4MDAwMDdmZmZmNWY0YWZhYiBpbiBkZWNvZGVfYWRkcmVzcyAoaW49MHg3ZmZm +ZmZmZmFkNjApIGF0IGludGVybmV0LWFkZHJlc3MuYzoxNjU5CiM2ICAweDAwMDA3ZmZmZjVmNGIw +MDMgaW4gaW50ZXJuZXRfYWRkcmVzc19saXN0X3BhcnNlX3N0cmluZyAoc3RyPTB4NzY2NTMwICJc +Ij0/SVNPLTg4NTktMT9RP0ZyYW49RTdvaXNfQm91bG9nbmU/PVwiIDxib3Vsb2duZS5mQGdtYWls +LmNvbT4iKSBhdCBpbnRlcm5ldC1hZGRyZXNzLmM6MTY5MgojNyAgMHgwMDAwN2ZmZmY2MTkxNWQ3 +IGluIF90aHJlYWRfYWRkX21lc3NhZ2UgKHRocmVhZD0weDZkOTlkMCwgbWVzc2FnZT0weDZkOTMz +MCkgYXQgbGliL3RocmVhZC5jYzoyMzYKIzggIDB4MDAwMDdmZmZmNjE5MWRkNyBpbiBfbm90bXVj +aF90aHJlYWRfY3JlYXRlIChjdHg9MHg3ZDU0ZTAsIG5vdG11Y2g9MHg2ZTAxZDAsIHNlZWRfZG9j +X2lkPTIxMzA5MiwgbWF0Y2hfc2V0PTB4ODNjODg4LCBzb3J0PU5PVE1VQ0hfU09SVF9ORVdFU1Rf +RklSU1QpIGF0IGxpYi90aHJlYWQuY2M6NDcwCiM5ICAweDAwMDA3ZmZmZjYxOTA2YjcgaW4gbm90 +bXVjaF90aHJlYWRzX2dldCAodGhyZWFkcz0weDgzYzg3MCkgYXQgbGliL3F1ZXJ5LmNjOjM5Mgoj +MTAgMHgwMDAwN2ZmZmY2NWE3ZTM0IGluIGZmaV9jYWxsX3VuaXg2NCAoKSBmcm9tIC91c3IvbGli +L2xpYmZmaS5zby41CiMxMSAweDAwMDA3ZmZmZjY1YTc4NTUgaW4gZmZpX2NhbGwgKCkgZnJvbSAv +dXNyL2xpYi9saWJmZmkuc28uNQojMTIgMHgwMDAwN2ZmZmY2N2JiMWY3IGluIF9jdHlwZXNfY2Fs +bHByb2MgKCkgZnJvbSAvdXNyL2xpYi9weXRob24yLjcvbGliLWR5bmxvYWQvX2N0eXBlcy5zbwoj +MTMgMHgwMDAwN2ZmZmY2N2I0YTg2IGluID8/ICgpIGZyb20gL3Vzci9saWIvcHl0aG9uMi43L2xp +Yi1keW5sb2FkL19jdHlwZXMuc28KIzE0IDB4MDAwMDdmZmZmN2E2NjY4MyBpbiBQeU9iamVjdF9D +YWxsICgpIGZyb20gL3Vzci9saWIvbGlicHl0aG9uMi43LnNvLjEuMAojMTUgMHgwMDAwN2ZmZmY3 +YWZiYmRhIGluIFB5RXZhbF9FdmFsRnJhbWVFeCAoKSBmcm9tIC91c3IvbGliL2xpYnB5dGhvbjIu +Ny5zby4xLjAKIzE2IDB4MDAwMDdmZmZmN2FmZThlZiBpbiBQeUV2YWxfRXZhbENvZGVFeCAoKSBm +cm9tIC91c3IvbGliL2xpYnB5dGhvbjIuNy5zby4xLjAKIzE3IDB4MDAwMDdmZmZmN2E4YjE1YyBp +biBmdW5jdGlvbl9jYWxsICgpIGZyb20gL3Vzci9saWIvbGlicHl0aG9uMi43LnNvLjEuMAojMTgg +MHgwMDAwN2ZmZmY3YTY2NjgzIGluIFB5T2JqZWN0X0NhbGwgKCkgZnJvbSAvdXNyL2xpYi9saWJw +eXRob24yLjcuc28uMS4wCiMxOSAweDAwMDA3ZmZmZjdhNzUyYmYgaW4gaW5zdGFuY2VtZXRob2Rf +Y2FsbCAoKSBmcm9tIC91c3IvbGliL2xpYnB5dGhvbjIuNy5zby4xLjAKIzIwIDB4MDAwMDdmZmZm +N2E2NjY4MyBpbiBQeU9iamVjdF9DYWxsICgpIGZyb20gL3Vzci9saWIvbGlicHl0aG9uMi43LnNv +LjEuMAojMjEgMHgwMDAwN2ZmZmY3YWJjMDAyIGluIGNhbGxfbWV0aG9kICgpIGZyb20gL3Vzci9s +aWIvbGlicHl0aG9uMi43LnNvLjEuMAojMjIgMHgwMDAwN2ZmZmY3YWY4YjFmIGluIFB5RXZhbF9F +dmFsRnJhbWVFeCAoKSBmcm9tIC91c3IvbGliL2xpYnB5dGhvbjIuNy5zby4xLjAKIzIzIDB4MDAw +MDdmZmZmN2FmZThlZiBpbiBQeUV2YWxfRXZhbENvZGVFeCAoKSBmcm9tIC91c3IvbGliL2xpYnB5 +dGhvbjIuNy5zby4xLjAKIzI0IDB4MDAwMDdmZmZmN2FmZWEyMiBpbiBQeUV2YWxfRXZhbENvZGUg +KCkgZnJvbSAvdXNyL2xpYi9saWJweXRob24yLjcuc28uMS4wCiMyNSAweDAwMDA3ZmZmZjdiMThk +OGMgaW4gcnVuX21vZCAoKSBmcm9tIC91c3IvbGliL2xpYnB5dGhvbjIuNy5zby4xLjAKIzI2IDB4 +MDAwMDdmZmZmN2IxOWI5MCBpbiBQeVJ1bl9GaWxlRXhGbGFncyAoKSBmcm9tIC91c3IvbGliL2xp +YnB5dGhvbjIuNy5zby4xLjAKIzI3IDB4MDAwMDdmZmZmN2IxYTYwZiBpbiBQeVJ1bl9TaW1wbGVG +aWxlRXhGbGFncyAoKSBmcm9tIC91c3IvbGliL2xpYnB5dGhvbjIuNy5zby4xLjAKIzI4IDB4MDAw +MDdmZmZmN2IyYmQyNSBpbiBQeV9NYWluICgpIGZyb20gL3Vzci9saWIvbGlicHl0aG9uMi43LnNv +LjEuMAojMjkgMHgwMDAwN2ZmZmY3NDdlMzhkIGluIF9fbGliY19zdGFydF9tYWluICgpIGZyb20g +L2xpYi9saWJjLnNvLjYKIzMwIDB4MDAwMDAwMDAwMDQwMDZhMSBpbiBfc3RhcnQgKCkKKGdkYikg +ZnJhbWUgMQojMSAgMHgwMDAwN2ZmZmY1ZjI3NTljIGluIGdfbWltZV9pY29udl9vcGVuICh0bz0w +eDc2MWVmMCAiVVRGLTgiLCBmcm9tPTB4ODNkNTkwICJpc28tODg1OS0xIikgYXQgZ21pbWUtaWNv +bnYuYzoyNjEKMjYxCQlpZiAoKG5vZGUgPSAoSWNvbnZDYWNoZU5vZGUgKikgY2FjaGVfbm9kZV9s +b29rdXAgKGljb252X2NhY2hlLCBrZXksIFRSVUUpKSkgewooZ2RiKSBsaXN0CjI1NgkJa2V5ID0g +Z19hbGxvY2EgKHN0cmxlbiAoZnJvbSkgKyBzdHJsZW4gKHRvKSArIDIpOwoyNTcJCXNwcmludGYg +KGtleSwgIiVzOiVzIiwgZnJvbSwgdG8pOwoyNTgJCQoyNTkJCUlDT05WX0NBQ0hFX0xPQ0sgKCk7 +CjI2MAkJCjI2MQkJaWYgKChub2RlID0gKEljb252Q2FjaGVOb2RlICopIGNhY2hlX25vZGVfbG9v +a3VwIChpY29udl9jYWNoZSwga2V5LCBUUlVFKSkpIHsKMjYyCQkJaWYgKG5vZGUtPnVzZWQpIHsK +MjYzCQkJCWlmICgoY2QgPSBpY29udl9vcGVuICh0bywgZnJvbSkpID09IChpY29udl90KSAtMSkK +MjY0CQkJCQlnb3RvIGV4Y2VwdGlvbjsKMjY1CQkJfSBlbHNlIHsKKGdkYikgcHJpbnQgaWNvbnZf +Y2FjaGUKJDEgPSAoQ2FjaGUgKikgMHgwCihnZGIpIA== +--e89a8f83972f80650404b544b781-- -- 2.26.2