GNU bug report logs - #76705
31.0.50; igc: crash

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Óscar Fuentes <oscarfv@HIDDEN>; dated Mon, 3 Mar 2025 04:33:04 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 76705 <at> debbugs.gnu.org:


Received: (at 76705) by debbugs.gnu.org; 3 Mar 2025 19:57:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 14:57:44 2025
Received: from localhost ([127.0.0.1]:52234 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tpBv5-0007lX-KB
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 14:57:43 -0500
Received: from mail-10628.protonmail.ch ([79.135.106.28]:53661)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1tpBv0-0007l8-R8
 for 76705 <at> debbugs.gnu.org; Mon, 03 Mar 2025 14:57:40 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1741031851; x=1741291051;
 bh=ObX6ns4K/K895ckT9McCXnh2afTlthrQz2bt3rUZXzQ=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=mBKOC0nEXuTr2NnlP+sbPgD0Y6zqNtspQCUeLCoimsceY8XYjyAtmK5mR43o5plgL
 SuUc40OATJiwJanF624HRCbxLX9Rjf7Zi1R/gewlNxvQGHUkn4FWv7kRePnb9xIil3
 ZQPxTfC/au4+qnkgBP3ip/MbcAWv+XVSUrvsoAJMafDQ6gGEvEhy77jqs1Wy0S+F6J
 E0FSAMoTTYr1vmIx99ZbWx2fQcNt80qbgiYKrb+p9FlNBMz4vx+TYNSRRDnXQna8PJ
 XRmR0u/DeYRsFn72YDCBTxMaMQeEqn3b8xS6dN3iVA3XLkYpQSgiPqLx7K1vPdOb5k
 V/1yYe2WRrWAA==
Date: Mon, 03 Mar 2025 19:57:27 +0000
To: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
Message-ID: <87ldtlanw8.fsf@HIDDEN>
In-Reply-To: <87tt8a83eg.fsf@HIDDEN>
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
 <878qpm9mig.fsf@HIDDEN> <87wmd6w2id.fsf@HIDDEN>
 <871pve9krh.fsf@HIDDEN> <87wmd69jt3.fsf@HIDDEN>
 <87tt8a83eg.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: 7412d5b8a0f5c7bd3c1eeb93fea7eaa98514da26
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 76705
Cc: 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

=C3=93scar Fuentes <oscarfv@HIDDEN> writes:

> Pip Cet <pipcet@HIDDEN> writes:
>
>>> $ objdump -h dump | grep " load" | wc
>>>    9237   64659  747221
>>
>> Hmm. Is it possible that increases by a factor of 6 during a collection?
>> How large is the core file?
>
> $ ls -lh
> total 2.8G
> -rw-rw-r-- 1 oscar oscar 2.8G Mar  3 16:46 dump

That looks potentially large enough for my theory that we ran out into
the max_map_count limit.

    MPS_ARGS_ADD (args, MPS_KEY_ARENA_GRAIN_SIZE, 64 * 1024);

wouldn't fix the problem, but by extrapolation we'd only hit it when the
Emacs session reaches ~20 GB :-)

(I originally added that line to my local tree for performance reasons,
but I'm not sure about the impact on weak objects in particular.)

If you have the time and inclination, you could reduce
/proc/sys/vm/max_map_count and see what kind of Emacs crash you get, but
as it's a system-wide property, that might not be a good idea if other
important stuff is on the machine...

>>>> What is the output of
>>>>
>>>> cat /proc/sys/vm/max_map_count
>>>>
>>>> ?  It is 65530 here,
>>>
>>> Same here.
>>
>> I set it to 4096, and that crashed my MPS Emacs when I started a
>> collection (which is when the mprotect calls happen), so running against
>> this limit during a collection is my current best theory.
>>
>> If this is indeed an issue, we might have to increase ARENA_GRAIN_SIZE,
>> or submit a patch to MPS...
>>
>> However, I would still like to see errno =3D ENOMEM to be sure :-)
>
> Trying to follow Eli's hint:
>
> (gdb) ptype errno
> type =3D int
> (gdb) whatis errno
> type =3D int
> (gdb) p errno
> $1 =3D 25

That's ENOTTY here, which is unlikely to be what mprotect returned, so
possibly another error (most likely something during the abort tried an
ioctl?)

So if it's the mprotect thing, what do we do?  Is glibc running into the
same problem when it uses mmap for malloc?

>>>> Thanks! This means that it was actually ProtSet which aborted, and sin=
ce
>>>> it doesn't show up in the backtrace it must have tail-called the
>>>> assertion function.  Can you disassemble ProtSet just to make sure tha=
t
>>>> we're looking at an mprotect failure here?
>>>
>>> (gdb) disass/s ProtSet
>>> Dump of assembler code for function ProtSet:
>>>    0x0000556e0edcf8b0 <+0>:     push   %r12
>>>    0x0000556e0edcf8b2 <+2>:     mov    %edx,%r12d
>>>    0x0000556e0edcf8b5 <+5>:     push   %rbp
>>>    0x0000556e0edcf8b6 <+6>:     mov    %rdi,%rbp
>>
>> Hmm.  You've compiled MPS without -fno-omit-frame-pointer.  I think
>> (hope!)  that's safe as only references created outside of MPS can pin
>> objects...
>
> Sorry! Next build will use -fno-omit-frame-pointer.

No reason to apologize, I'm not even sure it's a problem. just something
I noticed in the assembly listing.

Pip





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at 76705 <at> debbugs.gnu.org:


Received: (at 76705) by debbugs.gnu.org; 3 Mar 2025 16:50:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 11:50:28 2025
Received: from localhost ([127.0.0.1]:50872 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp8zr-0002kn-M2
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 11:50:28 -0500
Received: from mail.eclipso.de ([217.69.254.104]:48890)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <oscarfv@HIDDEN>)
 id 1tp8zn-0002jd-RL
 for 76705 <at> debbugs.gnu.org; Mon, 03 Mar 2025 11:50:25 -0500
X-ESMTP-Authenticated-User: 000D6BEA
From: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eclipso.de; s=mail;
 t=1741020616; bh=5r18aB00HA/bJRxgte83HaTXJWadxrT0OGTgXijq/2k=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=RizlV5RPzPrkR14C4vO4XTFbUKAYxSKQ7jj0bhQkiv8srK3nVxFdxO0YlNSYiF0Ca
 VPFHLCuUE8YoUMIYmkOv2TEi1JO2Gofp/mDYdJoQK+gY92AJp0K3IhVeodwEFveSos
 esNVV2I6IHTWtAmdrM6eGhWdsRgL8zKBBP6NqJoSOJzbGxMogskazXwla4JlC3NVBu
 RvllDrvqSbPezXMQWp9tbEn4YDb6qSPvxMKgedZkj9F4BmNN4lY8ZjTaE7KBntkzJM
 pPopL2VwAyYcjXKV8CnE+ddK+zbMZrpMxnct1a+3CDNSMiAZI9Urks9N4A+nV1XgmY
 zvakdlBpfG08A==
To: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
In-Reply-To: <87wmd69jt3.fsf@HIDDEN> (Pip Cet's message of "Mon, 03
 Mar 2025 16:11:03 +0000")
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
 <878qpm9mig.fsf@HIDDEN> <87wmd6w2id.fsf@HIDDEN>
 <871pve9krh.fsf@HIDDEN> <87wmd69jt3.fsf@HIDDEN>
Date: Mon, 03 Mar 2025 17:50:15 +0100
Message-ID: <87tt8a83eg.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 76705
Cc: 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Pip Cet <pipcet@HIDDEN> writes:

>> $ objdump -h dump | grep " load" | wc
>>    9237   64659  747221
>
> Hmm. Is it possible that increases by a factor of 6 during a collection?
> How large is the core file?

$ ls -lh
total 2.8G
-rw-rw-r-- 1 oscar oscar 2.8G Mar  3 16:46 dump

>>> What is the output of
>>>
>>> cat /proc/sys/vm/max_map_count
>>>
>>> ?  It is 65530 here,
>>
>> Same here.
>
> I set it to 4096, and that crashed my MPS Emacs when I started a
> collection (which is when the mprotect calls happen), so running against
> this limit during a collection is my current best theory.
>
> If this is indeed an issue, we might have to increase ARENA_GRAIN_SIZE,
> or submit a patch to MPS...
>
> However, I would still like to see errno = ENOMEM to be sure :-)

Trying to follow Eli's hint:

(gdb) ptype errno
type = int
(gdb) whatis errno
type = int
(gdb) p errno
$1 = 25

ENOEM here is:

/usr/include/asm-generic/errno-base.h
16:#define      ENOMEM          12      /* Out of memory */

>>> Thanks! This means that it was actually ProtSet which aborted, and since
>>> it doesn't show up in the backtrace it must have tail-called the
>>> assertion function.  Can you disassemble ProtSet just to make sure that
>>> we're looking at an mprotect failure here?
>>
>> (gdb) disass/s ProtSet
>> Dump of assembler code for function ProtSet:
>>    0x0000556e0edcf8b0 <+0>:     push   %r12
>>    0x0000556e0edcf8b2 <+2>:     mov    %edx,%r12d
>>    0x0000556e0edcf8b5 <+5>:     push   %rbp
>>    0x0000556e0edcf8b6 <+6>:     mov    %rdi,%rbp
>
> Hmm.  You've compiled MPS without -fno-omit-frame-pointer.  I think
> (hope!)  that's safe as only references created outside of MPS can pin
> objects...

Sorry! Next build will use -fno-omit-frame-pointer. 

_________________________________________________________________
________________________________________________________
Your E-Mail. Your Cloud. Your Office. eclipso Mail Europe. https://www.eclipso.de






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at 76705 <at> debbugs.gnu.org:


Received: (at 76705) by debbugs.gnu.org; 3 Mar 2025 16:21:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 11:21:27 2025
Received: from localhost ([127.0.0.1]:50559 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp8Xn-0000H9-D4
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 11:21:27 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:49400)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tp8Xj-0000GS-My
 for 76705 <at> debbugs.gnu.org; Mon, 03 Mar 2025 11:21:24 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tp8Xd-0005wJ-II; Mon, 03 Mar 2025 11:21:17 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=bdedCudD9znSmhdWjqG9CN+navk4GcZd9wLtdePI+Hg=; b=rbNHKYQ8XSWF
 ReieHEDFwYkXf2nw6NlLtUbe5Rdc7lU103LKv8GP0cWQ5YS7hYa4R0BxOv5bY67ydxXGJ2EBgOfUY
 C1hv+tbwCGyFanThOUXAN/jL7RLIlE2F91mz/xDQRrP8K/aCit5XkEtVfsdiOB4nsG7gfZ848BzHL
 cz/nJHk5MKyZNfYz0ebh5xPktbHPAX3j9+gvvFkDNSgHiab997SXHXEODdeH39pnPVAPBU+Mrx5Ya
 RpVMkTibYT9SfkNR4q/6J3UszITOrW4HL2K7YUu4hYM42yeysUUIlNglDuGJXz/6bjmCxgmJZ8RrE
 40GV1Au3K4V9ajZdW/BigA==;
Date: Mon, 03 Mar 2025 18:21:14 +0200
Message-Id: <868qpmkrut.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Pip Cet <pipcet@HIDDEN>
In-Reply-To: <87wmd6w2id.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#76705: 31.0.50; igc: crash
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
 <878qpm9mig.fsf@HIDDEN> <87wmd6w2id.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 76705
Cc: oscarfv@HIDDEN, 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 76705 <at> debbugs.gnu.org
> Date: Mon, 03 Mar 2025 15:36:09 +0000
> From:  Pip Cet via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> > #7  0x0000556e0edd0c10 in shieldFlushEntries ()
> 
> So it seems that this function called ProtSet (see the code below), and
> ProtSet tail-called mps_lib_assert_fail.  In my build, it only does that
> when mprotect fails, which is something that happened in another bug
> report.
> 
> I assume this is a Linux kernel?  My assumption is that errno is ENOMEM
> (you should be able to figure this out from the core dump, but I don't
> know how glibc hides errno these days):

In GDB, type "ptype errno" and/or "whatis errno", and go from there.
(I believe it expands to a function or a TLS reference?)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at 76705 <at> debbugs.gnu.org:


Received: (at 76705) by debbugs.gnu.org; 3 Mar 2025 16:11:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 11:11:20 2025
Received: from localhost ([127.0.0.1]:50476 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp8Nz-0007p2-MI
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 11:11:20 -0500
Received: from mail-4316.protonmail.ch ([185.70.43.16]:16395)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1tp8Nv-0007nv-11
 for 76705 <at> debbugs.gnu.org; Mon, 03 Mar 2025 11:11:17 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1741018267; x=1741277467;
 bh=Qr6i2dHUe6tz/pJOxXXp1EJjt9Bp5nAHrS2MHy7nnD0=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=BJWVzfokPwH+7msnteXUhRuPokRL1u1cuhnpcfRbmgwOdkq3OZ7lRisM6gtoatcOI
 LVMOlJ0bLG3WFSVN6Xb4x/EfLhyfAG/6qZU5CSvzGjbsG30UAuU43plpnGP2hTSuKN
 s0tuVgNOPXH+cBeO9OIBJRjEjlpxVEH18FLQANuJZ2viibh61SoBhj6eHBPYenJ3ke
 kiS9ogYN/LM3awLiBWyofHw+I6aOM9IAWkSvYpY3H3uhgmuhizLBaMKG4d8TvRFzMA
 UKoAS6JbPD6nnJo+wyGAlqqWaraL5blwo05abW76iAlIAleLzCHXwZKl6aD4o4VFWE
 CCXBUFE6Zqrrg==
Date: Mon, 03 Mar 2025 16:11:03 +0000
To: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
Message-ID: <87wmd69jt3.fsf@HIDDEN>
In-Reply-To: <871pve9krh.fsf@HIDDEN>
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
 <878qpm9mig.fsf@HIDDEN> <87wmd6w2id.fsf@HIDDEN>
 <871pve9krh.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: e74df434c93fe14bd16f9d98fb909f2c18a5426a
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 76705
Cc: 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

=C3=93scar Fuentes <oscarfv@HIDDEN> writes:

> Pip Cet <pipcet@HIDDEN> writes:
>
>> I assume this is a Linux kernel?
>
> Correct.
>
> $ uname -a
> Linux zen 6.12.11-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.11-1 (2025-01-=
25) x86_64 GNU/Linux
>
>> Can you do an objdump -h on the core file, reporting only the count of
>> "load" sections?  (Over here, I see about 3000 sections, which is a
>> lot).
>
> Tail of objdump -h :
>
> 9260 load8395      15760000  0000556e2e8c0000  0000000000000000  9d20f000=
  2**12
>                   CONTENTS, ALLOC, LOAD
>
> $ objdump -h dump | grep " load" | wc
>    9237   64659  747221

Hmm. Is it possible that increases by a factor of 6 during a collection?
How large is the core file?

>> What is the output of
>>
>> cat /proc/sys/vm/max_map_count
>>
>> ?  It is 65530 here,
>
> Same here.

I set it to 4096, and that crashed my MPS Emacs when I started a
collection (which is when the mprotect calls happen), so running against
this limit during a collection is my current best theory.

If this is indeed an issue, we might have to increase ARENA_GRAIN_SIZE,
or submit a patch to MPS...

However, I would still like to see errno =3D ENOMEM to be sure :-)

>> Thanks! This means that it was actually ProtSet which aborted, and since
>> it doesn't show up in the backtrace it must have tail-called the
>> assertion function.  Can you disassemble ProtSet just to make sure that
>> we're looking at an mprotect failure here?
>
> (gdb) disass/s ProtSet
> Dump of assembler code for function ProtSet:
>    0x0000556e0edcf8b0 <+0>:     push   %r12
>    0x0000556e0edcf8b2 <+2>:     mov    %edx,%r12d
>    0x0000556e0edcf8b5 <+5>:     push   %rbp
>    0x0000556e0edcf8b6 <+6>:     mov    %rdi,%rbp

Hmm.  You've compiled MPS without -fno-omit-frame-pointer.  I think
(hope!)  that's safe as only references created outside of MPS can pin
objects...

>    0x0000556e0edcf8b9 <+9>:     push   %rbx
>    0x0000556e0edcf8ba <+10>:    mov    %rsi,%rbx
>    0x0000556e0edcf8bd <+13>:    cmp    %rsi,%rdi
>    0x0000556e0edcf8c0 <+16>:    jae    0x556e0edcf958 <ProtSet+168>
>    0x0000556e0edcf8c6 <+22>:    test   %rbp,%rbp
>    0x0000556e0edcf8c9 <+25>:    je     0x556e0edcf980 <ProtSet+208>
>    0x0000556e0edcf8cf <+31>:    sub    %rbp,%rbx
>    0x0000556e0edcf8d2 <+34>:    cmp    $0x7fffffff,%rbx
>    0x0000556e0edcf8d9 <+41>:    ja     0x556e0edcf9b0 <ProtSet+256>
>    0x0000556e0edcf8df <+47>:    mov    $0x5,%edx
>    0x0000556e0edcf8e4 <+52>:    cmp    $0x2,%r12d
>    0x0000556e0edcf8e8 <+56>:    je     0x556e0edcf8f6 <ProtSet+70>
>    0x0000556e0edcf8ea <+58>:    ja     0x556e0edcf930 <ProtSet+128>
>    0x0000556e0edcf8ec <+60>:    mov    $0x7,%edx
>    0x0000556e0edcf8f1 <+65>:    test   %r12d,%r12d
>    0x0000556e0edcf8f4 <+68>:    jne    0x556e0edcf94f <ProtSet+159>
>    0x0000556e0edcf8f6 <+70>:    mov    %rbx,%rsi
>    0x0000556e0edcf8f9 <+73>:    mov    %rbp,%rdi

>    0x0000556e0edcf8fc <+76>:    call   0x556e0ead23b0 <mprotect@plt>
>    0x0000556e0edcf901 <+81>:    test   %eax,%eax
>    0x0000556e0edcf903 <+83>:    je     0x556e0edcf928 <ProtSet+120>

This calls mprotect, and we only reach it when the return value is nonzero.

>    0x0000556e0edcf905 <+85>:    pop    %rbx
> --Type <RET> for more, q to quit, c to continue without paging--
>    0x0000556e0edcf906 <+86>:    lea    0x3b536(%rip),%rdx        # 0x556e=
0ee0ae43
>    0x0000556e0edcf90d <+93>:    pop    %rbp
>    0x0000556e0edcf90e <+94>:    mov    $0x75,%esi
>    0x0000556e0edcf913 <+99>:    lea    0x4011b(%rip),%rdi        # 0x556e=
0ee0fa35
>    0x0000556e0edcf91a <+106>:   pop    %r12
>    0x0000556e0edcf91c <+108>:   jmp    *0xbcf4e(%rip)        # 0x556e0ee8=
c870 <mps_lib_assert_handler>

And this tail-calls mps_lib_assert_handler, and it's the only place that
does so.  So it's definitely a failed mprotect.

Pip





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at 76705 <at> debbugs.gnu.org:


Received: (at 76705) by debbugs.gnu.org; 3 Mar 2025 15:50:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 10:50:07 2025
Received: from localhost ([127.0.0.1]:50283 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp83S-0005vw-Eu
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:50:07 -0500
Received: from mail.eclipso.de ([217.69.254.104]:52972)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <oscarfv@HIDDEN>)
 id 1tp83O-0005v2-Q9
 for 76705 <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:50:04 -0500
X-ESMTP-Authenticated-User: 000D6BEA
From: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eclipso.de; s=mail;
 t=1741016995; bh=xbQyFp0uDTcZUYEWXUsvUDu7Qh5uTQlFMvA0KA97ozI=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=MZ6R42cs2EPQRlt803HGaLdPq++iuN9GmA/Yv8ABmZ5rGpzaU9dIkz5ktbtA+Tr3Z
 jAHeVWr1eWKgaPzEC+AnWcua4YCttM8bzQ8iumTGnUZHTxiPZnWtTBVFLhk2sN3+OV
 jZkjVcCZnhkPi4BHq23DOP/QeQ9rHFxpoJKEoB+IwkXJjrofAGOEF9CJgLJZKpIgNL
 bY17GYMG+girKoBZE4w2hxDfqw63s1/j2pDOxclGFAylFMWYN6Qly2W/IISADxkE4N
 3ubXo3tVR2t9RmISWY/R2rOrhNQ+WSf/nz/gttMMNes1/mmyx66RRkzQHJgNPmY1Rr
 WOIPskY+TihqQ==
To: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
In-Reply-To: <87wmd6w2id.fsf@HIDDEN> (Pip Cet's message of "Mon, 03
 Mar 2025 15:36:09 +0000")
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
 <878qpm9mig.fsf@HIDDEN> <87wmd6w2id.fsf@HIDDEN>
Date: Mon, 03 Mar 2025 16:49:54 +0100
Message-ID: <871pve9krh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 76705
Cc: 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Pip Cet <pipcet@HIDDEN> writes:

> I assume this is a Linux kernel?

Correct.

$ uname -a
Linux zen 6.12.11-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.11-1 (2025-01-25) x86_64 GNU/Linux

> Can you do an objdump -h on the core file, reporting only the count of
> "load" sections?  (Over here, I see about 3000 sections, which is a
> lot).

Tail of objdump -h :

9260 load8395      15760000  0000556e2e8c0000  0000000000000000  9d20f000  2**12
                  CONTENTS, ALLOC, LOAD

$ objdump -h dump | grep " load" | wc
   9237   64659  747221

> What is the output of
>
> cat /proc/sys/vm/max_map_count
>
> ?  It is 65530 here,

Same here.

> Thanks! This means that it was actually ProtSet which aborted, and since
> it doesn't show up in the backtrace it must have tail-called the
> assertion function.  Can you disassemble ProtSet just to make sure that
> we're looking at an mprotect failure here?

(gdb) disass/s ProtSet
Dump of assembler code for function ProtSet:
   0x0000556e0edcf8b0 <+0>:     push   %r12
   0x0000556e0edcf8b2 <+2>:     mov    %edx,%r12d
   0x0000556e0edcf8b5 <+5>:     push   %rbp
   0x0000556e0edcf8b6 <+6>:     mov    %rdi,%rbp
   0x0000556e0edcf8b9 <+9>:     push   %rbx
   0x0000556e0edcf8ba <+10>:    mov    %rsi,%rbx
   0x0000556e0edcf8bd <+13>:    cmp    %rsi,%rdi
   0x0000556e0edcf8c0 <+16>:    jae    0x556e0edcf958 <ProtSet+168>
   0x0000556e0edcf8c6 <+22>:    test   %rbp,%rbp
   0x0000556e0edcf8c9 <+25>:    je     0x556e0edcf980 <ProtSet+208>
   0x0000556e0edcf8cf <+31>:    sub    %rbp,%rbx
   0x0000556e0edcf8d2 <+34>:    cmp    $0x7fffffff,%rbx
   0x0000556e0edcf8d9 <+41>:    ja     0x556e0edcf9b0 <ProtSet+256>
   0x0000556e0edcf8df <+47>:    mov    $0x5,%edx
   0x0000556e0edcf8e4 <+52>:    cmp    $0x2,%r12d
   0x0000556e0edcf8e8 <+56>:    je     0x556e0edcf8f6 <ProtSet+70>
   0x0000556e0edcf8ea <+58>:    ja     0x556e0edcf930 <ProtSet+128>
   0x0000556e0edcf8ec <+60>:    mov    $0x7,%edx
   0x0000556e0edcf8f1 <+65>:    test   %r12d,%r12d
   0x0000556e0edcf8f4 <+68>:    jne    0x556e0edcf94f <ProtSet+159>
   0x0000556e0edcf8f6 <+70>:    mov    %rbx,%rsi
   0x0000556e0edcf8f9 <+73>:    mov    %rbp,%rdi
   0x0000556e0edcf8fc <+76>:    call   0x556e0ead23b0 <mprotect@plt>
   0x0000556e0edcf901 <+81>:    test   %eax,%eax
   0x0000556e0edcf903 <+83>:    je     0x556e0edcf928 <ProtSet+120>
   0x0000556e0edcf905 <+85>:    pop    %rbx
--Type <RET> for more, q to quit, c to continue without paging-- 
   0x0000556e0edcf906 <+86>:    lea    0x3b536(%rip),%rdx        # 0x556e0ee0ae43
   0x0000556e0edcf90d <+93>:    pop    %rbp
   0x0000556e0edcf90e <+94>:    mov    $0x75,%esi
   0x0000556e0edcf913 <+99>:    lea    0x4011b(%rip),%rdi        # 0x556e0ee0fa35
   0x0000556e0edcf91a <+106>:   pop    %r12
   0x0000556e0edcf91c <+108>:   jmp    *0xbcf4e(%rip)        # 0x556e0ee8c870 <mps_lib_assert_handler>
   0x0000556e0edcf922 <+114>:   nopw   0x0(%rax,%rax,1)
   0x0000556e0edcf928 <+120>:   pop    %rbx
   0x0000556e0edcf929 <+121>:   pop    %rbp
   0x0000556e0edcf92a <+122>:   pop    %r12
   0x0000556e0edcf92c <+124>:   ret
   0x0000556e0edcf92d <+125>:   nopl   (%rax)
   0x0000556e0edcf930 <+128>:   cmp    $0x3,%r12d
   0x0000556e0edcf934 <+132>:   je     0x556e0edcf94f <ProtSet+159>
   0x0000556e0edcf936 <+134>:   lea    0x3b506(%rip),%rdx        # 0x556e0ee0ae43
   0x0000556e0edcf93d <+141>:   mov    $0x64,%esi
   0x0000556e0edcf942 <+146>:   lea    0x400ec(%rip),%rdi        # 0x556e0ee0fa35
   0x0000556e0edcf949 <+153>:   call   *0xbcf21(%rip)        # 0x556e0ee8c870 <mps_lib_assert_handler>
   0x0000556e0edcf94f <+159>:   xor    %edx,%edx
   0x0000556e0edcf951 <+161>:   jmp    0x556e0edcf8f6 <ProtSet+70>
   0x0000556e0edcf953 <+163>:   nopl   0x0(%rax,%rax,1)
   0x0000556e0edcf958 <+168>:   lea    0x3bd24(%rip),%rdx        # 0x556e0ee0b683
   0x0000556e0edcf95f <+175>:   mov    $0x49,%esi
   0x0000556e0edcf964 <+180>:   lea    0x400ca(%rip),%rdi        # 0x556e0ee0fa35
   0x0000556e0edcf96b <+187>:   call   *0xbceff(%rip)        # 0x556e0ee8c870 <mps_lib_assert_handler>
   0x0000556e0edcf971 <+193>:   test   %rbp,%rbp
   0x0000556e0edcf974 <+196>:   jne    0x556e0edcf8cf <ProtSet+31>
--Type <RET> for more, q to quit, c to continue without paging--
   0x0000556e0edcf97a <+202>:   nopw   0x0(%rax,%rax,1)
   0x0000556e0edcf980 <+208>:   sub    %rbp,%rbx
   0x0000556e0edcf983 <+211>:   lea    0x3bbea(%rip),%rdx        # 0x556e0ee0b574
   0x0000556e0edcf98a <+218>:   mov    $0x4a,%esi
   0x0000556e0edcf98f <+223>:   lea    0x4009f(%rip),%rdi        # 0x556e0ee0fa35
   0x0000556e0edcf996 <+230>:   call   *0xbced4(%rip)        # 0x556e0ee8c870 <mps_lib_assert_handler>
   0x0000556e0edcf99c <+236>:   cmp    $0x7fffffff,%rbx
   0x0000556e0edcf9a3 <+243>:   jbe    0x556e0edcf8df <ProtSet+47>
   0x0000556e0edcf9a9 <+249>:   nopl   0x0(%rax)
   0x0000556e0edcf9b0 <+256>:   lea    0x25751(%rip),%rdx        # 0x556e0edf5108
   0x0000556e0edcf9b7 <+263>:   mov    $0x4b,%esi
   0x0000556e0edcf9bc <+268>:   lea    0x40072(%rip),%rdi        # 0x556e0ee0fa35
   0x0000556e0edcf9c3 <+275>:   call   *0xbcea7(%rip)        # 0x556e0ee8c870 <mps_lib_assert_handler>
   0x0000556e0edcf9c9 <+281>:   jmp    0x556e0edcf8df <ProtSet+47>
End of assembler dump.

HTH

_________________________________________________________________
________________________________________________________
Your E-Mail. Your Cloud. Your Office. eclipso Mail Europe. https://www.eclipso.de






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at 76705 <at> debbugs.gnu.org:


Received: (at 76705) by debbugs.gnu.org; 3 Mar 2025 15:36:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 10:36:27 2025
Received: from localhost ([127.0.0.1]:50154 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp7qE-0004sL-MO
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:36:27 -0500
Received: from mail-10630.protonmail.ch ([79.135.106.30]:24275)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1tp7qB-0004re-CO
 for 76705 <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:36:25 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1741016174; x=1741275374;
 bh=Zknns6H6WhBXV4YJOLvjkXQHUbEIfXBBpmwUmpuUTqQ=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=wANCgyCMkLrMg34jtl+TOUs3AUvodGjUWarHgDBtM6p6TQpdEmTfLoyZIaLjXueZB
 uZPY5E9j4u8Nkv93ISYty5Fdts3ewPU9Fnrf5R9YUV63ZsZ0IxyDPIoBfz9MhtW+NY
 wWZC5JUJPkMPFrDEULy1WVZA8mAS3ZbDPj0N68zJcReV8sbDHTLz9gFz1RhLMTljju
 wbI43FiW3xTcDzxQHejeph1cSezOzDuiWlJjwemmkttYxEniwWNFafwOAQBhkF2MRq
 Rb3ajxNxB4wHtICUvvOqXFEvilyU9zC+leKs9FNWd8GqcF9ENxs6VNz/occef6Wzvx
 OakJFEBZy3cAw==
Date: Mon, 03 Mar 2025 15:36:09 +0000
To: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
Message-ID: <87wmd6w2id.fsf@HIDDEN>
In-Reply-To: <878qpm9mig.fsf@HIDDEN>
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
 <878qpm9mig.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: 8df885f8f30bd8a586af115796f460b850bdec6a
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -1.0 (-)
X-Debbugs-Envelope-To: 76705
Cc: =?utf-8?Q?=C3=93scar_Fuentes?= <bug-gnu-emacs@HIDDEN>,
 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.0 (--)

=C3=93scar Fuentes <oscarfv@HIDDEN> writes:

> Pip Cet <pipcet@HIDDEN> writes:
>
>> =C3=93scar Fuentes via "Bug reports for GNU Emacs, the Swiss army knife =
of text editors" <bug-gnu-emacs@HIDDEN> writes:
>>
>>> Emacs just crashed on a session started more than a week ago, IIRC.
>>>
>>> The following backtrace is from the core dump. Sorry for not being more
>>> helpful.
>>
>> Can you try generating a full backtrace ("bt full" should work on the
>> core dump, too)?

Thanks!  Two new leads :-)

> #0  __pthread_kill_implementation (threadid=3D<optimized out>, signo=3Dsi=
gno@entry=3D6, no_tid=3Dno_tid@entry=3D0)
>     at ./nptl/pthread_kill.c:44
>         tid =3D <optimized out>
>         ret =3D 0
>         pd =3D <optimized out>
>         old_mask =3D {__val =3D {0}}
>         ret =3D <optimized out>
> #1  0x00007f487751de2f in __pthread_kill_internal (threadid=3D<optimized =
out>, signo=3D6)
>     at ./nptl/pthread_kill.c:78
> #2  0x00007f48774c9d02 in __GI_raise (sig=3Dsig@entry=3D6) at ../sysdeps/=
posix/raise.c:26
>         ret =3D <optimized out>
> #3  0x0000556e0ead9d68 in terminate_due_to_signal
>     (sig=3Dsig@entry=3D6, backtrace_limit=3Dbacktrace_limit@entry=3D21474=
83647) at ../../emacs/src/emacs.c:463
> #4  0x0000556e0ed16d73 in set_state (state=3DIGC_STATE_DEAD) at ../../ema=
cs/src/igc.c:1023
>         old_state =3D <optimized out>
>         old_state =3D <optimized out>
> #5  set_state (state=3DIGC_STATE_DEAD) at ../../emacs/src/igc.c:1002
>         old_state =3D <optimized out>
> #6  igc_assert_fail (file=3D<optimized out>, line=3D<optimized out>, msg=
=3D<optimized out>)
>     at ../../emacs/src/igc.c:306

It's a pity we don't have this message...

> #7  0x0000556e0edd0c10 in shieldFlushEntries ()

So it seems that this function called ProtSet (see the code below), and
ProtSet tail-called mps_lib_assert_fail.  In my build, it only does that
when mprotect fails, which is something that happened in another bug
report.

I assume this is a Linux kernel?  My assumption is that errno is ENOMEM
(you should be able to figure this out from the core dump, but I don't
know how glibc hides errno these days):

=09ENOMEM
=09=09Changing the protection  of a memory region  would result in
=09=09the total number of mappings with distinct attributes (e.g.,
=09=09read  versus read/write  protection)  exceeding the  allowed
=09=09maximum.   (For example,  making the  protection of  a range
=09=09PROT_READ in the  middle of a region  currently protected as
=09=09PROT_READ|PROT_WRITE  would result  in  three mappings:  two
=09=09read/write mappings at  each end and a  read-only mapping in
=09=09the middle.)

That sounds like something that might happen.  I assume there's a sysctl
or ulimit controlling this limit.

Can you do an objdump -h on the core file, reporting only the count of
"load" sections?  (Over here, I see about 3000 sections, which is a
lot).  What is the output of

cat /proc/sys/vm/max_map_count

?  It is 65530 here, and that's not a lot more than 3000.

There are recommendations on the internet to increase this limit, so
I'll try reducing it and seeing whether it causes my Emacs to crash...

If that is indeed the problem, we should probably increase the arena
grain size, which means more than one of the tiny 4 KB pages x86 has
will be mprotected at a time, reducing the number of maps...

> #38 Fjson_parse_buffer (nargs=3D<optimized out>, args=3D<optimized out>) =
at ../../emacs/src/json.c:1812
>         count =3D {bytes =3D <optimized out>}
>         conf =3D {object_type =3D <optimized out>, array_type =3D <optimi=
zed out>, null_object =3D <optimized out>, false_object =3D <optimized out>=
}
>         p =3D {input_current =3D 0x556e3342596e "}],\"detail\":\"struct\"=
,\"kind\":23,\"name\":\"ra_struct_0xAB71CCE7u<true>\",\"range\":{\"end\":{\=
"character\":62,\"line\":9091},\"start\":{\"character\":0,\"line\":9091}},\=
"selectionRange\":{\"end\":{\"character\":10,\"line\":9091"..., input_begin=
 =3D 0x556e32ee1f60 "{\"id\":17456,\"jsonrpc\":\"2.0\",\"result\":[{\"child=
ren\":[{\"detail\":\"lp0::PluginInfoAdder\",\"kind\":13,\"name\":\"ppa8\",\=
"range\":{\"end\":{\"character\":33,\"line\":7},\"start\":{\"character\":0,=
\"line\":7}},\"selectionRange\":"..., input_end =3D 0x556e33733f5e "", seco=
ndary_input_begin =3D 0x0, secondary_input_end =3D 0x0, current_line =3D 1,=
 current_column =3D 5519886, point_of_current_line =3D 0, available_depth =
=3D 9993, conf =3D {object_type =3D json_object_hashtable, array_type =3D j=
son_array_array, null_object =3D 0x0, false_object =3D 0x0}, additional_byt=
es_count =3D 0, internal_object_workspace =3D {0x7f4767c48874, 0x110c2, 0x7=
f4767c4889c, 0x7f4767c488c4, 0x7f4767c4972d, 0x7f4767c4c63d, 0x7f4767c4cd4d=
, 0x7f4767c4f9c5, 0x7f4767c53005, 0x7f4767c53ef5, 0x7f4767c54df5, 0x7f4767c=
55ce5, 0x7f4767c58bf5, 0x7f4767c59ae5, 0x7f4767c5c76d, 0x7f4767c5dd9d, 0x7f=
4767c60c8d, 0x7f4767c61b7d, 0x7f4767c62a6d, 0x7f4767c6395d, 0x7f4767c6689d,=
 0x7f4767c6778d, 0x7f4767c6868d, 0x7f4767c6957d, 0x7f4767c6c48d, 0x7f4767c6=
d37d, 0x7f4767c6e26d, 0x7f4767c6f15d, 0x7f4767c7009d, 0x7f4767c70f8d, 0x7f4=
767c71e7d, 0x7f4767c74d7d, 0x7f4767c75c6d, 0x7f4767c76b7d, 0x7f4767c77a6d, =
0x7f4767c7a9ad, 0x7f4767c7b89d, 0x7f4767c7c78d, 0x7f4767c7d67d, 0x7f4767c80=
575, 0x7f4767c81465, 0x7f4767c8237d, 0x7f4767c8326d, 0x7f4767c8615d, 0x7f47=
67c8704d, 0x7f4767c87f3d, 0x7f4767c88e5d, 0x7f4767c89d4d, 0x7f4767c8cc8d, 0=
x7f4767c8cd64, 0x7f4767c8d4dd, 0x7f4767c--Type <RET> for more, q to quit, c=
 to continue without paging--
> 8d4f4, 0x7f4767c8d51c, 0x7f4767c8d544, 0x56, 0x7f4767c8d56c, 0x7f4767c8d5=
94, 0x7f4767c8d5bc, 0x7f4767c8d805, 0x7f4767c8d8c4, 0x7f4767c8d93d, 0x7f476=
7c8d9fc, 0x2, 0x21e}, object_workspace =3D 0x556e374c43e0, object_workspace=
_size =3D 4096, object_workspace_current =3D 4023, internal_byte_workspace =
=3D "9091acterRange(lxw_chart_options::x_scale) *, const lxw_chart_options =
*))*))s *)bj *)mats))ement *)mat *)...).).)\321\025;\375\177\000\000\000\00=
0\000\000\000\000\000\000\020\370\302\016nU\000\000\b\000\000\000\000\000\0=
00\000\020\321\025;\375\177\000\000\t\000\000\000\000\000\000\000\310\321\0=
25;\375\177\000\000\000\000\000\000\000\000\000\000\020\370\302\016nU\000\0=
00\b\000\000\000\000\000\000\000p\321\025;\375\177\000\000"..., byte_worksp=
ace =3D 0x7ffd3b15d050 "9091acterRange(lxw_chart_options::x_scale) *, const=
 lxw_chart_options *))*))s *)bj *)mats))ement *)mat *)...).).)\321\025;\375=
\177", byte_workspace_end =3D 0x7ffd3b15d250 "P\320\025;\375\177", byte_wor=
kspace_current =3D 0x7ffd3b15d054 "acterRange(lxw_chart_options::x_scale) *=
, const lxw_chart_options *))*))s *)bj *)mats))ement *)mat *)...).).)\321\0=
25;\375\177"}

I see that the object_workspace is large, which means several
rounds of allocation most likely happened.  If this happens a lot, I'm
not sure whether it creates more mappings that count against
max_map_count.

>>> #7  0x0000556e0edd0c10 in shieldFlushEntries ()
>>
>> shieldFlushEntries contains several asserts.  Can you disassemble the
>> function shieldFlushEntries to see which one we hit?
>> (gdb: "disass/s shieldFlushEntries").
>>
>
> (gdb) disass/s shieldFlushEntries
> Dump of assembler code for function shieldFlushEntries:
>    0x0000556e0edd0be1 <+97>:    xor    %r14d,%r14d
>    0x0000556e0edd0be4 <+100>:   xor    %r13d,%r13d
>    0x0000556e0edd0be7 <+103>:   jmp    0x556e0edd0c34 <shieldFlushEntries=
+180>
>    0x0000556e0edd0be9 <+105>:   nopl   0x0(%rax)
>    0x0000556e0edd0bf0 <+112>:   test   %r13,%r13
>    0x0000556e0edd0bf3 <+115>:   je     0x556e0edd0c91 <shieldFlushEntries=
+273>
>    0x0000556e0edd0bf9 <+121>:   cmp    %r14,%r13
>    0x0000556e0edd0bfc <+124>:   jae    0x556e0edd0d00 <shieldFlushEntries=
+384>
>    0x0000556e0edd0c02 <+130>:   mov    %r12d,%edx
>    0x0000556e0edd0c05 <+133>:   mov    %r14,%rsi
>    0x0000556e0edd0c08 <+136>:   mov    %r13,%rdi
>    0x0000556e0edd0c0b <+139>:   call   0x556e0edcf8b0 <ProtSet>
> =3D> 0x0000556e0edd0c10 <+144>:   movzwl 0x30(%r15),%r12d

Thanks! This means that it was actually ProtSet which aborted, and since
it doesn't show up in the backtrace it must have tail-called the
assertion function.  Can you disassemble ProtSet just to make sure that
we're looking at an mprotect failure here?

Pip





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 3 Mar 2025 15:36:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 10:36:37 2025
Received: from localhost ([127.0.0.1]:50163 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp7qO-0004sz-NN
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:36:37 -0500
Received: from lists.gnu.org ([2001:470:142::17]:46416)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1tp7qL-0004sM-SR
 for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:36:34 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>)
 id 1tp7qC-00037c-8J
 for bug-gnu-emacs@HIDDEN; Mon, 03 Mar 2025 10:36:25 -0500
Received: from mail-10631.protonmail.ch ([79.135.106.31])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>)
 id 1tp7q9-0006Si-Gj
 for bug-gnu-emacs@HIDDEN; Mon, 03 Mar 2025 10:36:23 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1741016174; x=1741275374;
 bh=Zknns6H6WhBXV4YJOLvjkXQHUbEIfXBBpmwUmpuUTqQ=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=wANCgyCMkLrMg34jtl+TOUs3AUvodGjUWarHgDBtM6p6TQpdEmTfLoyZIaLjXueZB
 uZPY5E9j4u8Nkv93ISYty5Fdts3ewPU9Fnrf5R9YUV63ZsZ0IxyDPIoBfz9MhtW+NY
 wWZC5JUJPkMPFrDEULy1WVZA8mAS3ZbDPj0N68zJcReV8sbDHTLz9gFz1RhLMTljju
 wbI43FiW3xTcDzxQHejeph1cSezOzDuiWlJjwemmkttYxEniwWNFafwOAQBhkF2MRq
 Rb3ajxNxB4wHtICUvvOqXFEvilyU9zC+leKs9FNWd8GqcF9ENxs6VNz/occef6Wzvx
 OakJFEBZy3cAw==
Date: Mon, 03 Mar 2025 15:36:09 +0000
To: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
Message-ID: <87wmd6w2id.fsf@HIDDEN>
In-Reply-To: <878qpm9mig.fsf@HIDDEN>
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
 <878qpm9mig.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: 8df885f8f30bd8a586af115796f460b850bdec6a
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=79.135.106.31; envelope-from=pipcet@HIDDEN;
 helo=mail-10631.protonmail.ch
X-Spam_score_int: -30
X-Spam_score: -3.1
X-Spam_bar: ---
X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=-1, RCVD_IN_MSPIKE_WL=-0.01,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: =?utf-8?Q?=C3=93scar_Fuentes?= <bug-gnu-emacs@HIDDEN>,
 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

=C3=93scar Fuentes <oscarfv@HIDDEN> writes:

> Pip Cet <pipcet@HIDDEN> writes:
>
>> =C3=93scar Fuentes via "Bug reports for GNU Emacs, the Swiss army knife =
of text editors" <bug-gnu-emacs@HIDDEN> writes:
>>
>>> Emacs just crashed on a session started more than a week ago, IIRC.
>>>
>>> The following backtrace is from the core dump. Sorry for not being more
>>> helpful.
>>
>> Can you try generating a full backtrace ("bt full" should work on the
>> core dump, too)?

Thanks!  Two new leads :-)

> #0  __pthread_kill_implementation (threadid=3D<optimized out>, signo=3Dsi=
gno@entry=3D6, no_tid=3Dno_tid@entry=3D0)
>     at ./nptl/pthread_kill.c:44
>         tid =3D <optimized out>
>         ret =3D 0
>         pd =3D <optimized out>
>         old_mask =3D {__val =3D {0}}
>         ret =3D <optimized out>
> #1  0x00007f487751de2f in __pthread_kill_internal (threadid=3D<optimized =
out>, signo=3D6)
>     at ./nptl/pthread_kill.c:78
> #2  0x00007f48774c9d02 in __GI_raise (sig=3Dsig@entry=3D6) at ../sysdeps/=
posix/raise.c:26
>         ret =3D <optimized out>
> #3  0x0000556e0ead9d68 in terminate_due_to_signal
>     (sig=3Dsig@entry=3D6, backtrace_limit=3Dbacktrace_limit@entry=3D21474=
83647) at ../../emacs/src/emacs.c:463
> #4  0x0000556e0ed16d73 in set_state (state=3DIGC_STATE_DEAD) at ../../ema=
cs/src/igc.c:1023
>         old_state =3D <optimized out>
>         old_state =3D <optimized out>
> #5  set_state (state=3DIGC_STATE_DEAD) at ../../emacs/src/igc.c:1002
>         old_state =3D <optimized out>
> #6  igc_assert_fail (file=3D<optimized out>, line=3D<optimized out>, msg=
=3D<optimized out>)
>     at ../../emacs/src/igc.c:306

It's a pity we don't have this message...

> #7  0x0000556e0edd0c10 in shieldFlushEntries ()

So it seems that this function called ProtSet (see the code below), and
ProtSet tail-called mps_lib_assert_fail.  In my build, it only does that
when mprotect fails, which is something that happened in another bug
report.

I assume this is a Linux kernel?  My assumption is that errno is ENOMEM
(you should be able to figure this out from the core dump, but I don't
know how glibc hides errno these days):

=09ENOMEM
=09=09Changing the protection  of a memory region  would result in
=09=09the total number of mappings with distinct attributes (e.g.,
=09=09read  versus read/write  protection)  exceeding the  allowed
=09=09maximum.   (For example,  making the  protection of  a range
=09=09PROT_READ in the  middle of a region  currently protected as
=09=09PROT_READ|PROT_WRITE  would result  in  three mappings:  two
=09=09read/write mappings at  each end and a  read-only mapping in
=09=09the middle.)

That sounds like something that might happen.  I assume there's a sysctl
or ulimit controlling this limit.

Can you do an objdump -h on the core file, reporting only the count of
"load" sections?  (Over here, I see about 3000 sections, which is a
lot).  What is the output of

cat /proc/sys/vm/max_map_count

?  It is 65530 here, and that's not a lot more than 3000.

There are recommendations on the internet to increase this limit, so
I'll try reducing it and seeing whether it causes my Emacs to crash...

If that is indeed the problem, we should probably increase the arena
grain size, which means more than one of the tiny 4 KB pages x86 has
will be mprotected at a time, reducing the number of maps...

> #38 Fjson_parse_buffer (nargs=3D<optimized out>, args=3D<optimized out>) =
at ../../emacs/src/json.c:1812
>         count =3D {bytes =3D <optimized out>}
>         conf =3D {object_type =3D <optimized out>, array_type =3D <optimi=
zed out>, null_object =3D <optimized out>, false_object =3D <optimized out>=
}
>         p =3D {input_current =3D 0x556e3342596e "}],\"detail\":\"struct\"=
,\"kind\":23,\"name\":\"ra_struct_0xAB71CCE7u<true>\",\"range\":{\"end\":{\=
"character\":62,\"line\":9091},\"start\":{\"character\":0,\"line\":9091}},\=
"selectionRange\":{\"end\":{\"character\":10,\"line\":9091"..., input_begin=
 =3D 0x556e32ee1f60 "{\"id\":17456,\"jsonrpc\":\"2.0\",\"result\":[{\"child=
ren\":[{\"detail\":\"lp0::PluginInfoAdder\",\"kind\":13,\"name\":\"ppa8\",\=
"range\":{\"end\":{\"character\":33,\"line\":7},\"start\":{\"character\":0,=
\"line\":7}},\"selectionRange\":"..., input_end =3D 0x556e33733f5e "", seco=
ndary_input_begin =3D 0x0, secondary_input_end =3D 0x0, current_line =3D 1,=
 current_column =3D 5519886, point_of_current_line =3D 0, available_depth =
=3D 9993, conf =3D {object_type =3D json_object_hashtable, array_type =3D j=
son_array_array, null_object =3D 0x0, false_object =3D 0x0}, additional_byt=
es_count =3D 0, internal_object_workspace =3D {0x7f4767c48874, 0x110c2, 0x7=
f4767c4889c, 0x7f4767c488c4, 0x7f4767c4972d, 0x7f4767c4c63d, 0x7f4767c4cd4d=
, 0x7f4767c4f9c5, 0x7f4767c53005, 0x7f4767c53ef5, 0x7f4767c54df5, 0x7f4767c=
55ce5, 0x7f4767c58bf5, 0x7f4767c59ae5, 0x7f4767c5c76d, 0x7f4767c5dd9d, 0x7f=
4767c60c8d, 0x7f4767c61b7d, 0x7f4767c62a6d, 0x7f4767c6395d, 0x7f4767c6689d,=
 0x7f4767c6778d, 0x7f4767c6868d, 0x7f4767c6957d, 0x7f4767c6c48d, 0x7f4767c6=
d37d, 0x7f4767c6e26d, 0x7f4767c6f15d, 0x7f4767c7009d, 0x7f4767c70f8d, 0x7f4=
767c71e7d, 0x7f4767c74d7d, 0x7f4767c75c6d, 0x7f4767c76b7d, 0x7f4767c77a6d, =
0x7f4767c7a9ad, 0x7f4767c7b89d, 0x7f4767c7c78d, 0x7f4767c7d67d, 0x7f4767c80=
575, 0x7f4767c81465, 0x7f4767c8237d, 0x7f4767c8326d, 0x7f4767c8615d, 0x7f47=
67c8704d, 0x7f4767c87f3d, 0x7f4767c88e5d, 0x7f4767c89d4d, 0x7f4767c8cc8d, 0=
x7f4767c8cd64, 0x7f4767c8d4dd, 0x7f4767c--Type <RET> for more, q to quit, c=
 to continue without paging--
> 8d4f4, 0x7f4767c8d51c, 0x7f4767c8d544, 0x56, 0x7f4767c8d56c, 0x7f4767c8d5=
94, 0x7f4767c8d5bc, 0x7f4767c8d805, 0x7f4767c8d8c4, 0x7f4767c8d93d, 0x7f476=
7c8d9fc, 0x2, 0x21e}, object_workspace =3D 0x556e374c43e0, object_workspace=
_size =3D 4096, object_workspace_current =3D 4023, internal_byte_workspace =
=3D "9091acterRange(lxw_chart_options::x_scale) *, const lxw_chart_options =
*))*))s *)bj *)mats))ement *)mat *)...).).)\321\025;\375\177\000\000\000\00=
0\000\000\000\000\000\000\020\370\302\016nU\000\000\b\000\000\000\000\000\0=
00\000\020\321\025;\375\177\000\000\t\000\000\000\000\000\000\000\310\321\0=
25;\375\177\000\000\000\000\000\000\000\000\000\000\020\370\302\016nU\000\0=
00\b\000\000\000\000\000\000\000p\321\025;\375\177\000\000"..., byte_worksp=
ace =3D 0x7ffd3b15d050 "9091acterRange(lxw_chart_options::x_scale) *, const=
 lxw_chart_options *))*))s *)bj *)mats))ement *)mat *)...).).)\321\025;\375=
\177", byte_workspace_end =3D 0x7ffd3b15d250 "P\320\025;\375\177", byte_wor=
kspace_current =3D 0x7ffd3b15d054 "acterRange(lxw_chart_options::x_scale) *=
, const lxw_chart_options *))*))s *)bj *)mats))ement *)mat *)...).).)\321\0=
25;\375\177"}

I see that the object_workspace is large, which means several
rounds of allocation most likely happened.  If this happens a lot, I'm
not sure whether it creates more mappings that count against
max_map_count.

>>> #7  0x0000556e0edd0c10 in shieldFlushEntries ()
>>
>> shieldFlushEntries contains several asserts.  Can you disassemble the
>> function shieldFlushEntries to see which one we hit?
>> (gdb: "disass/s shieldFlushEntries").
>>
>
> (gdb) disass/s shieldFlushEntries
> Dump of assembler code for function shieldFlushEntries:
>    0x0000556e0edd0be1 <+97>:    xor    %r14d,%r14d
>    0x0000556e0edd0be4 <+100>:   xor    %r13d,%r13d
>    0x0000556e0edd0be7 <+103>:   jmp    0x556e0edd0c34 <shieldFlushEntries=
+180>
>    0x0000556e0edd0be9 <+105>:   nopl   0x0(%rax)
>    0x0000556e0edd0bf0 <+112>:   test   %r13,%r13
>    0x0000556e0edd0bf3 <+115>:   je     0x556e0edd0c91 <shieldFlushEntries=
+273>
>    0x0000556e0edd0bf9 <+121>:   cmp    %r14,%r13
>    0x0000556e0edd0bfc <+124>:   jae    0x556e0edd0d00 <shieldFlushEntries=
+384>
>    0x0000556e0edd0c02 <+130>:   mov    %r12d,%edx
>    0x0000556e0edd0c05 <+133>:   mov    %r14,%rsi
>    0x0000556e0edd0c08 <+136>:   mov    %r13,%rdi
>    0x0000556e0edd0c0b <+139>:   call   0x556e0edcf8b0 <ProtSet>
> =3D> 0x0000556e0edd0c10 <+144>:   movzwl 0x30(%r15),%r12d

Thanks! This means that it was actually ProtSet which aborted, and since
it doesn't show up in the backtrace it must have tail-called the
assertion function.  Can you disassemble ProtSet just to make sure that
we're looking at an mprotect failure here?

Pip





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at 76705 <at> debbugs.gnu.org:


Received: (at 76705) by debbugs.gnu.org; 3 Mar 2025 15:12:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 10:12:23 2025
Received: from localhost ([127.0.0.1]:49823 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp7Sv-0002nC-CG
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:12:23 -0500
Received: from mail.eclipso.de ([217.69.254.104]:57030)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <oscarfv@HIDDEN>)
 id 1tp7Sp-0002mM-AG
 for 76705 <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:12:19 -0500
X-ESMTP-Authenticated-User: 000D6BEA
From: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eclipso.de; s=mail;
 t=1741014729; bh=df4VKp+5SsN8wwUvohHlZ+TxHERWXHUUACT2YGmWGZk=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=U6uVbnSt32o0T+eY0K8JUAD1i/3te1E+7oMT68gI7nz9beWnhzliS7PzS2zpL4uyX
 pufXTmyOiHjiE9B1c5Ft8FfSAp3u04VjkeeRUiUjVfasR/aPgIVM9KwJAzxwFOm5Wg
 c+X3JvHoMsL2nDzwaPwExJxLH0jB7eUWAepZzkVTPPaOOxd/4g1gJKGiDXKhkEf1qp
 CLiJhv3EGEZr7VJb7JP7gxFb5PVbkA0rLGxn9E9RYJz6dFTiqb3GR4Kmxw+M59PqaW
 ThCSSvkfyg87HWhucbfS5AoDZbEhaUxGglKceMKmsyPF4wsJ/eHzzuqitm0JuHUtd3
 wokrjWfXbgI7g==
To: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
In-Reply-To: <87h64axs3p.fsf@HIDDEN> (Pip Cet's message of "Mon, 03
 Mar 2025 11:38:01 +0000")
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
Date: Mon, 03 Mar 2025 16:12:07 +0100
Message-ID: <878qpm9mig.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 76705
Cc: =?utf-8?Q?=C3=93scar_Fuentes?= <bug-gnu-emacs@HIDDEN>,
 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Pip Cet <pipcet@HIDDEN> writes:

> =C3=93scar Fuentes via "Bug reports for GNU Emacs, the Swiss army knife o=
f text editors" <bug-gnu-emacs@HIDDEN> writes:
>
>> Emacs just crashed on a session started more than a week ago, IIRC.
>>
>> The following backtrace is from the core dump. Sorry for not being more
>> helpful.
>
> Can you try generating a full backtrace ("bt full" should work on the
> core dump, too)?

#0  __pthread_kill_implementation (threadid=3D<optimized out>, signo=3Dsign=
o@entry=3D6, no_tid=3Dno_tid@entry=3D0)
    at ./nptl/pthread_kill.c:44
        tid =3D <optimized out>
        ret =3D 0
        pd =3D <optimized out>
        old_mask =3D {__val =3D {0}}
        ret =3D <optimized out>
#1  0x00007f487751de2f in __pthread_kill_internal (threadid=3D<optimized ou=
t>, signo=3D6)
    at ./nptl/pthread_kill.c:78
#2  0x00007f48774c9d02 in __GI_raise (sig=3Dsig@entry=3D6) at ../sysdeps/po=
six/raise.c:26
        ret =3D <optimized out>
#3  0x0000556e0ead9d68 in terminate_due_to_signal
    (sig=3Dsig@entry=3D6, backtrace_limit=3Dbacktrace_limit@entry=3D2147483=
647) at ../../emacs/src/emacs.c:463
#4  0x0000556e0ed16d73 in set_state (state=3DIGC_STATE_DEAD) at ../../emacs=
/src/igc.c:1023
        old_state =3D <optimized out>
        old_state =3D <optimized out>
#5  set_state (state=3DIGC_STATE_DEAD) at ../../emacs/src/igc.c:1002
        old_state =3D <optimized out>
#6  igc_assert_fail (file=3D<optimized out>, line=3D<optimized out>, msg=3D=
<optimized out>)
    at ../../emacs/src/igc.c:306
#7  0x0000556e0edd0c10 in shieldFlushEntries ()
#8  0x0000556e0edd1b89 in ShieldLeave ()
#9  0x0000556e0edd1d9e in ArenaLeave ()
#10 0x0000556e0eddbd31 in mps_ap_fill ()
#11 0x0000556e0ed164d6 in alloc_impl
    (size=3Dsize@entry=3D88, type=3Dtype@entry=3DIGC_OBJ_VECTOR, ap=3D0x7f4=
868001900) at ../../emacs/src/igc.c:4095
        res =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        p =3D 0x0
#12 0x0000556e0ed1afa8 in alloc (size=3D88, type=3DIGC_OBJ_VECTOR) at ../..=
/emacs/src/igc.c:4008
#13 igc_alloc_pseudovector
    (nwords_mem=3Dnwords_mem@entry=3D9, nwords_lisp=3Dnwords_lisp@entry=3D0=
, nwords_zero=3Dnwords_zero@entry=3D0, tag=3Dtag@entry=3DPVEC_HASH_TABLE) a=
t ../../emacs/src/igc.c:4277
        client_size =3D 88
        v =3D <optimized out>
#14 0x0000556e0ec65bae in allocate_pseudovector
    (memlen=3Dmemlen@entry=3D9, lisplen=3Dlisplen@entry=3D0, zerolen=3Dzero=
len@entry=3D0, tag=3Dtag@entry=3DPVEC_HASH_TABLE) at ../../emacs/src/alloc.=
c:3687
#15 0x0000556e0ec938d4 in allocate_hash_table () at ../../emacs/src/fns.c:4=
842
#16 make_hash_table (test=3D0x556e0ee7bf80 <hashtest_equal>, size=3D2, weak=
=3D<optimized out>)
    at ../../emacs/src/fns.c:4897
        h =3D <optimized out>
#17 0x0000556e0ed2a96a in json_parse_object (parser=3D0x7ffd3b15cdd0) at ..=
/../emacs/src/json.c:1608
        value =3D <optimized out>
        h =3D <optimized out>
        c =3D <optimized out>
        first =3D 4019
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
#18 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#19 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd3b=
15cdd0)
    at ../../emacs/src/json.c:1522
        c =3D <optimized out>
        c =3D <optimized out>
#20 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c:1=
554
        key =3D 0x7f476c1a7d74
        value =3D <optimized out>
        cdr =3D 0x7ffd3b15cab0
        c =3D 34
--Type <RET> for more, q to quit, c to continue without paging--
        first =3D 4011
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
#21 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#22 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at ../=
../emacs/src/json.c:1454
        element =3D <optimized out>
        cdr =3D 0x7ffd3b15cb28
        c =3D <optimized out>
        first =3D 4010
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        element =3D <optimized out>
        nc =3D <optimized out>
        number_of_elements =3D <optimized out>
        i =3D <optimized out>
#23 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src/j=
son.c:1657
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#24 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd3b=
15cdd0)
    at ../../emacs/src/json.c:1522
        c =3D <optimized out>
        c =3D <optimized out>
#25 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c:1=
554
        key =3D 0x7f476c1a7254
        value =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        cdr =3D 0x7ffd3b15cb90
        c =3D 34
        first =3D 4010
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
#26 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#27 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at ../=
../emacs/src/json.c:1454
        element =3D <optimized out>
        cdr =3D 0x7ffd3b15cc08
        c =3D <optimized out>
        first =3D 4009
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        element =3D <optimized out>
        nc =3D <optimized out>
        number_of_elements =3D <optimized out>
        i =3D <optimized out>
#28 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src/j=
son.c:1657
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#29 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd3b=
15cdd0)
    at ../../emacs/src/json.c:1522
        c =3D <optimized out>
        c =3D <optimized out>
#30 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c:1=
554
--Type <RET> for more, q to quit, c to continue without paging--
        key =3D 0x7f476c1a5bcc
        value =3D <optimized out>
        cdr =3D 0x7ffd3b15cc70
        c =3D 34
        first =3D 4009
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
#31 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#32 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at ../=
../emacs/src/json.c:1454
        element =3D <optimized out>
        cdr =3D 0x7ffd3b15cce8
        c =3D <optimized out>
        first =3D 4
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        element =3D <optimized out>
        nc =3D <optimized out>
        number_of_elements =3D <optimized out>
        i =3D <optimized out>
#33 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src/j=
son.c:1657
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#34 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd3b=
15cdd0)
    at ../../emacs/src/json.c:1522
        c =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        c =3D <optimized out>
#35 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c:1=
554
        key =3D 0x7f4767c488ec
        value =3D <optimized out>
        cdr =3D 0x7ffd3b15cd50
        c =3D 34
        first =3D 0
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#36 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#37 0x0000556e0ed2aef5 in json_parse (parser=3D0x7ffd3b15cdd0) at ../../ema=
cs/src/json.c:1705
#38 Fjson_parse_buffer (nargs=3D<optimized out>, args=3D<optimized out>) at=
 ../../emacs/src/json.c:1812
        count =3D {bytes =3D <optimized out>}
        conf =3D {object_type =3D <optimized out>, array_type =3D <optimize=
d out>, null_object =3D <optimized out>, false_object =3D <optimized out>}
        p =3D {input_current =3D 0x556e3342596e "}],\"detail\":\"struct\",\=
"kind\":23,\"name\":\"ra_struct_0xAB71CCE7u<true>\",\"range\":{\"end\":{\"c=
haracter\":62,\"line\":9091},\"start\":{\"character\":0,\"line\":9091}},\"s=
electionRange\":{\"end\":{\"character\":10,\"line\":9091"..., input_begin =
=3D 0x556e32ee1f60 "{\"id\":17456,\"jsonrpc\":\"2.0\",\"result\":[{\"childr=
en\":[{\"detail\":\"lp0::PluginInfoAdder\",\"kind\":13,\"name\":\"ppa8\",\"=
range\":{\"end\":{\"character\":33,\"line\":7},\"start\":{\"character\":0,\=
"line\":7}},\"selectionRange\":"..., input_end =3D 0x556e33733f5e "", secon=
dary_input_begin =3D 0x0, secondary_input_end =3D 0x0, current_line =3D 1, =
current_column =3D 5519886, point_of_current_line =3D 0, available_depth =
=3D 9993, conf =3D {object_type =3D json_object_hashtable, array_type =3D j=
son_array_array, null_object =3D 0x0, false_object =3D 0x0}, additional_byt=
es_count =3D 0, internal_object_workspace =3D {0x7f4767c48874, 0x110c2, 0x7=
f4767c4889c, 0x7f4767c488c4, 0x7f4767c4972d, 0x7f4767c4c63d, 0x7f4767c4cd4d=
, 0x7f4767c4f9c5, 0x7f4767c53005, 0x7f4767c53ef5, 0x7f4767c54df5, 0x7f4767c=
55ce5, 0x7f4767c58bf5, 0x7f4767c59ae5, 0x7f4767c5c76d, 0x7f4767c5dd9d, 0x7f=
4767c60c8d, 0x7f4767c61b7d, 0x7f4767c62a6d, 0x7f4767c6395d, 0x7f4767c6689d,=
 0x7f4767c6778d, 0x7f4767c6868d, 0x7f4767c6957d, 0x7f4767c6c48d, 0x7f4767c6=
d37d, 0x7f4767c6e26d, 0x7f4767c6f15d, 0x7f4767c7009d, 0x7f4767c70f8d, 0x7f4=
767c71e7d, 0x7f4767c74d7d, 0x7f4767c75c6d, 0x7f4767c76b7d, 0x7f4767c77a6d, =
0x7f4767c7a9ad, 0x7f4767c7b89d, 0x7f4767c7c78d, 0x7f4767c7d67d, 0x7f4767c80=
575, 0x7f4767c81465, 0x7f4767c8237d, 0x7f4767c8326d, 0x7f4767c8615d, 0x7f47=
67c8704d, 0x7f4767c87f3d, 0x7f4767c88e5d, 0x7f4767c89d4d, 0x7f4767c8cc8d, 0=
x7f4767c8cd64, 0x7f4767c8d4dd, 0x7f4767c--Type <RET> for more, q to quit, c=
 to continue without paging--
8d4f4, 0x7f4767c8d51c, 0x7f4767c8d544, 0x56, 0x7f4767c8d56c, 0x7f4767c8d594=
, 0x7f4767c8d5bc, 0x7f4767c8d805, 0x7f4767c8d8c4, 0x7f4767c8d93d, 0x7f4767c=
8d9fc, 0x2, 0x21e}, object_workspace =3D 0x556e374c43e0, object_workspace_s=
ize =3D 4096, object_workspace_current =3D 4023, internal_byte_workspace =
=3D "9091acterRange(lxw_chart_options::x_scale) *, const lxw_chart_options =
*))*))s *)bj *)mats))ement *)mat *)...).).)\321\025;\375\177\000\000\000\00=
0\000\000\000\000\000\000\020\370\302\016nU\000\000\b\000\000\000\000\000\0=
00\000\020\321\025;\375\177\000\000\t\000\000\000\000\000\000\000\310\321\0=
25;\375\177\000\000\000\000\000\000\000\000\000\000\020\370\302\016nU\000\0=
00\b\000\000\000\000\000\000\000p\321\025;\375\177\000\000"..., byte_worksp=
ace =3D 0x7ffd3b15d050 "9091acterRange(lxw_chart_options::x_scale) *, const=
 lxw_chart_options *))*))s *)bj *)mats))ement *)mat *)...).).)\321\025;\375=
\177", byte_workspace_end =3D 0x7ffd3b15d250 "P\320\025;\375\177", byte_wor=
kspace_current =3D 0x7ffd3b15d054 "acterRange(lxw_chart_options::x_scale) *=
, const lxw_chart_options *))*))s *)bj *)mats))ement *)mat *)...).).)\321\0=
25;\375\177"}
        begin =3D <optimized out>
        end =3D <optimized out>
        secondary_begin =3D <optimized out>
        secondary_end =3D <optimized out>
        result =3D <optimized out>
        byte =3D <optimized out>
        position =3D <optimized out>
#39 0x0000556e0ecd9cba in exec_byte_code
    (fun=3D<optimized out>, args_template=3D<optimized out>, nargs=3D<optim=
ized out>, args=3D<optimized out>)
    at ../../emacs/src/lisp.h:2290
        call_nargs =3D 6
        call_fun =3D <optimized out>
        count1 =3D {bytes =3D <optimized out>}
        val =3D <optimized out>
        call_args =3D 0x7f486347f078
        original_fun =3D 0x29da650d7dc0
--Type <RET> for more, q to quit, c to continue without paging--
        op =3D 6
        type =3D <optimized out>
        targets =3D {0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ecda0c8 =
<exec_byte_code+2056>, 0x556e0ecda0c3 <exec_byte_code+2051>, 0x556e0ecda0be=
 <exec_byte_code+2046>, 0x556e0ecd9aa3 <exec_byte_code+483>, 0x556e0ecd9aa3=
 <exec_byte_code+483>, 0x556e0ecda080 <exec_byte_code+1984>, 0x556e0ecda042=
 <exec_byte_code+1922>, 0x556e0ecdc03a <exec_byte_code+10106>, 0x556e0ecdc0=
35 <exec_byte_code+10101>, 0x556e0ecdc030 <exec_byte_code+10096>, 0x556e0ec=
dc02b <exec_byte_code+10091>, 0x556e0ecd9add <exec_byte_code+541>, 0x556e0e=
cd9ae0 <exec_byte_code+544>, 0x556e0ecdc01e <exec_byte_code+10078>, 0x556e0=
ecdc03f <exec_byte_code+10111>, 0x556e0ecdbec6 <exec_byte_code+9734>, 0x556=
e0ecdbec1 <exec_byte_code+9729>, 0x556e0ecdbebc <exec_byte_code+9724>, 0x55=
6e0ecdbeb7 <exec_byte_code+9719>, 0x556e0ecd9a39 <exec_byte_code+377>, 0x55=
6e0ecd9a40 <exec_byte_code+384>, 0x556e0ecdbe9d <exec_byte_code+9693>, 0x55=
6e0ecdbeaa <exec_byte_code+9706>, 0x556e0ecdbe4b <exec_byte_code+9611>, 0x5=
56e0ecdbe46 <exec_byte_code+9606>, 0x556e0ecdbe41 <exec_byte_code+9601>, 0x=
556e0ecdbe3c <exec_byte_code+9596>, 0x556e0ecd9d98 <exec_byte_code+1240>, 0=
x556e0ecd9da0 <exec_byte_code+1248>, 0x556e0ecdbe5d <exec_byte_code+9629>, =
0x556e0ecdbe50 <exec_byte_code+9616>, 0x556e0ecdbe1d <exec_byte_code+9565>,=
 0x556e0ecdbe18 <exec_byte_code+9560>, 0x556e0ecdbe13 <exec_byte_code+9555>=
, 0x556e0ecdbe0e <exec_byte_code+9550>, 0x556e0ecd9b3d <exec_byte_code+637>=
, 0x556e0ecd9b40 <exec_byte_code+640>, 0x556e0ecdbe2f <exec_byte_code+9583>=
, 0x556e0ecdbe22 <exec_byte_code+9570>, 0x556e0ecdbdef <exec_byte_code+9519=
>, 0x556e0ecdbdea <exec_byte_code+9514>, 0x556e0ecdbde5 <exec_byte_code+950=
9>, 0x556e0ecdbde0 <exec_byte_code+9504>, 0x556e0ecd9d4b <exec_byte_code+11=
63>, 0x556e0ecd9d50 <exec_byte_code+1168>, 0x556e0ecdbe01 <exec_byte_code+9=
537>, 0x556e0ecdbdf4 <exec_byte_code+9524>, 0x556e0ecdb9fa <exec_byte_code+=
8506>, 0x556e0ecdba2e <exec_byte_code+8558>, 0x556e0ecdbab0 <exec_byte_code=
+8688>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_co=
de[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte=
_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ecdb84e <exec_b=
yte_code+8078>, 0x556e0ecdb7db <exec_byte_code+7963>, 0x556e0ecdb794 <exec_=
byte_code+7892>, 0x556e0ecdb74d <exec_byte_code+7821>, 0x556e0ecdb708 <exec=
_byte_code+7752>, 0x556e0ecdbf47 <exec_byte_code+9863>, 0x556e0ecdbf07 <exe=
c_byte_code+9799>, 0x556e0ecdb6d6 <exec_byte_code+7702>, 0x556e0ecdbfa3 <ex=
ec_byte_code+9955>, 0x556e0ecdbecb <exec_byte_code+9739>, 0x556e0ecdb696 <e=
xec_byte_code+7638>, 0x556e0ecdb666 <exec_byte_code+7590>, 0x556e0ecdb626 <=
exec_byte_code+7526>, 0x556e0ecdb5e9 <exec_byte_code+7465>, 0x556e0ecdb5a8 =
<e--Type <RET> for more, q to quit, c to continue without paging--
xec_byte_code+7400>, 0x556e0ecdb532 <exec_byte_code+7282>, 0x556e0ecdb4a7 <=
exec_byte_code+7143>, 0x556e0ecdb412 <exec_byte_code+6994>, 0x556e0ecdb3e2 =
<exec_byte_code+6946>, 0x556e0ecdb3b2 <exec_byte_code+6898>, 0x556e0ecdb372=
 <exec_byte_code+6834>, 0x556e0ecdb332 <exec_byte_code+6770>, 0x556e0ecdb2f=
2 <exec_byte_code+6706>, 0x556e0ecdb2ae <exec_byte_code+6638>, 0x556e0ecdb2=
74 <exec_byte_code+6580>, 0x556e0ecdb23a <exec_byte_code+6522>, 0x556e0ecdb=
200 <exec_byte_code+6464>, 0x556e0ecdb15e <exec_byte_code+6302>, 0x556e0ecd=
b102 <exec_byte_code+6210>, 0x556e0ecdb0a8 <exec_byte_code+6120>, 0x556e0ec=
db04e <exec_byte_code+6030>, 0x556e0ecdaff4 <exec_byte_code+5940>, 0x556e0e=
cdaf9a <exec_byte_code+5850>, 0x556e0ecdaf40 <exec_byte_code+5760>, 0x556e0=
ecdaee8 <exec_byte_code+5672>, 0x556e0ecdae8b <exec_byte_code+5579>, 0x556e=
0ecdae33 <exec_byte_code+5491>, 0x556e0ecdaddb <exec_byte_code+5403>, 0x556=
e0ecdad83 <exec_byte_code+5315>, 0x556e0ecdad2a <exec_byte_code+5226>, 0x55=
6e0ecdac39 <exec_byte_code+4985>, 0x556e0ecd9de9 <exec_byte_code+1321>, 0x5=
56e0ecdac09 <exec_byte_code+4937>, 0x556e0ecdabd4 <exec_byte_code+4884>, 0x=
556e0ecdab44 <exec_byte_code+4740>, 0x556e0ecdaafa <exec_byte_code+4666>, 0=
x556e0ecdaaca <exec_byte_code+4618>, 0x556e0ecdaa98 <exec_byte_code+4568>, =
0x556e0ecdaa66 <exec_byte_code+4518>, 0x556e0ecdaa2c <exec_byte_code+4460>,=
 0x556e0ecda9fa <exec_byte_code+4410>, 0x556e0eadee50 <exec_byte_code[cold]=
>, 0x556e0ecda9c8 <exec_byte_code+4360>, 0x556e0ecda996 <exec_byte_code+431=
0>, 0x556e0ecda964 <exec_byte_code+4260>, 0x556e0ecda932 <exec_byte_code+42=
10>, 0x556e0ecda900 <exec_byte_code+4160>, 0x556e0ecda8d0 <exec_byte_code+4=
112>, 0x556e0ecd9de9 <exec_byte_code+1321>, 0x556e0eadee50 <exec_byte_code[=
cold]>, 0x556e0ecda88d <exec_byte_code+4045>, 0x556e0ecda85d <exec_byte_cod=
e+3997>, 0x556e0ecda82c <exec_byte_code+3948>, 0x556e0ecda7eb <exec_byte_co=
de+3883>, 0x556e0ecda7aa <exec_byte_code+3818>, 0x556e0ecda779 <exec_byte_c=
ode+3769>, 0x556e0ecda748 <exec_byte_code+3720>, 0x556e0ecda707 <exec_byte_=
code+3655>, 0x556e0ecda6c6 <exec_byte_code+3590>, 0x556e0ecda685 <exec_byte=
_code+3525>, 0x556e0ecda652 <exec_byte_code+3474>, 0x556e0ecda621 <exec_byt=
e_code+3425>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ecdbbbf <exec_b=
yte_code+8959>, 0x556e0ecdbd6e <exec_byte_code+9390>, 0x556e0ecdbfdf <exec_=
byte_code+10015>, 0x556e0ecdbd2f <exec_byte_code+9327>, 0x556e0ecdbcf3 <exe=
c_byte_code+9267>, 0x556e0ecdbcb7 <exec_byte_code+9207>, 0x556e0ecdbc1d <ex=
ec_byte_code+9053>, 0x556e0ecdbbf8 <exec_byte_code+9016>, 0x556e0ecdbe6a <e=
xec_byte_code+9642>, 0x556e0ecdbb9a <exec_byte_code+8922>, 0x556e0ecdbb37 <=
exec_byte_code+8823>, 0x556e0ecdbb02 <exec_byte_code+8770>, 0x556e0ecdbabb =
<exec_byte_code+8699>, 0x556e0ecdb9a5 <exec_byte_code+8421>, 0x556e0ecdb961=
 <exec_byte_code+8353>, 0x556e0ecdb917 <exec_byte_code+8279>, 0x556e0ecdb8a=
c <exec_byte_code+8172>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x--Type <R=
ET> for more, q to quit, c to continue without paging--
556e0ecda5dc <exec_byte_code+3356>, 0x556e0ecda5ab <exec_byte_code+3307>, 0=
x556e0ecda57a <exec_byte_code+3258>, 0x556e0ecda549 <exec_byte_code+3209>, =
0x556e0ecda518 <exec_byte_code+3160>, 0x556e0ecda4d7 <exec_byte_code+3095>,=
 0x556e0ecda496 <exec_byte_code+3030>, 0x556e0ecda455 <exec_byte_code+2965>=
, 0x556e0ecda414 <exec_byte_code+2900>, 0x556e0ecda3ad <exec_byte_code+2797=
>, 0x556e0ecda36c <exec_byte_code+2732>, 0x556e0ecda32b <exec_byte_code+266=
7>, 0x556e0ecda2fa <exec_byte_code+2618>, 0x556e0ecda2ae <exec_byte_code+25=
42>, 0x556e0ecda262 <exec_byte_code+2466>, 0x556e0ecda224 <exec_byte_code+2=
404>, 0x556e0ecda1e6 <exec_byte_code+2342>, 0x556e0ecda1ab <exec_byte_code+=
2283>, 0x556e0ecdacd2 <exec_byte_code+5138>, 0x556e0ecdac83 <exec_byte_code=
+5059>, 0x556e0ecda13b <exec_byte_code+2171>, 0x556e0ecda0cd <exec_byte_cod=
e+2061>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_c=
ode[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byt=
e_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_=
byte_code[cold]>, 0x556e0ecdb562 <exec_byte_code+7330>, 0x556e0ecdb1ba <exe=
c_byte_code+6394>, 0x556e0ecdab8e <exec_byte_code+4814>, 0x556e0ecd9ffc <ex=
ec_byte_code+1852>, 0x556e0ecd9fb6 <exec_byte_code+1782>, 0x556e0eadee50 <e=
xec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ecd9f7d=
 <exec_byte_code+1725>, 0x556e0ecd9f19 <exec_byte_code+1625>, 0x556e0eadee5=
0 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ead=
ee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0=
eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x55=
6e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0=
x556e0ecd9edf <exec_byte_code+1567> <repeats 64 times>}
        quitcounter =3D <optimized out>
        bc =3D 0x556e0ee8a8f8 <main_thread+504>
        top =3D 0x7f486347f070
        pc =3D <optimized out>
        bytestr =3D <optimized out>
        vector =3D <optimized out>
        maxdepth =3D <optimized out>
        const_length =3D <optimized out>
        bytestr_length =3D <optimized out>
        vectorp =3D 0x7f4761f7f9a8
--Type <RET> for more, q to quit, c to continue without paging--
        max_stack =3D <optimized out>
        frame_base =3D <optimized out>
        fp =3D <optimized out>
        bytestr_data =3D <optimized out>
        rest =3D <optimized out>
        mandatory =3D <optimized out>
        nonrest =3D <optimized out>
        pushedargs =3D <optimized out>
        saved_quitcounter =3D 1 '\001'
        saved_vectorp =3D 0x7f4761f7f9a8
        saved_bytestr_data =3D 0x7f4782ba94e8 "\300\306=C3=A2!\203\020"
        result =3D <optimized out>
#40 0x0000556e0ec8d858 in Ffuncall (nargs=3Dnargs@entry=3D3, args=3D0x7ffd3=
b15d3d0)
    at ../../emacs/src/eval.c:3115
        count =3D {bytes =3D <optimized out>}
        val =3D <optimized out>
#41 0x0000556e0ec8dbe4 in Fapply (nargs=3Dnargs@entry=3D2, args=3Dargs@entr=
y=3D0x7ffd3b15d460)
    at ../../emacs/src/eval.c:2787
        i =3D <optimized out>
        funcall_nargs =3D 3
        funcall_args =3D <optimized out>
        spread_arg =3D <optimized out>
        fun =3D <optimized out>
        sa_avail =3D <optimized out>
        sa_count =3D {bytes =3D 352}
        numargs =3D <optimized out>
        retval =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#42 0x0000556e0ec8df63 in apply1 (fn=3D<optimized out>, arg=3D<optimized ou=
t>) at ../../emacs/src/eval.c:3003
#43 0x0000556e0ec88fa2 in internal_condition_case_1
    (bfun=3Dbfun@entry=3D0x556e0ece67b0 <read_process_output_call>, arg=3D0=
x7f4767c4805b, handlers=3Dhandlers@entry=3D0xa8, hfun=3Dhfun@entry=3D0x556e=
0ece66f0 <read_process_output_error_handler>) at ../../emacs/src/eval.c:1650
        val =3D <optimized out>
        c =3D 0x7f4873e850a0
#44 0x0000556e0ece93a6 in read_and_dispose_of_process_output
    (p=3D<optimized out>, chars=3D0x556e40d23290 ",{\"detail\":\"void (lxw_=
workbook *, decltype(lxw_workbook::options))\",\"kind\":6,\"name\":\"w\",\"=
range\":{\"end\":{\"character\":57,\"line\":12784},\"start\":{\"character\"=
:0,\"line\":12784}},\"selectionRange\":{\"end\":{\"cha"..., nbytes=3D335897=
, coding=3D0x556e2eba74b0)
    at ../../emacs/src/process.c:6523
        outstream =3D 0x7f4761f7f1ed
        text =3D 0x7f4767c48004
        outer_running_asynch_code =3D true
        waiting =3D -1
        outstream =3D <optimized out>
        text =3D <optimized out>
        outer_running_asynch_code =3D <optimized out>
        waiting =3D <optimized out>
        tem =3D <optimized out>
#45 read_process_output (proc=3Dproc@entry=3D0x7f4761f7966d, channel=3Dchan=
nel@entry=3D25)
    at ../../emacs/src/process.c:6291
        nbytes =3D 335897
        p =3D 0x7f4761f79668
        coding =3D <optimized out>
        carryover =3D <optimized out>
        readmax =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        count =3D {bytes =3D <optimized out>}
        odeactivate =3D 0x0
        chars =3D <optimized out>
        sa_avail =3D <optimized out>
        sa_count =3D {bytes =3D <optimized out>}
#46 0x0000556e0ecf0c8b in wait_reading_process_output
    (time_limit=3Dtime_limit@entry=3D0, nsecs=3Dnsecs@entry=3D0, read_kbd=
=3Dread_kbd@entry=3D-1, do_display=3Dtrue, wait_for_cell=3Dwait_for_cell@en=
try=3D0x0, wait_proc=3Dwait_proc@entry=3D0x0, just_wait_proc=3D0)
    at ../../emacs/src/process.c:5972
        nread =3D <optimized out>
        process_skipped =3D <optimized out>
        wrapped =3D <optimized out>
        channel_start =3D 26
        child_fd =3D <optimized out>
        last_read_channel =3D 25
        channel =3D <optimized out>
        nfds =3D <optimized out>
        Available =3D {fds_bits =3D {33554432, 0 <repeats 15 times>}}
        Writeok =3D {fds_bits =3D {0 <repeats 16 times>}}
        check_write =3D <optimized out>
        check_delay =3D <optimized out>
        no_avail =3D <optimized out>
        xerrno =3D 11
        proc =3D 0x7f4761f7966d
        timeout =3D {tv_sec =3D 0, tv_nsec =3D 10000000}
        end_time =3D {tv_sec =3D 0, tv_nsec =3D 139949216517785}
        timer_delay =3D {tv_sec =3D <optimized out>, tv_nsec =3D <optimized=
 out>}
--Type <RET> for more, q to quit, c to continue without paging--
        got_output_end_time =3D {tv_sec =3D 0, tv_nsec =3D -1}
        wait =3D <optimized out>
        got_some_output =3D <optimized out>
        prev_wait_proc_nbytes_read =3D 0
        retry_for_async =3D <optimized out>
        count =3D {bytes =3D <optimized out>}
        now =3D {tv_sec =3D <optimized out>, tv_nsec =3D <optimized out>}
#47 0x0000556e0ec06a2f in kbd_buffer_get_event
    (kbp=3D<synthetic pointer>, used_mouse_menu=3D<optimized out>, end_time=
=3D<optimized out>)
    at ../../emacs/src/keyboard.c:4115
        do_display =3D <optimized out>
        obj =3D <optimized out>
        str =3D <optimized out>
        had_pending_selection_requests =3D false
        had_pending_conversion_events =3D false
        obj =3D <optimized out>
        str =3D <optimized out>
        had_pending_selection_requests =3D <optimized out>
        had_pending_conversion_events =3D <optimized out>
        now =3D {tv_sec =3D <optimized out>, tv_nsec =3D <optimized out>}
        duration =3D {tv_sec =3D <optimized out>, tv_nsec =3D <optimized ou=
t>}
        do_display =3D <optimized out>
        tty =3D <optimized out>
        first =3D <optimized out>
        event =3D <optimized out>
        copy =3D {kind =3D <optimized out>, dpyinfo =3D <optimized out>, re=
questor =3D <optimized out>, selection =3D <optimized out>, target =3D <opt=
imized out>, property =3D <optimized out>, time =3D <optimized out>}
--Type <RET> for more, q to quit, c to continue without paging--
        f =3D <optimized out>
        frame =3D <optimized out>
        focus =3D <optimized out>
        pinch_dx =3D <optimized out>
        pinch_dy =3D <optimized out>
        pinch_angle =3D <optimized out>
        maybe_event =3D <optimized out>
        f =3D <optimized out>
        movement_frame =3D <optimized out>
        bar_window =3D <optimized out>
        part =3D <optimized out>
        x =3D <optimized out>
        y =3D <optimized out>
        t =3D <optimized out>
        frame =3D <optimized out>
#48 read_event_from_main_queue
    (end_time=3Dend_time@entry=3D0x0, local_getcjmp=3Dlocal_getcjmp@entry=
=3D0x7ffd3b15dd20, used_mouse_menu=3Dused_mouse_menu@entry=3D0x7ffd3b15e00b=
) at ../../emacs/src/keyboard.c:2336
        c =3D 0x0
        save_jump =3D {{__jmpbuf =3D {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_s=
aved =3D 0, __saved_mask =3D {__val =3D {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9393=
1182793087, 0, 0, 3, 93931182213056, 140725594737840}}}}
        kb =3D 0x556e2eb38850
        count =3D {bytes =3D <optimized out>}
#49 0x0000556e0ec0c5b6 in read_decoded_event_from_main_queue
    (end_time=3D<optimized out>, local_getcjmp=3D<optimized out>, prev_even=
t=3D<optimized out>, used_mouse_menu=3D<optimized out>) at ../../emacs/src/=
keyboard.c:2399
        nextevt =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        frame =3D <optimized out>
        terminal =3D <optimized out>
        events =3D {0xd5b8, 0x0, 0x7f476553cee3, 0x1, 0x7ffd3b15dd00, 0x556=
e0ed04dbf <lookup_char_property+495>, 0x0, 0xd5b8, 0xecd6, 0x3b35, 0x7f478e=
045568, 0x7f478e04556d, 0x7ffd3b15de00, 0x556e0ec7a70c <Fget_pos_property+8=
12>, 0xecd6, 0x7f478e045568}
        n =3D 0
        events =3D {<optimized out> <repeats 16 times>}
        n =3D <optimized out>
        nextevt =3D <optimized out>
        frame =3D <optimized out>
        terminal =3D <optimized out>
        meta_key =3D <optimized out>
        coding =3D <optimized out>
        i =3D <optimized out>
        c =3D <optimized out>
        modifier =3D <optimized out>
        src =3D {<optimized out> <repeats 16 times>}
        dest =3D {<optimized out> <repeats 80 times>}
        i =3D <optimized out>
        p =3D <optimized out>
        c =3D <optimized out>
        modifier =3D <optimized out>
#50 read_char
    (commandflag=3D1, map=3Dmap@entry=3D0x7f4766b23feb, prev_event=3D0x0, u=
sed_mouse_menu=3Dused_mouse_menu@entry=3D0x7ffd3b15e00b, end_time=3Dend_tim=
e@entry=3D0x0) at ../../emacs/src/keyboard.c:3031
        c =3D 0x0
        local_getcjmp =3D {{__jmpbuf =3D {139948951031040, -121894828270294=
3986, 93931718281296, 0, 15403, 0, -1--Type <RET> for more, q to quit, c to=
 continue without paging--
218948282577114866, -5029668301387126514}, __mask_was_saved =3D 0, __saved_=
mask =3D {__val =3D {128, 0, 0, 50456, 93931184418448, 140725594742272, 939=
31182793475, 139948330862256, 15, 140725594742224, 93931182711373, 0, 46017=
145348552, 140725594742384, 93931182330548, 54712}}}}
        save_jump =3D {{__jmpbuf =3D {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_s=
aved =3D 0, __saved_mask =3D {__val =3D {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9393=
1182793087, 0, 0, 3, 93931182213056, 140725594737840}}}}
        tem =3D <optimized out>
        save =3D <optimized out>
        previous_echo_area_message =3D 0x0
        also_record =3D 0x0
        reread =3D false
        recorded =3D false
        polling_stopped_here =3D true
        orig_kboard =3D 0x556e2eb38850
        retry =3D <optimized out>
        jmpcount =3D {bytes =3D <optimized out>}
        c_volatile =3D 0x0
#51 0x0000556e0ec0f651 in read_key_sequence
    (keybuf=3Dkeybuf@entry=3D0x7ffd3b15e140, prompt=3Dprompt@entry=3D0x0, d=
ont_downcase_last=3Ddont_downcase_last@entry=3Dfalse, can_return_switch_fra=
me=3Dcan_return_switch_frame@entry=3Dtrue, fix_current_buffer=3Dfix_current=
_buffer@entry=3Dtrue, prevent_redisplay=3Dprevent_redisplay@entry=3Dfalse, =
disable_text_conversion_p=3Dfalse)
    at ../../emacs/src/keyboard.c:10790
        interrupted_kboard =3D 0x556e2eb38850
        interrupted_frame =3D <optimized out>
        key =3D <optimized out>
        used_mouse_menu =3D false
        echo_local_start =3D 0
        last_real_key_start =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        keys_local_start =3D 0
        new_binding =3D <optimized out>
        count =3D {bytes =3D <optimized out>}
        t =3D <optimized out>
        echo_start =3D 0
        keys_start =3D 0
        current_binding =3D 0x7f4766b23feb
        first_unbound =3D 31
        mock_input =3D <optimized out>
        used_mouse_menu_history =3D {false <repeats 30 times>}
        fkey =3D {parent =3D 0x7f4867545ab3, map =3D <optimized out>, start=
 =3D 0, end =3D 0}
        keytran =3D {parent =3D 0x7f4873e5c0d3, map =3D <optimized out>, st=
art =3D 0, end =3D 0}
        indec =3D {parent =3D 0x7f4867545a9b, map =3D <optimized out>, star=
t =3D 0, end =3D 0}
        shift_translated =3D <optimized out>
        delayed_switch_frame =3D <optimized out>
        original_uppercase =3D <optimized out>
        original_uppercase_position =3D <optimized out>
        disabled_conversion =3D <optimized out>
        starting_buffer =3D <optimized out>
        fake_prefixed_keys =3D 0x0
        first_event =3D 0x0
        second_event =3D <optimized out>
#52 0x0000556e0ec114d8 in command_loop_1 () at ../../emacs/src/keyboard.c:1=
435
        cmd =3D <optimized out>
        keybuf =3D {0xb2, 0x1d6, 0x1de, 0x0, 0x139e8, 0x556e0ee16e90, 0x7ff=
d3b15e1e0, 0x556e0ec8a303 <unbind_to+563>, 0x7f476b4ebe33, 0x7ffd3b15e200, =
0xc, 0x139e8, 0x38, 0x7f47bc51a55d, 0x29da64f38c80, 0x7f476b4ebe33, 0x60, 0=
x7ffd3b15e200, 0x7ffd3b15e3b8, 0xffffffffffffffff, 0x7ffd3b15e260, 0x556e0e=
c046bd <cmd_error+349>, 0x--Type <RET> for more, q to quit, c to continue w=
ithout paging--
0, 0x0, 0xcb00, 0x556e0ee16e90, 0x7ffd3b15e280, 0x556e0ec8a303 <unbind_to+5=
63>, 0x0, 0xcbe0}
        i =3D <optimized out>
        last_pt =3D <optimized out>
        prev_modiff =3D 10245
        prev_buffer =3D 0x7f478e045568
#53 0x0000556e0ec88f26 in internal_condition_case
    (bfun=3Dbfun@entry=3D0x556e0ec11320 <command_loop_1>, handlers=3Dhandle=
rs@entry=3D0xa8, hfun=3Dhfun@entry=3D0x556e0ec04560 <cmd_error>) at ../../e=
macs/src/eval.c:1626
        val =3D <optimized out>
        c =3D 0x7f486598df68
#54 0x0000556e0ebfc43e in command_loop_2 (handlers=3Dhandlers@entry=3D0xa8)=
 at ../../emacs/src/keyboard.c:1174
        val =3D <optimized out>
#55 0x0000556e0ec88e52 in internal_catch
    (tag=3Dtag@entry=3D0x14dd0, func=3Dfunc@entry=3D0x556e0ebfc410 <command=
_loop_2>, arg=3Darg@entry=3D0xa8)
    at ../../emacs/src/eval.c:1305
        val =3D <optimized out>
        c =3D <optimized out>
#56 0x0000556e0ebfc3d3 in command_loop () at ../../emacs/src/keyboard.c:1152
#57 0x0000556e0ec040d6 in recursive_edit_1 () at ../../emacs/src/keyboard.c=
:760
        count =3D {bytes =3D <optimized out>}
        val =3D <optimized out>
#58 0x0000556e0ec04488 in Frecursive_edit () at ../../emacs/src/keyboard.c:=
843
        count =3D {bytes =3D <optimized out>}
        buffer =3D <optimized out>
#59 0x0000556e0eae3296 in main (argc=3D<optimized out>, argv=3D0x7ffd3b15e5=
d8) at ../../emacs/src/emacs.c:2580
        stack_bottom_variable =3D 0x7f4877671ac0 <main_arena>
        old_argc =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        no_loadup =3D false
        junk =3D 0x0
        dname_arg =3D 0x0
        ch_to_dir =3D 0x0
        original_pwd =3D <optimized out>
        dump_mode =3D <optimized out>
        skip_args =3D 1
        temacs =3D 0x0
        attempt_load_pdump =3D <optimized out>
        only_version =3D false
        rlim =3D {rlim_cur =3D 10022912, rlim_max =3D 18446744073709551615}
        lc_all =3D <optimized out>
        sockfd =3D -1
        module_assertions =3D <optimized out>

>> #7  0x0000556e0edd0c10 in shieldFlushEntries ()
>
> shieldFlushEntries contains several asserts.  Can you disassemble the
> function shieldFlushEntries to see which one we hit?
> (gdb: "disass/s shieldFlushEntries").
>

(gdb) disass/s shieldFlushEntries
Dump of assembler code for function shieldFlushEntries:
   0x0000556e0edd0b80 <+0>:     push   %r15
   0x0000556e0edd0b82 <+2>:     push   %r14
   0x0000556e0edd0b84 <+4>:     push   %r13
   0x0000556e0edd0b86 <+6>:     push   %r12
   0x0000556e0edd0b88 <+8>:     push   %rbp
   0x0000556e0edd0b89 <+9>:     push   %rbx
   0x0000556e0edd0b8a <+10>:    mov    %rdi,%rbx
   0x0000556e0edd0b8d <+13>:    sub    $0x8,%rsp
   0x0000556e0edd0b91 <+17>:    cmpq   $0x0,0x18(%rbx)
   0x0000556e0edd0b96 <+22>:    mov    0x10(%rdi),%rdi
   0x0000556e0edd0b9a <+26>:    jne    0x556e0edd0bb8 <shieldFlushEntries+5=
6>
   0x0000556e0edd0b9c <+28>:    test   %rdi,%rdi
   0x0000556e0edd0b9f <+31>:    jne    0x556e0edd0cd0 <shieldFlushEntries+3=
36>
   0x0000556e0edd0ba5 <+37>:    add    $0x8,%rsp
   0x0000556e0edd0ba9 <+41>:    pop    %rbx
   0x0000556e0edd0baa <+42>:    pop    %rbp
   0x0000556e0edd0bab <+43>:    pop    %r12
   0x0000556e0edd0bad <+45>:    pop    %r13
   0x0000556e0edd0baf <+47>:    pop    %r14
   0x0000556e0edd0bb1 <+49>:    pop    %r15
   0x0000556e0edd0bb3 <+51>:    ret
   0x0000556e0edd0bb4 <+52>:    nopl   0x0(%rax)
   0x0000556e0edd0bb8 <+56>:    mov    0x28(%rbx),%rsi
   0x0000556e0edd0bbc <+60>:    lea    0x48(%rbx),%r8
   0x0000556e0edd0bc0 <+64>:    mov    $0xb60405ed,%ecx
   0x0000556e0edd0bc5 <+69>:    lea    -0x658fc(%rip),%rdx        # 0x556e0=
ed6b2d0 <shieldQueueEntryCompare>--Type <RET> for more, q to quit, c to con=
tinue without paging--

   0x0000556e0edd0bcc <+76>:    call   0x556e0ed74d40 <QuickSort>
   0x0000556e0edd0bd1 <+81>:    cmpq   $0x0,0x28(%rbx)
   0x0000556e0edd0bd6 <+86>:    je     0x556e0edd0cb8 <shieldFlushEntries+3=
12>
   0x0000556e0edd0bdc <+92>:    xor    %ebp,%ebp
   0x0000556e0edd0bde <+94>:    xor    %r12d,%r12d
   0x0000556e0edd0be1 <+97>:    xor    %r14d,%r14d
   0x0000556e0edd0be4 <+100>:   xor    %r13d,%r13d
   0x0000556e0edd0be7 <+103>:   jmp    0x556e0edd0c34 <shieldFlushEntries+1=
80>
   0x0000556e0edd0be9 <+105>:   nopl   0x0(%rax)
   0x0000556e0edd0bf0 <+112>:   test   %r13,%r13
   0x0000556e0edd0bf3 <+115>:   je     0x556e0edd0c91 <shieldFlushEntries+2=
73>
   0x0000556e0edd0bf9 <+121>:   cmp    %r14,%r13
   0x0000556e0edd0bfc <+124>:   jae    0x556e0edd0d00 <shieldFlushEntries+3=
84>
   0x0000556e0edd0c02 <+130>:   mov    %r12d,%edx
   0x0000556e0edd0c05 <+133>:   mov    %r14,%rsi
   0x0000556e0edd0c08 <+136>:   mov    %r13,%rdi
   0x0000556e0edd0c0b <+139>:   call   0x556e0edcf8b0 <ProtSet>
   0x0000556e0edd0c10 <+144>:   movzwl 0x30(%r15),%r12d
   0x0000556e0edd0c15 <+149>:   shr    $0x7,%r12w
   0x0000556e0edd0c1a <+154>:   and    $0x3,%r12d
   0x0000556e0edd0c1e <+158>:   mov    0x10(%r15),%rax
   0x0000556e0edd0c22 <+162>:   mov    0x10(%rax),%r13
   0x0000556e0edd0c26 <+166>:   mov    0x28(%r15),%r14
   0x0000556e0edd0c2a <+170>:   add    $0x1,%rbp
   0x0000556e0edd0c2e <+174>:   cmp    0x28(%rbx),%rbp
   0x0000556e0edd0c32 <+178>:   jae    0x556e0edd0ca0 <shieldFlushEntries+2=
88>
--Type <RET> for more, q to quit, c to continue without paging--
   0x0000556e0edd0c34 <+180>:   mov    %rbp,%rsi
   0x0000556e0edd0c37 <+183>:   mov    %rbx,%rdi
   0x0000556e0edd0c3a <+186>:   call   0x556e0ed806d0 <shieldDequeue>
   0x0000556e0edd0c3f <+191>:   movzwl 0x30(%rax),%edx
   0x0000556e0edd0c43 <+195>:   mov    %rax,%r15
   0x0000556e0edd0c46 <+198>:   movzbl 0x30(%rax),%eax
   0x0000556e0edd0c4a <+202>:   shr    $0x7,%dx
   0x0000556e0edd0c4e <+206>:   shr    $0x5,%al
   0x0000556e0edd0c51 <+209>:   and    $0x3,%edx
   0x0000556e0edd0c54 <+212>:   and    $0x3,%eax
   0x0000556e0edd0c57 <+215>:   cmp    %al,%dl
   0x0000556e0edd0c59 <+217>:   je     0x556e0edd0c2a <shieldFlushEntries+1=
70>
   0x0000556e0edd0c5b <+219>:   movzbl %dl,%edx
   0x0000556e0edd0c5e <+222>:   mov    %r15,%rsi
   0x0000556e0edd0c61 <+225>:   mov    %rbx,%rdi
   0x0000556e0edd0c64 <+228>:   call   0x556e0ed6ed50 <shieldSetPM>
   0x0000556e0edd0c69 <+233>:   movzwl 0x30(%r15),%eax
   0x0000556e0edd0c6e <+238>:   shr    $0x7,%ax
   0x0000556e0edd0c72 <+242>:   and    $0x3,%eax
   0x0000556e0edd0c75 <+245>:   cmp    %r12d,%eax
   0x0000556e0edd0c78 <+248>:   jne    0x556e0edd0bf0 <shieldFlushEntries+1=
12>
   0x0000556e0edd0c7e <+254>:   mov    0x10(%r15),%rdx
   0x0000556e0edd0c82 <+258>:   cmp    0x10(%rdx),%r14
   0x0000556e0edd0c86 <+262>:   je     0x556e0edd0c26 <shieldFlushEntries+1=
66>
   0x0000556e0edd0c88 <+264>:   test   %r13,%r13
   0x0000556e0edd0c8b <+267>:   jne    0x556e0edd0bf9 <shieldFlushEntries+1=
21>
   0x0000556e0edd0c91 <+273>:   mov    %eax,%r12d
--Type <RET> for more, q to quit, c to continue without paging--
   0x0000556e0edd0c94 <+276>:   jmp    0x556e0edd0c1e <shieldFlushEntries+1=
58>
   0x0000556e0edd0c96 <+278>:   cs nopw 0x0(%rax,%rax,1)
   0x0000556e0edd0ca0 <+288>:   test   %r13,%r13
   0x0000556e0edd0ca3 <+291>:   je     0x556e0edd0cb8 <shieldFlushEntries+3=
12>
   0x0000556e0edd0ca5 <+293>:   cmp    %r14,%r13
   0x0000556e0edd0ca8 <+296>:   jae    0x556e0edd0d1e <shieldFlushEntries+4=
14>
   0x0000556e0edd0caa <+298>:   mov    %r12d,%edx
   0x0000556e0edd0cad <+301>:   mov    %r14,%rsi
   0x0000556e0edd0cb0 <+304>:   mov    %r13,%rdi
   0x0000556e0edd0cb3 <+307>:   call   0x556e0edcf8b0 <ProtSet>
   0x0000556e0edd0cb8 <+312>:   add    $0x8,%rsp
   0x0000556e0edd0cbc <+316>:   mov    %rbx,%rdi
   0x0000556e0edd0cbf <+319>:   pop    %rbx
   0x0000556e0edd0cc0 <+320>:   pop    %rbp
   0x0000556e0edd0cc1 <+321>:   pop    %r12
   0x0000556e0edd0cc3 <+323>:   pop    %r13
   0x0000556e0edd0cc5 <+325>:   pop    %r14
   0x0000556e0edd0cc7 <+327>:   pop    %r15
   0x0000556e0edd0cc9 <+329>:   jmp    0x556e0ed6b260 <shieldQueueReset>
   0x0000556e0edd0cce <+334>:   xchg   %ax,%ax
   0x0000556e0edd0cd0 <+336>:   add    $0x8,%rsp
   0x0000556e0edd0cd4 <+340>:   lea    0x3c4e3(%rip),%rdx        # 0x556e0e=
e0d1be
   0x0000556e0edd0cdb <+347>:   mov    $0x190,%esi
   0x0000556e0edd0ce0 <+352>:   pop    %rbx
   0x0000556e0edd0ce1 <+353>:   lea    0x3a269(%rip),%rdi        # 0x556e0e=
e0af51
   0x0000556e0edd0ce8 <+360>:   pop    %rbp
   0x0000556e0edd0ce9 <+361>:   pop    %r12
--Type <RET> for more, q to quit, c to continue without paging--
   0x0000556e0edd0ceb <+363>:   pop    %r13
   0x0000556e0edd0ced <+365>:   pop    %r14
   0x0000556e0edd0cef <+367>:   pop    %r15
   0x0000556e0edd0cf1 <+369>:   jmp    *0xbbb79(%rip)        # 0x556e0ee8c8=
70 <mps_lib_assert_handler>
   0x0000556e0edd0cf7 <+375>:   nopw   0x0(%rax,%rax,1)
   0x0000556e0edd0d00 <+384>:   lea    0x3a97c(%rip),%rdx        # 0x556e0e=
e0b683
   0x0000556e0edd0d07 <+391>:   mov    $0x1a0,%esi
   0x0000556e0edd0d0c <+396>:   lea    0x3a23e(%rip),%rdi        # 0x556e0e=
e0af51
   0x0000556e0edd0d13 <+403>:   call   *0xbbb57(%rip)        # 0x556e0ee8c8=
70 <mps_lib_assert_handler>
   0x0000556e0edd0d19 <+409>:   jmp    0x556e0edd0c02 <shieldFlushEntries+1=
30>
   0x0000556e0edd0d1e <+414>:   lea    0x3a95e(%rip),%rdx        # 0x556e0e=
e0b683
   0x0000556e0edd0d25 <+421>:   mov    $0x1aa,%esi
   0x0000556e0edd0d2a <+426>:   lea    0x3a220(%rip),%rdi        # 0x556e0e=
e0af51
   0x0000556e0edd0d31 <+433>:   call   *0xbbb39(%rip)        # 0x556e0ee8c8=
70 <mps_lib_assert_handler>
   0x0000556e0edd0d37 <+439>:   jmp    0x556e0edd0caa <shieldFlushEntries+2=
98>
End of assembler dump.


>> #44 0x0000556e0ece93a6 in read_and_dispose_of_process_output
>>     (p=3D<optimized out>, chars=3D0x556e40d23290 ",{\"detail\":\"void
>> (lxw_workbook *,
>> decltype(lxw_workbook::options))\",\"kind\":6,\"name\":\"w\",\"range\":{=
\"end\":{\"character\":57,\"line\":12784},\"start\":{\"character\":0,\"line=
\":12784}},\"selectionRange\":{\"end\":{\"cha"...,
>> nbytes=3D335897, coding=3D0x556e2eba74b0)
>
> 335 KB? That's a lot,

That's lsp/libclang for you. I only use it occasionally and that was a
large C++ file. However, I use lsp/dart all the time, with smaller files
but the server is quite verbose, and no crashes so far.

> so it's likely that the problem was caused in the
> json code...  I'll have a look, particularly at xcdr_addr, which is
> rarely used in other code.

>> In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
>>  version 1.18.2) of 2025-02-13 built on zen
>> Repository revision: 4b28c41c4f2b43add865f9a8727879cb53dad107
>
> Hmm.  That's a bit older, but I don't think this looks like any of the
> bugs that have been fixed since.
>
> Thanks for the report, I'll try stress-testing the JSON code next.

Thank you Pip.

_________________________________________________________________
________________________________________________________
Your E-Mail. Your Cloud. Your Office. eclipso Mail Europe. https://www.eclipso.de






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 3 Mar 2025 15:12:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 10:12:52 2025
Received: from localhost ([127.0.0.1]:49827 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp7TO-0002ol-2D
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:12:52 -0500
Received: from lists.gnu.org ([2001:470:142::17]:42526)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <oscarfv@HIDDEN>)
 id 1tp7TJ-0002o8-46
 for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 10:12:48 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <oscarfv@HIDDEN>)
 id 1tp7T2-0002QW-56
 for bug-gnu-emacs@HIDDEN; Mon, 03 Mar 2025 10:12:30 -0500
Received: from mail.eclipso.de ([217.69.254.104])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <oscarfv@HIDDEN>)
 id 1tp7So-0001Nf-Om
 for bug-gnu-emacs@HIDDEN; Mon, 03 Mar 2025 10:12:26 -0500
X-ESMTP-Authenticated-User: 000D6BEA
From: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eclipso.de; s=mail;
 t=1741014729; bh=df4VKp+5SsN8wwUvohHlZ+TxHERWXHUUACT2YGmWGZk=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=U6uVbnSt32o0T+eY0K8JUAD1i/3te1E+7oMT68gI7nz9beWnhzliS7PzS2zpL4uyX
 pufXTmyOiHjiE9B1c5Ft8FfSAp3u04VjkeeRUiUjVfasR/aPgIVM9KwJAzxwFOm5Wg
 c+X3JvHoMsL2nDzwaPwExJxLH0jB7eUWAepZzkVTPPaOOxd/4g1gJKGiDXKhkEf1qp
 CLiJhv3EGEZr7VJb7JP7gxFb5PVbkA0rLGxn9E9RYJz6dFTiqb3GR4Kmxw+M59PqaW
 ThCSSvkfyg87HWhucbfS5AoDZbEhaUxGglKceMKmsyPF4wsJ/eHzzuqitm0JuHUtd3
 wokrjWfXbgI7g==
To: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
In-Reply-To: <87h64axs3p.fsf@HIDDEN> (Pip Cet's message of "Mon, 03
 Mar 2025 11:38:01 +0000")
References: <87ikor9nso.fsf@HIDDEN> <87h64axs3p.fsf@HIDDEN>
Date: Mon, 03 Mar 2025 16:12:07 +0100
Message-ID: <878qpm9mig.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=217.69.254.104; envelope-from=oscarfv@HIDDEN;
 helo=mail.eclipso.de
X-Spam_score_int: -23
X-Spam_score: -2.4
X-Spam_bar: --
X-Spam_report: (-2.4 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1,
 DKIM_SIGNED=0.1, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_LOW=-0.7,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
Cc: =?utf-8?Q?=C3=93scar_Fuentes?= <bug-gnu-emacs@HIDDEN>,
 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

Pip Cet <pipcet@HIDDEN> writes:

> =C3=93scar Fuentes via "Bug reports for GNU Emacs, the Swiss army knife o=
f text editors" <bug-gnu-emacs@HIDDEN> writes:
>
>> Emacs just crashed on a session started more than a week ago, IIRC.
>>
>> The following backtrace is from the core dump. Sorry for not being more
>> helpful.
>
> Can you try generating a full backtrace ("bt full" should work on the
> core dump, too)?

#0  __pthread_kill_implementation (threadid=3D<optimized out>, signo=3Dsign=
o@entry=3D6, no_tid=3Dno_tid@entry=3D0)
    at ./nptl/pthread_kill.c:44
        tid =3D <optimized out>
        ret =3D 0
        pd =3D <optimized out>
        old_mask =3D {__val =3D {0}}
        ret =3D <optimized out>
#1  0x00007f487751de2f in __pthread_kill_internal (threadid=3D<optimized ou=
t>, signo=3D6)
    at ./nptl/pthread_kill.c:78
#2  0x00007f48774c9d02 in __GI_raise (sig=3Dsig@entry=3D6) at ../sysdeps/po=
six/raise.c:26
        ret =3D <optimized out>
#3  0x0000556e0ead9d68 in terminate_due_to_signal
    (sig=3Dsig@entry=3D6, backtrace_limit=3Dbacktrace_limit@entry=3D2147483=
647) at ../../emacs/src/emacs.c:463
#4  0x0000556e0ed16d73 in set_state (state=3DIGC_STATE_DEAD) at ../../emacs=
/src/igc.c:1023
        old_state =3D <optimized out>
        old_state =3D <optimized out>
#5  set_state (state=3DIGC_STATE_DEAD) at ../../emacs/src/igc.c:1002
        old_state =3D <optimized out>
#6  igc_assert_fail (file=3D<optimized out>, line=3D<optimized out>, msg=3D=
<optimized out>)
    at ../../emacs/src/igc.c:306
#7  0x0000556e0edd0c10 in shieldFlushEntries ()
#8  0x0000556e0edd1b89 in ShieldLeave ()
#9  0x0000556e0edd1d9e in ArenaLeave ()
#10 0x0000556e0eddbd31 in mps_ap_fill ()
#11 0x0000556e0ed164d6 in alloc_impl
    (size=3Dsize@entry=3D88, type=3Dtype@entry=3DIGC_OBJ_VECTOR, ap=3D0x7f4=
868001900) at ../../emacs/src/igc.c:4095
        res =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        p =3D 0x0
#12 0x0000556e0ed1afa8 in alloc (size=3D88, type=3DIGC_OBJ_VECTOR) at ../..=
/emacs/src/igc.c:4008
#13 igc_alloc_pseudovector
    (nwords_mem=3Dnwords_mem@entry=3D9, nwords_lisp=3Dnwords_lisp@entry=3D0=
, nwords_zero=3Dnwords_zero@entry=3D0, tag=3Dtag@entry=3DPVEC_HASH_TABLE) a=
t ../../emacs/src/igc.c:4277
        client_size =3D 88
        v =3D <optimized out>
#14 0x0000556e0ec65bae in allocate_pseudovector
    (memlen=3Dmemlen@entry=3D9, lisplen=3Dlisplen@entry=3D0, zerolen=3Dzero=
len@entry=3D0, tag=3Dtag@entry=3DPVEC_HASH_TABLE) at ../../emacs/src/alloc.=
c:3687
#15 0x0000556e0ec938d4 in allocate_hash_table () at ../../emacs/src/fns.c:4=
842
#16 make_hash_table (test=3D0x556e0ee7bf80 <hashtest_equal>, size=3D2, weak=
=3D<optimized out>)
    at ../../emacs/src/fns.c:4897
        h =3D <optimized out>
#17 0x0000556e0ed2a96a in json_parse_object (parser=3D0x7ffd3b15cdd0) at ..=
/../emacs/src/json.c:1608
        value =3D <optimized out>
        h =3D <optimized out>
        c =3D <optimized out>
        first =3D 4019
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
#18 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#19 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd3b=
15cdd0)
    at ../../emacs/src/json.c:1522
        c =3D <optimized out>
        c =3D <optimized out>
#20 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c:1=
554
        key =3D 0x7f476c1a7d74
        value =3D <optimized out>
        cdr =3D 0x7ffd3b15cab0
        c =3D 34
--Type <RET> for more, q to quit, c to continue without paging--
        first =3D 4011
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
#21 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#22 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at ../=
../emacs/src/json.c:1454
        element =3D <optimized out>
        cdr =3D 0x7ffd3b15cb28
        c =3D <optimized out>
        first =3D 4010
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        element =3D <optimized out>
        nc =3D <optimized out>
        number_of_elements =3D <optimized out>
        i =3D <optimized out>
#23 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src/j=
son.c:1657
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#24 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd3b=
15cdd0)
    at ../../emacs/src/json.c:1522
        c =3D <optimized out>
        c =3D <optimized out>
#25 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c:1=
554
        key =3D 0x7f476c1a7254
        value =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        cdr =3D 0x7ffd3b15cb90
        c =3D 34
        first =3D 4010
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
#26 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#27 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at ../=
../emacs/src/json.c:1454
        element =3D <optimized out>
        cdr =3D 0x7ffd3b15cc08
        c =3D <optimized out>
        first =3D 4009
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        element =3D <optimized out>
        nc =3D <optimized out>
        number_of_elements =3D <optimized out>
        i =3D <optimized out>
#28 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src/j=
son.c:1657
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#29 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd3b=
15cdd0)
    at ../../emacs/src/json.c:1522
        c =3D <optimized out>
        c =3D <optimized out>
#30 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c:1=
554
--Type <RET> for more, q to quit, c to continue without paging--
        key =3D 0x7f476c1a5bcc
        value =3D <optimized out>
        cdr =3D 0x7ffd3b15cc70
        c =3D 34
        first =3D 4009
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
#31 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#32 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at ../=
../emacs/src/json.c:1454
        element =3D <optimized out>
        cdr =3D 0x7ffd3b15cce8
        c =3D <optimized out>
        first =3D 4
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        element =3D <optimized out>
        nc =3D <optimized out>
        number_of_elements =3D <optimized out>
        i =3D <optimized out>
#33 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src/j=
son.c:1657
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#34 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd3b=
15cdd0)
    at ../../emacs/src/json.c:1522
        c =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        c =3D <optimized out>
#35 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c:1=
554
        key =3D 0x7f4767c488ec
        value =3D <optimized out>
        cdr =3D 0x7ffd3b15cd50
        c =3D 34
        first =3D 0
        result =3D 0x0
        c =3D <optimized out>
        first =3D <optimized out>
        result =3D <optimized out>
        cdr =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        nc =3D <optimized out>
        value =3D <optimized out>
        h =3D <optimized out>
        i =3D <optimized out>
        hash =3D <optimized out>
        key =3D <optimized out>
        value =3D <optimized out>
        i =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#36 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ../.=
./emacs/src/json.c:1655
        c2 =3D <optimized out>
        c3 =3D <optimized out>
        c4 =3D <optimized out>
        c5 =3D <optimized out>
        c6 =3D <optimized out>
#37 0x0000556e0ed2aef5 in json_parse (parser=3D0x7ffd3b15cdd0) at ../../ema=
cs/src/json.c:1705
#38 Fjson_parse_buffer (nargs=3D<optimized out>, args=3D<optimized out>) at=
 ../../emacs/src/json.c:1812
        count =3D {bytes =3D <optimized out>}
        conf =3D {object_type =3D <optimized out>, array_type =3D <optimize=
d out>, null_object =3D <optimized out>, false_object =3D <optimized out>}
        p =3D {input_current =3D 0x556e3342596e "}],\"detail\":\"struct\",\=
"kind\":23,\"name\":\"ra_struct_0xAB71CCE7u<true>\",\"range\":{\"end\":{\"c=
haracter\":62,\"line\":9091},\"start\":{\"character\":0,\"line\":9091}},\"s=
electionRange\":{\"end\":{\"character\":10,\"line\":9091"..., input_begin =
=3D 0x556e32ee1f60 "{\"id\":17456,\"jsonrpc\":\"2.0\",\"result\":[{\"childr=
en\":[{\"detail\":\"lp0::PluginInfoAdder\",\"kind\":13,\"name\":\"ppa8\",\"=
range\":{\"end\":{\"character\":33,\"line\":7},\"start\":{\"character\":0,\=
"line\":7}},\"selectionRange\":"..., input_end =3D 0x556e33733f5e "", secon=
dary_input_begin =3D 0x0, secondary_input_end =3D 0x0, current_line =3D 1, =
current_column =3D 5519886, point_of_current_line =3D 0, available_depth =
=3D 9993, conf =3D {object_type =3D json_object_hashtable, array_type =3D j=
son_array_array, null_object =3D 0x0, false_object =3D 0x0}, additional_byt=
es_count =3D 0, internal_object_workspace =3D {0x7f4767c48874, 0x110c2, 0x7=
f4767c4889c, 0x7f4767c488c4, 0x7f4767c4972d, 0x7f4767c4c63d, 0x7f4767c4cd4d=
, 0x7f4767c4f9c5, 0x7f4767c53005, 0x7f4767c53ef5, 0x7f4767c54df5, 0x7f4767c=
55ce5, 0x7f4767c58bf5, 0x7f4767c59ae5, 0x7f4767c5c76d, 0x7f4767c5dd9d, 0x7f=
4767c60c8d, 0x7f4767c61b7d, 0x7f4767c62a6d, 0x7f4767c6395d, 0x7f4767c6689d,=
 0x7f4767c6778d, 0x7f4767c6868d, 0x7f4767c6957d, 0x7f4767c6c48d, 0x7f4767c6=
d37d, 0x7f4767c6e26d, 0x7f4767c6f15d, 0x7f4767c7009d, 0x7f4767c70f8d, 0x7f4=
767c71e7d, 0x7f4767c74d7d, 0x7f4767c75c6d, 0x7f4767c76b7d, 0x7f4767c77a6d, =
0x7f4767c7a9ad, 0x7f4767c7b89d, 0x7f4767c7c78d, 0x7f4767c7d67d, 0x7f4767c80=
575, 0x7f4767c81465, 0x7f4767c8237d, 0x7f4767c8326d, 0x7f4767c8615d, 0x7f47=
67c8704d, 0x7f4767c87f3d, 0x7f4767c88e5d, 0x7f4767c89d4d, 0x7f4767c8cc8d, 0=
x7f4767c8cd64, 0x7f4767c8d4dd, 0x7f4767c--Type <RET> for more, q to quit, c=
 to continue without paging--
8d4f4, 0x7f4767c8d51c, 0x7f4767c8d544, 0x56, 0x7f4767c8d56c, 0x7f4767c8d594=
, 0x7f4767c8d5bc, 0x7f4767c8d805, 0x7f4767c8d8c4, 0x7f4767c8d93d, 0x7f4767c=
8d9fc, 0x2, 0x21e}, object_workspace =3D 0x556e374c43e0, object_workspace_s=
ize =3D 4096, object_workspace_current =3D 4023, internal_byte_workspace =
=3D "9091acterRange(lxw_chart_options::x_scale) *, const lxw_chart_options =
*))*))s *)bj *)mats))ement *)mat *)...).).)\321\025;\375\177\000\000\000\00=
0\000\000\000\000\000\000\020\370\302\016nU\000\000\b\000\000\000\000\000\0=
00\000\020\321\025;\375\177\000\000\t\000\000\000\000\000\000\000\310\321\0=
25;\375\177\000\000\000\000\000\000\000\000\000\000\020\370\302\016nU\000\0=
00\b\000\000\000\000\000\000\000p\321\025;\375\177\000\000"..., byte_worksp=
ace =3D 0x7ffd3b15d050 "9091acterRange(lxw_chart_options::x_scale) *, const=
 lxw_chart_options *))*))s *)bj *)mats))ement *)mat *)...).).)\321\025;\375=
\177", byte_workspace_end =3D 0x7ffd3b15d250 "P\320\025;\375\177", byte_wor=
kspace_current =3D 0x7ffd3b15d054 "acterRange(lxw_chart_options::x_scale) *=
, const lxw_chart_options *))*))s *)bj *)mats))ement *)mat *)...).).)\321\0=
25;\375\177"}
        begin =3D <optimized out>
        end =3D <optimized out>
        secondary_begin =3D <optimized out>
        secondary_end =3D <optimized out>
        result =3D <optimized out>
        byte =3D <optimized out>
        position =3D <optimized out>
#39 0x0000556e0ecd9cba in exec_byte_code
    (fun=3D<optimized out>, args_template=3D<optimized out>, nargs=3D<optim=
ized out>, args=3D<optimized out>)
    at ../../emacs/src/lisp.h:2290
        call_nargs =3D 6
        call_fun =3D <optimized out>
        count1 =3D {bytes =3D <optimized out>}
        val =3D <optimized out>
        call_args =3D 0x7f486347f078
        original_fun =3D 0x29da650d7dc0
--Type <RET> for more, q to quit, c to continue without paging--
        op =3D 6
        type =3D <optimized out>
        targets =3D {0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ecda0c8 =
<exec_byte_code+2056>, 0x556e0ecda0c3 <exec_byte_code+2051>, 0x556e0ecda0be=
 <exec_byte_code+2046>, 0x556e0ecd9aa3 <exec_byte_code+483>, 0x556e0ecd9aa3=
 <exec_byte_code+483>, 0x556e0ecda080 <exec_byte_code+1984>, 0x556e0ecda042=
 <exec_byte_code+1922>, 0x556e0ecdc03a <exec_byte_code+10106>, 0x556e0ecdc0=
35 <exec_byte_code+10101>, 0x556e0ecdc030 <exec_byte_code+10096>, 0x556e0ec=
dc02b <exec_byte_code+10091>, 0x556e0ecd9add <exec_byte_code+541>, 0x556e0e=
cd9ae0 <exec_byte_code+544>, 0x556e0ecdc01e <exec_byte_code+10078>, 0x556e0=
ecdc03f <exec_byte_code+10111>, 0x556e0ecdbec6 <exec_byte_code+9734>, 0x556=
e0ecdbec1 <exec_byte_code+9729>, 0x556e0ecdbebc <exec_byte_code+9724>, 0x55=
6e0ecdbeb7 <exec_byte_code+9719>, 0x556e0ecd9a39 <exec_byte_code+377>, 0x55=
6e0ecd9a40 <exec_byte_code+384>, 0x556e0ecdbe9d <exec_byte_code+9693>, 0x55=
6e0ecdbeaa <exec_byte_code+9706>, 0x556e0ecdbe4b <exec_byte_code+9611>, 0x5=
56e0ecdbe46 <exec_byte_code+9606>, 0x556e0ecdbe41 <exec_byte_code+9601>, 0x=
556e0ecdbe3c <exec_byte_code+9596>, 0x556e0ecd9d98 <exec_byte_code+1240>, 0=
x556e0ecd9da0 <exec_byte_code+1248>, 0x556e0ecdbe5d <exec_byte_code+9629>, =
0x556e0ecdbe50 <exec_byte_code+9616>, 0x556e0ecdbe1d <exec_byte_code+9565>,=
 0x556e0ecdbe18 <exec_byte_code+9560>, 0x556e0ecdbe13 <exec_byte_code+9555>=
, 0x556e0ecdbe0e <exec_byte_code+9550>, 0x556e0ecd9b3d <exec_byte_code+637>=
, 0x556e0ecd9b40 <exec_byte_code+640>, 0x556e0ecdbe2f <exec_byte_code+9583>=
, 0x556e0ecdbe22 <exec_byte_code+9570>, 0x556e0ecdbdef <exec_byte_code+9519=
>, 0x556e0ecdbdea <exec_byte_code+9514>, 0x556e0ecdbde5 <exec_byte_code+950=
9>, 0x556e0ecdbde0 <exec_byte_code+9504>, 0x556e0ecd9d4b <exec_byte_code+11=
63>, 0x556e0ecd9d50 <exec_byte_code+1168>, 0x556e0ecdbe01 <exec_byte_code+9=
537>, 0x556e0ecdbdf4 <exec_byte_code+9524>, 0x556e0ecdb9fa <exec_byte_code+=
8506>, 0x556e0ecdba2e <exec_byte_code+8558>, 0x556e0ecdbab0 <exec_byte_code=
+8688>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_co=
de[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte=
_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ecdb84e <exec_b=
yte_code+8078>, 0x556e0ecdb7db <exec_byte_code+7963>, 0x556e0ecdb794 <exec_=
byte_code+7892>, 0x556e0ecdb74d <exec_byte_code+7821>, 0x556e0ecdb708 <exec=
_byte_code+7752>, 0x556e0ecdbf47 <exec_byte_code+9863>, 0x556e0ecdbf07 <exe=
c_byte_code+9799>, 0x556e0ecdb6d6 <exec_byte_code+7702>, 0x556e0ecdbfa3 <ex=
ec_byte_code+9955>, 0x556e0ecdbecb <exec_byte_code+9739>, 0x556e0ecdb696 <e=
xec_byte_code+7638>, 0x556e0ecdb666 <exec_byte_code+7590>, 0x556e0ecdb626 <=
exec_byte_code+7526>, 0x556e0ecdb5e9 <exec_byte_code+7465>, 0x556e0ecdb5a8 =
<e--Type <RET> for more, q to quit, c to continue without paging--
xec_byte_code+7400>, 0x556e0ecdb532 <exec_byte_code+7282>, 0x556e0ecdb4a7 <=
exec_byte_code+7143>, 0x556e0ecdb412 <exec_byte_code+6994>, 0x556e0ecdb3e2 =
<exec_byte_code+6946>, 0x556e0ecdb3b2 <exec_byte_code+6898>, 0x556e0ecdb372=
 <exec_byte_code+6834>, 0x556e0ecdb332 <exec_byte_code+6770>, 0x556e0ecdb2f=
2 <exec_byte_code+6706>, 0x556e0ecdb2ae <exec_byte_code+6638>, 0x556e0ecdb2=
74 <exec_byte_code+6580>, 0x556e0ecdb23a <exec_byte_code+6522>, 0x556e0ecdb=
200 <exec_byte_code+6464>, 0x556e0ecdb15e <exec_byte_code+6302>, 0x556e0ecd=
b102 <exec_byte_code+6210>, 0x556e0ecdb0a8 <exec_byte_code+6120>, 0x556e0ec=
db04e <exec_byte_code+6030>, 0x556e0ecdaff4 <exec_byte_code+5940>, 0x556e0e=
cdaf9a <exec_byte_code+5850>, 0x556e0ecdaf40 <exec_byte_code+5760>, 0x556e0=
ecdaee8 <exec_byte_code+5672>, 0x556e0ecdae8b <exec_byte_code+5579>, 0x556e=
0ecdae33 <exec_byte_code+5491>, 0x556e0ecdaddb <exec_byte_code+5403>, 0x556=
e0ecdad83 <exec_byte_code+5315>, 0x556e0ecdad2a <exec_byte_code+5226>, 0x55=
6e0ecdac39 <exec_byte_code+4985>, 0x556e0ecd9de9 <exec_byte_code+1321>, 0x5=
56e0ecdac09 <exec_byte_code+4937>, 0x556e0ecdabd4 <exec_byte_code+4884>, 0x=
556e0ecdab44 <exec_byte_code+4740>, 0x556e0ecdaafa <exec_byte_code+4666>, 0=
x556e0ecdaaca <exec_byte_code+4618>, 0x556e0ecdaa98 <exec_byte_code+4568>, =
0x556e0ecdaa66 <exec_byte_code+4518>, 0x556e0ecdaa2c <exec_byte_code+4460>,=
 0x556e0ecda9fa <exec_byte_code+4410>, 0x556e0eadee50 <exec_byte_code[cold]=
>, 0x556e0ecda9c8 <exec_byte_code+4360>, 0x556e0ecda996 <exec_byte_code+431=
0>, 0x556e0ecda964 <exec_byte_code+4260>, 0x556e0ecda932 <exec_byte_code+42=
10>, 0x556e0ecda900 <exec_byte_code+4160>, 0x556e0ecda8d0 <exec_byte_code+4=
112>, 0x556e0ecd9de9 <exec_byte_code+1321>, 0x556e0eadee50 <exec_byte_code[=
cold]>, 0x556e0ecda88d <exec_byte_code+4045>, 0x556e0ecda85d <exec_byte_cod=
e+3997>, 0x556e0ecda82c <exec_byte_code+3948>, 0x556e0ecda7eb <exec_byte_co=
de+3883>, 0x556e0ecda7aa <exec_byte_code+3818>, 0x556e0ecda779 <exec_byte_c=
ode+3769>, 0x556e0ecda748 <exec_byte_code+3720>, 0x556e0ecda707 <exec_byte_=
code+3655>, 0x556e0ecda6c6 <exec_byte_code+3590>, 0x556e0ecda685 <exec_byte=
_code+3525>, 0x556e0ecda652 <exec_byte_code+3474>, 0x556e0ecda621 <exec_byt=
e_code+3425>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ecdbbbf <exec_b=
yte_code+8959>, 0x556e0ecdbd6e <exec_byte_code+9390>, 0x556e0ecdbfdf <exec_=
byte_code+10015>, 0x556e0ecdbd2f <exec_byte_code+9327>, 0x556e0ecdbcf3 <exe=
c_byte_code+9267>, 0x556e0ecdbcb7 <exec_byte_code+9207>, 0x556e0ecdbc1d <ex=
ec_byte_code+9053>, 0x556e0ecdbbf8 <exec_byte_code+9016>, 0x556e0ecdbe6a <e=
xec_byte_code+9642>, 0x556e0ecdbb9a <exec_byte_code+8922>, 0x556e0ecdbb37 <=
exec_byte_code+8823>, 0x556e0ecdbb02 <exec_byte_code+8770>, 0x556e0ecdbabb =
<exec_byte_code+8699>, 0x556e0ecdb9a5 <exec_byte_code+8421>, 0x556e0ecdb961=
 <exec_byte_code+8353>, 0x556e0ecdb917 <exec_byte_code+8279>, 0x556e0ecdb8a=
c <exec_byte_code+8172>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x--Type <R=
ET> for more, q to quit, c to continue without paging--
556e0ecda5dc <exec_byte_code+3356>, 0x556e0ecda5ab <exec_byte_code+3307>, 0=
x556e0ecda57a <exec_byte_code+3258>, 0x556e0ecda549 <exec_byte_code+3209>, =
0x556e0ecda518 <exec_byte_code+3160>, 0x556e0ecda4d7 <exec_byte_code+3095>,=
 0x556e0ecda496 <exec_byte_code+3030>, 0x556e0ecda455 <exec_byte_code+2965>=
, 0x556e0ecda414 <exec_byte_code+2900>, 0x556e0ecda3ad <exec_byte_code+2797=
>, 0x556e0ecda36c <exec_byte_code+2732>, 0x556e0ecda32b <exec_byte_code+266=
7>, 0x556e0ecda2fa <exec_byte_code+2618>, 0x556e0ecda2ae <exec_byte_code+25=
42>, 0x556e0ecda262 <exec_byte_code+2466>, 0x556e0ecda224 <exec_byte_code+2=
404>, 0x556e0ecda1e6 <exec_byte_code+2342>, 0x556e0ecda1ab <exec_byte_code+=
2283>, 0x556e0ecdacd2 <exec_byte_code+5138>, 0x556e0ecdac83 <exec_byte_code=
+5059>, 0x556e0ecda13b <exec_byte_code+2171>, 0x556e0ecda0cd <exec_byte_cod=
e+2061>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_c=
ode[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byt=
e_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_=
byte_code[cold]>, 0x556e0ecdb562 <exec_byte_code+7330>, 0x556e0ecdb1ba <exe=
c_byte_code+6394>, 0x556e0ecdab8e <exec_byte_code+4814>, 0x556e0ecd9ffc <ex=
ec_byte_code+1852>, 0x556e0ecd9fb6 <exec_byte_code+1782>, 0x556e0eadee50 <e=
xec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ecd9f7d=
 <exec_byte_code+1725>, 0x556e0ecd9f19 <exec_byte_code+1625>, 0x556e0eadee5=
0 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0ead=
ee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x556e0=
eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0x55=
6e0eadee50 <exec_byte_code[cold]>, 0x556e0eadee50 <exec_byte_code[cold]>, 0=
x556e0ecd9edf <exec_byte_code+1567> <repeats 64 times>}
        quitcounter =3D <optimized out>
        bc =3D 0x556e0ee8a8f8 <main_thread+504>
        top =3D 0x7f486347f070
        pc =3D <optimized out>
        bytestr =3D <optimized out>
        vector =3D <optimized out>
        maxdepth =3D <optimized out>
        const_length =3D <optimized out>
        bytestr_length =3D <optimized out>
        vectorp =3D 0x7f4761f7f9a8
--Type <RET> for more, q to quit, c to continue without paging--
        max_stack =3D <optimized out>
        frame_base =3D <optimized out>
        fp =3D <optimized out>
        bytestr_data =3D <optimized out>
        rest =3D <optimized out>
        mandatory =3D <optimized out>
        nonrest =3D <optimized out>
        pushedargs =3D <optimized out>
        saved_quitcounter =3D 1 '\001'
        saved_vectorp =3D 0x7f4761f7f9a8
        saved_bytestr_data =3D 0x7f4782ba94e8 "\300\306=C3=A2!\203\020"
        result =3D <optimized out>
#40 0x0000556e0ec8d858 in Ffuncall (nargs=3Dnargs@entry=3D3, args=3D0x7ffd3=
b15d3d0)
    at ../../emacs/src/eval.c:3115
        count =3D {bytes =3D <optimized out>}
        val =3D <optimized out>
#41 0x0000556e0ec8dbe4 in Fapply (nargs=3Dnargs@entry=3D2, args=3Dargs@entr=
y=3D0x7ffd3b15d460)
    at ../../emacs/src/eval.c:2787
        i =3D <optimized out>
        funcall_nargs =3D 3
        funcall_args =3D <optimized out>
        spread_arg =3D <optimized out>
        fun =3D <optimized out>
        sa_avail =3D <optimized out>
        sa_count =3D {bytes =3D 352}
        numargs =3D <optimized out>
        retval =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#42 0x0000556e0ec8df63 in apply1 (fn=3D<optimized out>, arg=3D<optimized ou=
t>) at ../../emacs/src/eval.c:3003
#43 0x0000556e0ec88fa2 in internal_condition_case_1
    (bfun=3Dbfun@entry=3D0x556e0ece67b0 <read_process_output_call>, arg=3D0=
x7f4767c4805b, handlers=3Dhandlers@entry=3D0xa8, hfun=3Dhfun@entry=3D0x556e=
0ece66f0 <read_process_output_error_handler>) at ../../emacs/src/eval.c:1650
        val =3D <optimized out>
        c =3D 0x7f4873e850a0
#44 0x0000556e0ece93a6 in read_and_dispose_of_process_output
    (p=3D<optimized out>, chars=3D0x556e40d23290 ",{\"detail\":\"void (lxw_=
workbook *, decltype(lxw_workbook::options))\",\"kind\":6,\"name\":\"w\",\"=
range\":{\"end\":{\"character\":57,\"line\":12784},\"start\":{\"character\"=
:0,\"line\":12784}},\"selectionRange\":{\"end\":{\"cha"..., nbytes=3D335897=
, coding=3D0x556e2eba74b0)
    at ../../emacs/src/process.c:6523
        outstream =3D 0x7f4761f7f1ed
        text =3D 0x7f4767c48004
        outer_running_asynch_code =3D true
        waiting =3D -1
        outstream =3D <optimized out>
        text =3D <optimized out>
        outer_running_asynch_code =3D <optimized out>
        waiting =3D <optimized out>
        tem =3D <optimized out>
#45 read_process_output (proc=3Dproc@entry=3D0x7f4761f7966d, channel=3Dchan=
nel@entry=3D25)
    at ../../emacs/src/process.c:6291
        nbytes =3D 335897
        p =3D 0x7f4761f79668
        coding =3D <optimized out>
        carryover =3D <optimized out>
        readmax =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        count =3D {bytes =3D <optimized out>}
        odeactivate =3D 0x0
        chars =3D <optimized out>
        sa_avail =3D <optimized out>
        sa_count =3D {bytes =3D <optimized out>}
#46 0x0000556e0ecf0c8b in wait_reading_process_output
    (time_limit=3Dtime_limit@entry=3D0, nsecs=3Dnsecs@entry=3D0, read_kbd=
=3Dread_kbd@entry=3D-1, do_display=3Dtrue, wait_for_cell=3Dwait_for_cell@en=
try=3D0x0, wait_proc=3Dwait_proc@entry=3D0x0, just_wait_proc=3D0)
    at ../../emacs/src/process.c:5972
        nread =3D <optimized out>
        process_skipped =3D <optimized out>
        wrapped =3D <optimized out>
        channel_start =3D 26
        child_fd =3D <optimized out>
        last_read_channel =3D 25
        channel =3D <optimized out>
        nfds =3D <optimized out>
        Available =3D {fds_bits =3D {33554432, 0 <repeats 15 times>}}
        Writeok =3D {fds_bits =3D {0 <repeats 16 times>}}
        check_write =3D <optimized out>
        check_delay =3D <optimized out>
        no_avail =3D <optimized out>
        xerrno =3D 11
        proc =3D 0x7f4761f7966d
        timeout =3D {tv_sec =3D 0, tv_nsec =3D 10000000}
        end_time =3D {tv_sec =3D 0, tv_nsec =3D 139949216517785}
        timer_delay =3D {tv_sec =3D <optimized out>, tv_nsec =3D <optimized=
 out>}
--Type <RET> for more, q to quit, c to continue without paging--
        got_output_end_time =3D {tv_sec =3D 0, tv_nsec =3D -1}
        wait =3D <optimized out>
        got_some_output =3D <optimized out>
        prev_wait_proc_nbytes_read =3D 0
        retry_for_async =3D <optimized out>
        count =3D {bytes =3D <optimized out>}
        now =3D {tv_sec =3D <optimized out>, tv_nsec =3D <optimized out>}
#47 0x0000556e0ec06a2f in kbd_buffer_get_event
    (kbp=3D<synthetic pointer>, used_mouse_menu=3D<optimized out>, end_time=
=3D<optimized out>)
    at ../../emacs/src/keyboard.c:4115
        do_display =3D <optimized out>
        obj =3D <optimized out>
        str =3D <optimized out>
        had_pending_selection_requests =3D false
        had_pending_conversion_events =3D false
        obj =3D <optimized out>
        str =3D <optimized out>
        had_pending_selection_requests =3D <optimized out>
        had_pending_conversion_events =3D <optimized out>
        now =3D {tv_sec =3D <optimized out>, tv_nsec =3D <optimized out>}
        duration =3D {tv_sec =3D <optimized out>, tv_nsec =3D <optimized ou=
t>}
        do_display =3D <optimized out>
        tty =3D <optimized out>
        first =3D <optimized out>
        event =3D <optimized out>
        copy =3D {kind =3D <optimized out>, dpyinfo =3D <optimized out>, re=
questor =3D <optimized out>, selection =3D <optimized out>, target =3D <opt=
imized out>, property =3D <optimized out>, time =3D <optimized out>}
--Type <RET> for more, q to quit, c to continue without paging--
        f =3D <optimized out>
        frame =3D <optimized out>
        focus =3D <optimized out>
        pinch_dx =3D <optimized out>
        pinch_dy =3D <optimized out>
        pinch_angle =3D <optimized out>
        maybe_event =3D <optimized out>
        f =3D <optimized out>
        movement_frame =3D <optimized out>
        bar_window =3D <optimized out>
        part =3D <optimized out>
        x =3D <optimized out>
        y =3D <optimized out>
        t =3D <optimized out>
        frame =3D <optimized out>
#48 read_event_from_main_queue
    (end_time=3Dend_time@entry=3D0x0, local_getcjmp=3Dlocal_getcjmp@entry=
=3D0x7ffd3b15dd20, used_mouse_menu=3Dused_mouse_menu@entry=3D0x7ffd3b15e00b=
) at ../../emacs/src/keyboard.c:2336
        c =3D 0x0
        save_jump =3D {{__jmpbuf =3D {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_s=
aved =3D 0, __saved_mask =3D {__val =3D {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9393=
1182793087, 0, 0, 3, 93931182213056, 140725594737840}}}}
        kb =3D 0x556e2eb38850
        count =3D {bytes =3D <optimized out>}
#49 0x0000556e0ec0c5b6 in read_decoded_event_from_main_queue
    (end_time=3D<optimized out>, local_getcjmp=3D<optimized out>, prev_even=
t=3D<optimized out>, used_mouse_menu=3D<optimized out>) at ../../emacs/src/=
keyboard.c:2399
        nextevt =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        frame =3D <optimized out>
        terminal =3D <optimized out>
        events =3D {0xd5b8, 0x0, 0x7f476553cee3, 0x1, 0x7ffd3b15dd00, 0x556=
e0ed04dbf <lookup_char_property+495>, 0x0, 0xd5b8, 0xecd6, 0x3b35, 0x7f478e=
045568, 0x7f478e04556d, 0x7ffd3b15de00, 0x556e0ec7a70c <Fget_pos_property+8=
12>, 0xecd6, 0x7f478e045568}
        n =3D 0
        events =3D {<optimized out> <repeats 16 times>}
        n =3D <optimized out>
        nextevt =3D <optimized out>
        frame =3D <optimized out>
        terminal =3D <optimized out>
        meta_key =3D <optimized out>
        coding =3D <optimized out>
        i =3D <optimized out>
        c =3D <optimized out>
        modifier =3D <optimized out>
        src =3D {<optimized out> <repeats 16 times>}
        dest =3D {<optimized out> <repeats 80 times>}
        i =3D <optimized out>
        p =3D <optimized out>
        c =3D <optimized out>
        modifier =3D <optimized out>
#50 read_char
    (commandflag=3D1, map=3Dmap@entry=3D0x7f4766b23feb, prev_event=3D0x0, u=
sed_mouse_menu=3Dused_mouse_menu@entry=3D0x7ffd3b15e00b, end_time=3Dend_tim=
e@entry=3D0x0) at ../../emacs/src/keyboard.c:3031
        c =3D 0x0
        local_getcjmp =3D {{__jmpbuf =3D {139948951031040, -121894828270294=
3986, 93931718281296, 0, 15403, 0, -1--Type <RET> for more, q to quit, c to=
 continue without paging--
218948282577114866, -5029668301387126514}, __mask_was_saved =3D 0, __saved_=
mask =3D {__val =3D {128, 0, 0, 50456, 93931184418448, 140725594742272, 939=
31182793475, 139948330862256, 15, 140725594742224, 93931182711373, 0, 46017=
145348552, 140725594742384, 93931182330548, 54712}}}}
        save_jump =3D {{__jmpbuf =3D {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_s=
aved =3D 0, __saved_mask =3D {__val =3D {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9393=
1182793087, 0, 0, 3, 93931182213056, 140725594737840}}}}
        tem =3D <optimized out>
        save =3D <optimized out>
        previous_echo_area_message =3D 0x0
        also_record =3D 0x0
        reread =3D false
        recorded =3D false
        polling_stopped_here =3D true
        orig_kboard =3D 0x556e2eb38850
        retry =3D <optimized out>
        jmpcount =3D {bytes =3D <optimized out>}
        c_volatile =3D 0x0
#51 0x0000556e0ec0f651 in read_key_sequence
    (keybuf=3Dkeybuf@entry=3D0x7ffd3b15e140, prompt=3Dprompt@entry=3D0x0, d=
ont_downcase_last=3Ddont_downcase_last@entry=3Dfalse, can_return_switch_fra=
me=3Dcan_return_switch_frame@entry=3Dtrue, fix_current_buffer=3Dfix_current=
_buffer@entry=3Dtrue, prevent_redisplay=3Dprevent_redisplay@entry=3Dfalse, =
disable_text_conversion_p=3Dfalse)
    at ../../emacs/src/keyboard.c:10790
        interrupted_kboard =3D 0x556e2eb38850
        interrupted_frame =3D <optimized out>
        key =3D <optimized out>
        used_mouse_menu =3D false
        echo_local_start =3D 0
        last_real_key_start =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        keys_local_start =3D 0
        new_binding =3D <optimized out>
        count =3D {bytes =3D <optimized out>}
        t =3D <optimized out>
        echo_start =3D 0
        keys_start =3D 0
        current_binding =3D 0x7f4766b23feb
        first_unbound =3D 31
        mock_input =3D <optimized out>
        used_mouse_menu_history =3D {false <repeats 30 times>}
        fkey =3D {parent =3D 0x7f4867545ab3, map =3D <optimized out>, start=
 =3D 0, end =3D 0}
        keytran =3D {parent =3D 0x7f4873e5c0d3, map =3D <optimized out>, st=
art =3D 0, end =3D 0}
        indec =3D {parent =3D 0x7f4867545a9b, map =3D <optimized out>, star=
t =3D 0, end =3D 0}
        shift_translated =3D <optimized out>
        delayed_switch_frame =3D <optimized out>
        original_uppercase =3D <optimized out>
        original_uppercase_position =3D <optimized out>
        disabled_conversion =3D <optimized out>
        starting_buffer =3D <optimized out>
        fake_prefixed_keys =3D 0x0
        first_event =3D 0x0
        second_event =3D <optimized out>
#52 0x0000556e0ec114d8 in command_loop_1 () at ../../emacs/src/keyboard.c:1=
435
        cmd =3D <optimized out>
        keybuf =3D {0xb2, 0x1d6, 0x1de, 0x0, 0x139e8, 0x556e0ee16e90, 0x7ff=
d3b15e1e0, 0x556e0ec8a303 <unbind_to+563>, 0x7f476b4ebe33, 0x7ffd3b15e200, =
0xc, 0x139e8, 0x38, 0x7f47bc51a55d, 0x29da64f38c80, 0x7f476b4ebe33, 0x60, 0=
x7ffd3b15e200, 0x7ffd3b15e3b8, 0xffffffffffffffff, 0x7ffd3b15e260, 0x556e0e=
c046bd <cmd_error+349>, 0x--Type <RET> for more, q to quit, c to continue w=
ithout paging--
0, 0x0, 0xcb00, 0x556e0ee16e90, 0x7ffd3b15e280, 0x556e0ec8a303 <unbind_to+5=
63>, 0x0, 0xcbe0}
        i =3D <optimized out>
        last_pt =3D <optimized out>
        prev_modiff =3D 10245
        prev_buffer =3D 0x7f478e045568
#53 0x0000556e0ec88f26 in internal_condition_case
    (bfun=3Dbfun@entry=3D0x556e0ec11320 <command_loop_1>, handlers=3Dhandle=
rs@entry=3D0xa8, hfun=3Dhfun@entry=3D0x556e0ec04560 <cmd_error>) at ../../e=
macs/src/eval.c:1626
        val =3D <optimized out>
        c =3D 0x7f486598df68
#54 0x0000556e0ebfc43e in command_loop_2 (handlers=3Dhandlers@entry=3D0xa8)=
 at ../../emacs/src/keyboard.c:1174
        val =3D <optimized out>
#55 0x0000556e0ec88e52 in internal_catch
    (tag=3Dtag@entry=3D0x14dd0, func=3Dfunc@entry=3D0x556e0ebfc410 <command=
_loop_2>, arg=3Darg@entry=3D0xa8)
    at ../../emacs/src/eval.c:1305
        val =3D <optimized out>
        c =3D <optimized out>
#56 0x0000556e0ebfc3d3 in command_loop () at ../../emacs/src/keyboard.c:1152
#57 0x0000556e0ec040d6 in recursive_edit_1 () at ../../emacs/src/keyboard.c=
:760
        count =3D {bytes =3D <optimized out>}
        val =3D <optimized out>
#58 0x0000556e0ec04488 in Frecursive_edit () at ../../emacs/src/keyboard.c:=
843
        count =3D {bytes =3D <optimized out>}
        buffer =3D <optimized out>
#59 0x0000556e0eae3296 in main (argc=3D<optimized out>, argv=3D0x7ffd3b15e5=
d8) at ../../emacs/src/emacs.c:2580
        stack_bottom_variable =3D 0x7f4877671ac0 <main_arena>
        old_argc =3D <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        no_loadup =3D false
        junk =3D 0x0
        dname_arg =3D 0x0
        ch_to_dir =3D 0x0
        original_pwd =3D <optimized out>
        dump_mode =3D <optimized out>
        skip_args =3D 1
        temacs =3D 0x0
        attempt_load_pdump =3D <optimized out>
        only_version =3D false
        rlim =3D {rlim_cur =3D 10022912, rlim_max =3D 18446744073709551615}
        lc_all =3D <optimized out>
        sockfd =3D -1
        module_assertions =3D <optimized out>

>> #7  0x0000556e0edd0c10 in shieldFlushEntries ()
>
> shieldFlushEntries contains several asserts.  Can you disassemble the
> function shieldFlushEntries to see which one we hit?
> (gdb: "disass/s shieldFlushEntries").
>

(gdb) disass/s shieldFlushEntries
Dump of assembler code for function shieldFlushEntries:
   0x0000556e0edd0b80 <+0>:     push   %r15
   0x0000556e0edd0b82 <+2>:     push   %r14
   0x0000556e0edd0b84 <+4>:     push   %r13
   0x0000556e0edd0b86 <+6>:     push   %r12
   0x0000556e0edd0b88 <+8>:     push   %rbp
   0x0000556e0edd0b89 <+9>:     push   %rbx
   0x0000556e0edd0b8a <+10>:    mov    %rdi,%rbx
   0x0000556e0edd0b8d <+13>:    sub    $0x8,%rsp
   0x0000556e0edd0b91 <+17>:    cmpq   $0x0,0x18(%rbx)
   0x0000556e0edd0b96 <+22>:    mov    0x10(%rdi),%rdi
   0x0000556e0edd0b9a <+26>:    jne    0x556e0edd0bb8 <shieldFlushEntries+5=
6>
   0x0000556e0edd0b9c <+28>:    test   %rdi,%rdi
   0x0000556e0edd0b9f <+31>:    jne    0x556e0edd0cd0 <shieldFlushEntries+3=
36>
   0x0000556e0edd0ba5 <+37>:    add    $0x8,%rsp
   0x0000556e0edd0ba9 <+41>:    pop    %rbx
   0x0000556e0edd0baa <+42>:    pop    %rbp
   0x0000556e0edd0bab <+43>:    pop    %r12
   0x0000556e0edd0bad <+45>:    pop    %r13
   0x0000556e0edd0baf <+47>:    pop    %r14
   0x0000556e0edd0bb1 <+49>:    pop    %r15
   0x0000556e0edd0bb3 <+51>:    ret
   0x0000556e0edd0bb4 <+52>:    nopl   0x0(%rax)
   0x0000556e0edd0bb8 <+56>:    mov    0x28(%rbx),%rsi
   0x0000556e0edd0bbc <+60>:    lea    0x48(%rbx),%r8
   0x0000556e0edd0bc0 <+64>:    mov    $0xb60405ed,%ecx
   0x0000556e0edd0bc5 <+69>:    lea    -0x658fc(%rip),%rdx        # 0x556e0=
ed6b2d0 <shieldQueueEntryCompare>--Type <RET> for more, q to quit, c to con=
tinue without paging--

   0x0000556e0edd0bcc <+76>:    call   0x556e0ed74d40 <QuickSort>
   0x0000556e0edd0bd1 <+81>:    cmpq   $0x0,0x28(%rbx)
   0x0000556e0edd0bd6 <+86>:    je     0x556e0edd0cb8 <shieldFlushEntries+3=
12>
   0x0000556e0edd0bdc <+92>:    xor    %ebp,%ebp
   0x0000556e0edd0bde <+94>:    xor    %r12d,%r12d
   0x0000556e0edd0be1 <+97>:    xor    %r14d,%r14d
   0x0000556e0edd0be4 <+100>:   xor    %r13d,%r13d
   0x0000556e0edd0be7 <+103>:   jmp    0x556e0edd0c34 <shieldFlushEntries+1=
80>
   0x0000556e0edd0be9 <+105>:   nopl   0x0(%rax)
   0x0000556e0edd0bf0 <+112>:   test   %r13,%r13
   0x0000556e0edd0bf3 <+115>:   je     0x556e0edd0c91 <shieldFlushEntries+2=
73>
   0x0000556e0edd0bf9 <+121>:   cmp    %r14,%r13
   0x0000556e0edd0bfc <+124>:   jae    0x556e0edd0d00 <shieldFlushEntries+3=
84>
   0x0000556e0edd0c02 <+130>:   mov    %r12d,%edx
   0x0000556e0edd0c05 <+133>:   mov    %r14,%rsi
   0x0000556e0edd0c08 <+136>:   mov    %r13,%rdi
   0x0000556e0edd0c0b <+139>:   call   0x556e0edcf8b0 <ProtSet>
   0x0000556e0edd0c10 <+144>:   movzwl 0x30(%r15),%r12d
   0x0000556e0edd0c15 <+149>:   shr    $0x7,%r12w
   0x0000556e0edd0c1a <+154>:   and    $0x3,%r12d
   0x0000556e0edd0c1e <+158>:   mov    0x10(%r15),%rax
   0x0000556e0edd0c22 <+162>:   mov    0x10(%rax),%r13
   0x0000556e0edd0c26 <+166>:   mov    0x28(%r15),%r14
   0x0000556e0edd0c2a <+170>:   add    $0x1,%rbp
   0x0000556e0edd0c2e <+174>:   cmp    0x28(%rbx),%rbp
   0x0000556e0edd0c32 <+178>:   jae    0x556e0edd0ca0 <shieldFlushEntries+2=
88>
--Type <RET> for more, q to quit, c to continue without paging--
   0x0000556e0edd0c34 <+180>:   mov    %rbp,%rsi
   0x0000556e0edd0c37 <+183>:   mov    %rbx,%rdi
   0x0000556e0edd0c3a <+186>:   call   0x556e0ed806d0 <shieldDequeue>
   0x0000556e0edd0c3f <+191>:   movzwl 0x30(%rax),%edx
   0x0000556e0edd0c43 <+195>:   mov    %rax,%r15
   0x0000556e0edd0c46 <+198>:   movzbl 0x30(%rax),%eax
   0x0000556e0edd0c4a <+202>:   shr    $0x7,%dx
   0x0000556e0edd0c4e <+206>:   shr    $0x5,%al
   0x0000556e0edd0c51 <+209>:   and    $0x3,%edx
   0x0000556e0edd0c54 <+212>:   and    $0x3,%eax
   0x0000556e0edd0c57 <+215>:   cmp    %al,%dl
   0x0000556e0edd0c59 <+217>:   je     0x556e0edd0c2a <shieldFlushEntries+1=
70>
   0x0000556e0edd0c5b <+219>:   movzbl %dl,%edx
   0x0000556e0edd0c5e <+222>:   mov    %r15,%rsi
   0x0000556e0edd0c61 <+225>:   mov    %rbx,%rdi
   0x0000556e0edd0c64 <+228>:   call   0x556e0ed6ed50 <shieldSetPM>
   0x0000556e0edd0c69 <+233>:   movzwl 0x30(%r15),%eax
   0x0000556e0edd0c6e <+238>:   shr    $0x7,%ax
   0x0000556e0edd0c72 <+242>:   and    $0x3,%eax
   0x0000556e0edd0c75 <+245>:   cmp    %r12d,%eax
   0x0000556e0edd0c78 <+248>:   jne    0x556e0edd0bf0 <shieldFlushEntries+1=
12>
   0x0000556e0edd0c7e <+254>:   mov    0x10(%r15),%rdx
   0x0000556e0edd0c82 <+258>:   cmp    0x10(%rdx),%r14
   0x0000556e0edd0c86 <+262>:   je     0x556e0edd0c26 <shieldFlushEntries+1=
66>
   0x0000556e0edd0c88 <+264>:   test   %r13,%r13
   0x0000556e0edd0c8b <+267>:   jne    0x556e0edd0bf9 <shieldFlushEntries+1=
21>
   0x0000556e0edd0c91 <+273>:   mov    %eax,%r12d
--Type <RET> for more, q to quit, c to continue without paging--
   0x0000556e0edd0c94 <+276>:   jmp    0x556e0edd0c1e <shieldFlushEntries+1=
58>
   0x0000556e0edd0c96 <+278>:   cs nopw 0x0(%rax,%rax,1)
   0x0000556e0edd0ca0 <+288>:   test   %r13,%r13
   0x0000556e0edd0ca3 <+291>:   je     0x556e0edd0cb8 <shieldFlushEntries+3=
12>
   0x0000556e0edd0ca5 <+293>:   cmp    %r14,%r13
   0x0000556e0edd0ca8 <+296>:   jae    0x556e0edd0d1e <shieldFlushEntries+4=
14>
   0x0000556e0edd0caa <+298>:   mov    %r12d,%edx
   0x0000556e0edd0cad <+301>:   mov    %r14,%rsi
   0x0000556e0edd0cb0 <+304>:   mov    %r13,%rdi
   0x0000556e0edd0cb3 <+307>:   call   0x556e0edcf8b0 <ProtSet>
   0x0000556e0edd0cb8 <+312>:   add    $0x8,%rsp
   0x0000556e0edd0cbc <+316>:   mov    %rbx,%rdi
   0x0000556e0edd0cbf <+319>:   pop    %rbx
   0x0000556e0edd0cc0 <+320>:   pop    %rbp
   0x0000556e0edd0cc1 <+321>:   pop    %r12
   0x0000556e0edd0cc3 <+323>:   pop    %r13
   0x0000556e0edd0cc5 <+325>:   pop    %r14
   0x0000556e0edd0cc7 <+327>:   pop    %r15
   0x0000556e0edd0cc9 <+329>:   jmp    0x556e0ed6b260 <shieldQueueReset>
   0x0000556e0edd0cce <+334>:   xchg   %ax,%ax
   0x0000556e0edd0cd0 <+336>:   add    $0x8,%rsp
   0x0000556e0edd0cd4 <+340>:   lea    0x3c4e3(%rip),%rdx        # 0x556e0e=
e0d1be
   0x0000556e0edd0cdb <+347>:   mov    $0x190,%esi
   0x0000556e0edd0ce0 <+352>:   pop    %rbx
   0x0000556e0edd0ce1 <+353>:   lea    0x3a269(%rip),%rdi        # 0x556e0e=
e0af51
   0x0000556e0edd0ce8 <+360>:   pop    %rbp
   0x0000556e0edd0ce9 <+361>:   pop    %r12
--Type <RET> for more, q to quit, c to continue without paging--
   0x0000556e0edd0ceb <+363>:   pop    %r13
   0x0000556e0edd0ced <+365>:   pop    %r14
   0x0000556e0edd0cef <+367>:   pop    %r15
   0x0000556e0edd0cf1 <+369>:   jmp    *0xbbb79(%rip)        # 0x556e0ee8c8=
70 <mps_lib_assert_handler>
   0x0000556e0edd0cf7 <+375>:   nopw   0x0(%rax,%rax,1)
   0x0000556e0edd0d00 <+384>:   lea    0x3a97c(%rip),%rdx        # 0x556e0e=
e0b683
   0x0000556e0edd0d07 <+391>:   mov    $0x1a0,%esi
   0x0000556e0edd0d0c <+396>:   lea    0x3a23e(%rip),%rdi        # 0x556e0e=
e0af51
   0x0000556e0edd0d13 <+403>:   call   *0xbbb57(%rip)        # 0x556e0ee8c8=
70 <mps_lib_assert_handler>
   0x0000556e0edd0d19 <+409>:   jmp    0x556e0edd0c02 <shieldFlushEntries+1=
30>
   0x0000556e0edd0d1e <+414>:   lea    0x3a95e(%rip),%rdx        # 0x556e0e=
e0b683
   0x0000556e0edd0d25 <+421>:   mov    $0x1aa,%esi
   0x0000556e0edd0d2a <+426>:   lea    0x3a220(%rip),%rdi        # 0x556e0e=
e0af51
   0x0000556e0edd0d31 <+433>:   call   *0xbbb39(%rip)        # 0x556e0ee8c8=
70 <mps_lib_assert_handler>
   0x0000556e0edd0d37 <+439>:   jmp    0x556e0edd0caa <shieldFlushEntries+2=
98>
End of assembler dump.


>> #44 0x0000556e0ece93a6 in read_and_dispose_of_process_output
>>     (p=3D<optimized out>, chars=3D0x556e40d23290 ",{\"detail\":\"void
>> (lxw_workbook *,
>> decltype(lxw_workbook::options))\",\"kind\":6,\"name\":\"w\",\"range\":{=
\"end\":{\"character\":57,\"line\":12784},\"start\":{\"character\":0,\"line=
\":12784}},\"selectionRange\":{\"end\":{\"cha"...,
>> nbytes=3D335897, coding=3D0x556e2eba74b0)
>
> 335 KB? That's a lot,

That's lsp/libclang for you. I only use it occasionally and that was a
large C++ file. However, I use lsp/dart all the time, with smaller files
but the server is quite verbose, and no crashes so far.

> so it's likely that the problem was caused in the
> json code...  I'll have a look, particularly at xcdr_addr, which is
> rarely used in other code.

>> In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
>>  version 1.18.2) of 2025-02-13 built on zen
>> Repository revision: 4b28c41c4f2b43add865f9a8727879cb53dad107
>
> Hmm.  That's a bit older, but I don't think this looks like any of the
> bugs that have been fixed since.
>
> Thanks for the report, I'll try stress-testing the JSON code next.

Thank you Pip.

_________________________________________________________________
________________________________________________________
Your E-Mail. Your Cloud. Your Office. eclipso Mail Europe. https://www.eclipso.de






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at 76705 <at> debbugs.gnu.org:


Received: (at 76705) by debbugs.gnu.org; 3 Mar 2025 11:38:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 06:38:16 2025
Received: from localhost ([127.0.0.1]:45422 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp47k-0008Oi-7t
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 06:38:16 -0500
Received: from mail-10629.protonmail.ch ([79.135.106.29]:23139)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1tp47h-0008OR-CY
 for 76705 <at> debbugs.gnu.org; Mon, 03 Mar 2025 06:38:14 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1741001886; x=1741261086;
 bh=6skkg803tvDKKv4QZgNGBq9JJJK4GH0vijCmP8RsVig=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=cAmemr/un/3EmdtvpsvhBYHu1qhfw4iUUIUsSqwD7/xqKQmN0djkzripQzuSC/LQY
 cb+uPT2gwxCHSEF67CHGOT9N55/i/t9U4CYRIWz4gzEL58hLziXLJZ7CwJWFPrj1eL
 l5McHRNbkAg64zVo2Ugbnnwdw7wL5EsLcTGg3fBg6bNuC3onBdHm+rjBh7Csfbg845
 6AJXsYxpf4rDszkOe+0+YyKEYPFvdsDv4w7sEwZVKrt1P8PzfHxrtUVN4KpEVQ0jJR
 WzXMY6EH2b5oOzMuWwYzVmt8gh4I9sWF0M3fuHzBp5um1tta1ehvNxDArkGksTlNkw
 inbTT0Z1LVocg==
Date: Mon, 03 Mar 2025 11:38:01 +0000
To: =?utf-8?Q?=C3=93scar_Fuentes_via_Bug_reports_for_GNU_Emacs=2C_the_Swiss_army_knife_of_text_editors?=
 <bug-gnu-emacs@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
Message-ID: <87h64axs3p.fsf@HIDDEN>
In-Reply-To: <87ikor9nso.fsf@HIDDEN>
References: <87ikor9nso.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: 0c11d7a0db213f088c512361ae2e97d6ee8241e4
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -1.0 (-)
X-Debbugs-Envelope-To: 76705
Cc: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>, 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.0 (--)

=C3=93scar Fuentes via "Bug reports for GNU Emacs, the Swiss army knife of =
text editors" <bug-gnu-emacs@HIDDEN> writes:

> Emacs just crashed on a session started more than a week ago, IIRC.
>
> The following backtrace is from the core dump. Sorry for not being more
> helpful.

Can you try generating a full backtrace ("bt full" should work on the
core dump, too)?

> #0  __pthread_kill_implementation (threadid=3D<optimized out>, signo=3Dsi=
gno@entry=3D6, no_tid=3Dno_tid@entry=3D0)
>     at ./nptl/pthread_kill.c:44
> #1  0x00007f487751de2f in __pthread_kill_internal (threadid=3D<optimized =
out>, signo=3D6)
>     at ./nptl/pthread_kill.c:78
> #2  0x00007f48774c9d02 in __GI_raise (sig=3Dsig@entry=3D6) at ../sysdeps/=
posix/raise.c:26
> #3  0x0000556e0ead9d68 in terminate_due_to_signal
>     (sig=3Dsig@entry=3D6, backtrace_limit=3Dbacktrace_limit@entry=3D21474=
83647) at ../../emacs/src/emacs.c:463
> #4  0x0000556e0ed16d73 in set_state (state=3DIGC_STATE_DEAD) at ../../ema=
cs/src/igc.c:1023
> #5  set_state (state=3DIGC_STATE_DEAD) at ../../emacs/src/igc.c:1002
> #6  igc_assert_fail (file=3D<optimized out>, line=3D<optimized out>, msg=
=3D<optimized out>)
>     at ../../emacs/src/igc.c:306
> #7  0x0000556e0edd0c10 in shieldFlushEntries ()

shieldFlushEntries contains several asserts.  Can you disassemble the
function shieldFlushEntries to see which one we hit?
(gdb: "disass/s shieldFlushEntries").

> #8  0x0000556e0edd1b89 in ShieldLeave ()
> #9  0x0000556e0edd1d9e in ArenaLeave ()
> #10 0x0000556e0eddbd31 in mps_ap_fill ()
> #11 0x0000556e0ed164d6 in alloc_impl
>     (size=3Dsize@entry=3D88, type=3Dtype@entry=3DIGC_OBJ_VECTOR, ap=3D0x7=
f4868001900) at ../../emacs/src/igc.c:4095
> #12 0x0000556e0ed1afa8 in alloc (size=3D88, type=3DIGC_OBJ_VECTOR) at ../=
../emacs/src/igc.c:4008
> #13 igc_alloc_pseudovector
>     (nwords_mem=3Dnwords_mem@entry=3D9, nwords_lisp=3Dnwords_lisp@entry=
=3D0, nwords_zero=3Dnwords_zero@entry=3D0, tag=3Dtag@entry=3DPVEC_HASH_TABL=
E) at ../../emacs/src/igc.c:4277
> #14 0x0000556e0ec65bae in allocate_pseudovector
>     (memlen=3Dmemlen@entry=3D9, lisplen=3Dlisplen@entry=3D0, zerolen=3Dze=
rolen@entry=3D0, tag=3Dtag@entry=3DPVEC_HASH_TABLE) at ../../emacs/src/allo=
c.c:3687
> #15 0x0000556e0ec938d4 in allocate_hash_table () at ../../emacs/src/fns.c=
:4842
> #16 make_hash_table (test=3D0x556e0ee7bf80 <hashtest_equal>, size=3D2, we=
ak=3D<optimized out>)
>     at ../../emacs/src/fns.c:4897
> #17 0x0000556e0ed2a96a in json_parse_object (parser=3D0x7ffd3b15cdd0) at =
../../emacs/src/json.c:1608
> #18 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #19 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd=
3b15cdd0)
>     at ../../emacs/src/json.c:1522
> #20 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c=
:1554
> #21 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #22 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at .=
./../emacs/src/json.c:1454
> #23 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src=
/json.c:1657
> #24 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd=
3b15cdd0)
>     at ../../emacs/src/json.c:1522
> #25 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c=
:1554
> #26 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #27 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at .=
./../emacs/src/json.c:1454
> #28 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src=
/json.c:1657
> #29 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd=
3b15cdd0)
>     at ../../emacs/src/json.c:1522
> #30 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c=
:1554
> #31 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #32 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at .=
./../emacs/src/json.c:1454
> #33 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src=
/json.c:1657
> #34 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd=
3b15cdd0)
>     at ../../emacs/src/json.c:1522
> #35 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c=
:1554
> #36 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #37 0x0000556e0ed2aef5 in json_parse (parser=3D0x7ffd3b15cdd0) at ../../e=
macs/src/json.c:1705
> #38 Fjson_parse_buffer (nargs=3D<optimized out>, args=3D<optimized out>) =
at ../../emacs/src/json.c:1812
> #39 0x0000556e0ecd9cba in exec_byte_code
>     (fun=3D<optimized out>, args_template=3D<optimized out>, nargs=3D<opt=
imized out>, args=3D<optimized out>)
>     at ../../emacs/src/lisp.h:2290
> #40 0x0000556e0ec8d858 in Ffuncall (nargs=3Dnargs@entry=3D3, args=3D0x7ff=
d3b15d3d0)
>     at ../../emacs/src/eval.c:3115
> #41 0x0000556e0ec8dbe4 in Fapply (nargs=3Dnargs@entry=3D2, args=3Dargs@en=
try=3D0x7ffd3b15d460)
>     at ../../emacs/src/eval.c:2787
> #42 0x0000556e0ec8df63 in apply1 (fn=3D<optimized out>, arg=3D<optimized =
out>) at ../../emacs/src/eval.c:3003
> #43 0x0000556e0ec88fa2 in internal_condition_case_1
>     (bfun=3Dbfun@entry=3D0x556e0ece67b0 <read_process_output_call>, arg=
=3D0x7f4767c4805b, handlers=3Dhandlers@entry=3D0xa8, hfun=3Dhfun@entry=3D0x=
556e0ece66f0 <read_process_output_error_handler>) at ../../emacs/src/eval.c=
:1650
> #44 0x0000556e0ece93a6 in read_and_dispose_of_process_output
>     (p=3D<optimized out>, chars=3D0x556e40d23290 ",{\"detail\":\"void (lx=
w_workbook *, decltype(lxw_workbook::options))\",\"kind\":6,\"name\":\"w\",=
\"range\":{\"end\":{\"character\":57,\"line\":12784},\"start\":{\"character=
\":0,\"line\":12784}},\"selectionRange\":{\"end\":{\"cha"..., nbytes=3D3358=
97, coding=3D0x556e2eba74b0)

335 KB? That's a lot, so it's likely that the problem was caused in the
json code...  I'll have a look, particularly at xcdr_addr, which is
rarely used in other code.

> In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
>  version 1.18.2) of 2025-02-13 built on zen
> Repository revision: 4b28c41c4f2b43add865f9a8727879cb53dad107

Hmm.  That's a bit older, but I don't think this looks like any of the
bugs that have been fixed since.

Thanks for the report, I'll try stress-testing the JSON code next.

Pip





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 3 Mar 2025 11:38:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 03 06:38:23 2025
Received: from localhost ([127.0.0.1]:45426 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tp47r-0008P1-1q
	for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 06:38:23 -0500
Received: from lists.gnu.org ([2001:470:142::17]:39918)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1tp47o-0008OZ-1Q
 for submit <at> debbugs.gnu.org; Mon, 03 Mar 2025 06:38:20 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>)
 id 1tp47f-00028B-VI
 for bug-gnu-emacs@HIDDEN; Mon, 03 Mar 2025 06:38:11 -0500
Received: from mail-10628.protonmail.ch ([79.135.106.28])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>)
 id 1tp47d-0000kk-1P
 for bug-gnu-emacs@HIDDEN; Mon, 03 Mar 2025 06:38:11 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1741001886; x=1741261086;
 bh=6skkg803tvDKKv4QZgNGBq9JJJK4GH0vijCmP8RsVig=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=cAmemr/un/3EmdtvpsvhBYHu1qhfw4iUUIUsSqwD7/xqKQmN0djkzripQzuSC/LQY
 cb+uPT2gwxCHSEF67CHGOT9N55/i/t9U4CYRIWz4gzEL58hLziXLJZ7CwJWFPrj1eL
 l5McHRNbkAg64zVo2Ugbnnwdw7wL5EsLcTGg3fBg6bNuC3onBdHm+rjBh7Csfbg845
 6AJXsYxpf4rDszkOe+0+YyKEYPFvdsDv4w7sEwZVKrt1P8PzfHxrtUVN4KpEVQ0jJR
 WzXMY6EH2b5oOzMuWwYzVmt8gh4I9sWF0M3fuHzBp5um1tta1ehvNxDArkGksTlNkw
 inbTT0Z1LVocg==
Date: Mon, 03 Mar 2025 11:38:01 +0000
To: =?utf-8?Q?=C3=93scar_Fuentes_via_Bug_reports_for_GNU_Emacs=2C_the_Swiss_army_knife_of_text_editors?=
 <bug-gnu-emacs@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#76705: 31.0.50; igc: crash
Message-ID: <87h64axs3p.fsf@HIDDEN>
In-Reply-To: <87ikor9nso.fsf@HIDDEN>
References: <87ikor9nso.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: 0c11d7a0db213f088c512361ae2e97d6ee8241e4
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=79.135.106.28; envelope-from=pipcet@HIDDEN;
 helo=mail-10628.protonmail.ch
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: =?utf-8?Q?=C3=93scar_Fuentes?= <oscarfv@HIDDEN>, 76705 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

=C3=93scar Fuentes via "Bug reports for GNU Emacs, the Swiss army knife of =
text editors" <bug-gnu-emacs@HIDDEN> writes:

> Emacs just crashed on a session started more than a week ago, IIRC.
>
> The following backtrace is from the core dump. Sorry for not being more
> helpful.

Can you try generating a full backtrace ("bt full" should work on the
core dump, too)?

> #0  __pthread_kill_implementation (threadid=3D<optimized out>, signo=3Dsi=
gno@entry=3D6, no_tid=3Dno_tid@entry=3D0)
>     at ./nptl/pthread_kill.c:44
> #1  0x00007f487751de2f in __pthread_kill_internal (threadid=3D<optimized =
out>, signo=3D6)
>     at ./nptl/pthread_kill.c:78
> #2  0x00007f48774c9d02 in __GI_raise (sig=3Dsig@entry=3D6) at ../sysdeps/=
posix/raise.c:26
> #3  0x0000556e0ead9d68 in terminate_due_to_signal
>     (sig=3Dsig@entry=3D6, backtrace_limit=3Dbacktrace_limit@entry=3D21474=
83647) at ../../emacs/src/emacs.c:463
> #4  0x0000556e0ed16d73 in set_state (state=3DIGC_STATE_DEAD) at ../../ema=
cs/src/igc.c:1023
> #5  set_state (state=3DIGC_STATE_DEAD) at ../../emacs/src/igc.c:1002
> #6  igc_assert_fail (file=3D<optimized out>, line=3D<optimized out>, msg=
=3D<optimized out>)
>     at ../../emacs/src/igc.c:306
> #7  0x0000556e0edd0c10 in shieldFlushEntries ()

shieldFlushEntries contains several asserts.  Can you disassemble the
function shieldFlushEntries to see which one we hit?
(gdb: "disass/s shieldFlushEntries").

> #8  0x0000556e0edd1b89 in ShieldLeave ()
> #9  0x0000556e0edd1d9e in ArenaLeave ()
> #10 0x0000556e0eddbd31 in mps_ap_fill ()
> #11 0x0000556e0ed164d6 in alloc_impl
>     (size=3Dsize@entry=3D88, type=3Dtype@entry=3DIGC_OBJ_VECTOR, ap=3D0x7=
f4868001900) at ../../emacs/src/igc.c:4095
> #12 0x0000556e0ed1afa8 in alloc (size=3D88, type=3DIGC_OBJ_VECTOR) at ../=
../emacs/src/igc.c:4008
> #13 igc_alloc_pseudovector
>     (nwords_mem=3Dnwords_mem@entry=3D9, nwords_lisp=3Dnwords_lisp@entry=
=3D0, nwords_zero=3Dnwords_zero@entry=3D0, tag=3Dtag@entry=3DPVEC_HASH_TABL=
E) at ../../emacs/src/igc.c:4277
> #14 0x0000556e0ec65bae in allocate_pseudovector
>     (memlen=3Dmemlen@entry=3D9, lisplen=3Dlisplen@entry=3D0, zerolen=3Dze=
rolen@entry=3D0, tag=3Dtag@entry=3DPVEC_HASH_TABLE) at ../../emacs/src/allo=
c.c:3687
> #15 0x0000556e0ec938d4 in allocate_hash_table () at ../../emacs/src/fns.c=
:4842
> #16 make_hash_table (test=3D0x556e0ee7bf80 <hashtest_equal>, size=3D2, we=
ak=3D<optimized out>)
>     at ../../emacs/src/fns.c:4897
> #17 0x0000556e0ed2a96a in json_parse_object (parser=3D0x7ffd3b15cdd0) at =
../../emacs/src/json.c:1608
> #18 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #19 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd=
3b15cdd0)
>     at ../../emacs/src/json.c:1522
> #20 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c=
:1554
> #21 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #22 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at .=
./../emacs/src/json.c:1454
> #23 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src=
/json.c:1657
> #24 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd=
3b15cdd0)
>     at ../../emacs/src/json.c:1522
> #25 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c=
:1554
> #26 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #27 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at .=
./../emacs/src/json.c:1454
> #28 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src=
/json.c:1657
> #29 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd=
3b15cdd0)
>     at ../../emacs/src/json.c:1522
> #30 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c=
:1554
> #31 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #32 0x0000556e0ed2a7fa in json_parse_array (parser=3D0x7ffd3b15cdd0) at .=
./../emacs/src/json.c:1454
> #33 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D91) at ../../emacs/src=
/json.c:1657
> #34 0x0000556e0ed2a61a in json_parse_object_member_value (parser=3D0x7ffd=
3b15cdd0)
>     at ../../emacs/src/json.c:1522
> #35 json_parse_object (parser=3D0x7ffd3b15cdd0) at ../../emacs/src/json.c=
:1554
> #36 json_parse_value (parser=3D0x7ffd3b15cdd0, c=3D<optimized out>) at ..=
/../emacs/src/json.c:1655
> #37 0x0000556e0ed2aef5 in json_parse (parser=3D0x7ffd3b15cdd0) at ../../e=
macs/src/json.c:1705
> #38 Fjson_parse_buffer (nargs=3D<optimized out>, args=3D<optimized out>) =
at ../../emacs/src/json.c:1812
> #39 0x0000556e0ecd9cba in exec_byte_code
>     (fun=3D<optimized out>, args_template=3D<optimized out>, nargs=3D<opt=
imized out>, args=3D<optimized out>)
>     at ../../emacs/src/lisp.h:2290
> #40 0x0000556e0ec8d858 in Ffuncall (nargs=3Dnargs@entry=3D3, args=3D0x7ff=
d3b15d3d0)
>     at ../../emacs/src/eval.c:3115
> #41 0x0000556e0ec8dbe4 in Fapply (nargs=3Dnargs@entry=3D2, args=3Dargs@en=
try=3D0x7ffd3b15d460)
>     at ../../emacs/src/eval.c:2787
> #42 0x0000556e0ec8df63 in apply1 (fn=3D<optimized out>, arg=3D<optimized =
out>) at ../../emacs/src/eval.c:3003
> #43 0x0000556e0ec88fa2 in internal_condition_case_1
>     (bfun=3Dbfun@entry=3D0x556e0ece67b0 <read_process_output_call>, arg=
=3D0x7f4767c4805b, handlers=3Dhandlers@entry=3D0xa8, hfun=3Dhfun@entry=3D0x=
556e0ece66f0 <read_process_output_error_handler>) at ../../emacs/src/eval.c=
:1650
> #44 0x0000556e0ece93a6 in read_and_dispose_of_process_output
>     (p=3D<optimized out>, chars=3D0x556e40d23290 ",{\"detail\":\"void (lx=
w_workbook *, decltype(lxw_workbook::options))\",\"kind\":6,\"name\":\"w\",=
\"range\":{\"end\":{\"character\":57,\"line\":12784},\"start\":{\"character=
\":0,\"line\":12784}},\"selectionRange\":{\"end\":{\"cha"..., nbytes=3D3358=
97, coding=3D0x556e2eba74b0)

335 KB? That's a lot, so it's likely that the problem was caused in the
json code...  I'll have a look, particularly at xcdr_addr, which is
rarely used in other code.

> In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
>  version 1.18.2) of 2025-02-13 built on zen
> Repository revision: 4b28c41c4f2b43add865f9a8727879cb53dad107

Hmm.  That's a bit older, but I don't think this looks like any of the
bugs that have been fixed since.

Thanks for the report, I'll try stress-testing the JSON code next.

Pip





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 3 Mar 2025 04:32:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 02 23:32:33 2025
Received: from localhost ([127.0.0.1]:42411 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1toxTi-0004kY-C8
	for submit <at> debbugs.gnu.org; Sun, 02 Mar 2025 23:32:33 -0500
Received: from lists.gnu.org ([2001:470:142::17]:43840)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <oscarfv@HIDDEN>)
 id 1topzD-0003lm-Ew
 for submit <at> debbugs.gnu.org; Sun, 02 Mar 2025 15:32:34 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <oscarfv@HIDDEN>)
 id 1topyz-0006eO-MI
 for bug-gnu-emacs@HIDDEN; Sun, 02 Mar 2025 15:32:18 -0500
Received: from mail.eclipso.de ([217.69.254.104])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <oscarfv@HIDDEN>)
 id 1topyv-0007cY-6M
 for bug-gnu-emacs@HIDDEN; Sun, 02 Mar 2025 15:32:17 -0500
X-ESMTP-Authenticated-User: 000D6BEA
From: =?utf-8?Q?=C3=93scar?= Fuentes <oscarfv@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eclipso.de; s=mail;
 t=1740947528; bh=ME9Mgykw3oBUxfOjLkwBUlJb7bnXCG6mMhN+xdZGMC4=;
 h=From:To:Subject:Date:From;
 b=RABkdEBXhTCARAtgbDXSnhdmzR0kw6U+hdJVCULbrpHBch3EUGrjgRu8vWqsAtz3l
 fbAYY6vlJUKMgib3jFwPwfk3vRj1eGY7fyRwpVaij0T03IcuoyOrSOAPvU5okB4EgG
 ho+MNaEmASJH84YdzEfv/KJlBC/WZwckF9HMRnhQqIqoJGtvDY96Kvr2s6djU3drWg
 mpCqwnUmjajjGNT4pf+IJL3g34hOcTSocnoYpuRwQgDSPw5qOFvBPxowezI4LrIrPw
 fBi++ANWNdnl4+asxQ7xbo8/0oEZ9MmSkKct+B1iwiwlUxSnKqJVhWAFqnO5Wv7Y9A
 9PLNR26IMmqbg==
To: bug-gnu-emacs@HIDDEN
Subject: 31.0.50; igc: crash
X-Debbugs-Cc: 
Date: Sun, 02 Mar 2025 21:32:07 +0100
Message-ID: <87ikor9nso.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=217.69.254.104; envelope-from=oscarfv@HIDDEN;
 helo=mail.eclipso.de
X-Spam_score_int: -23
X-Spam_score: -2.4
X-Spam_bar: --
X-Spam_report: (-2.4 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1,
 DKIM_SIGNED=0.1, RCVD_IN_DNSWL_LOW=-0.7,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Sun, 02 Mar 2025 23:32:18 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

Emacs just crashed on a session started more than a week ago, IIRC.

The following backtrace is from the core dump. Sorry for not being more
helpful.

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
    at ./nptl/pthread_kill.c:44
#1  0x00007f487751de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6)
    at ./nptl/pthread_kill.c:78
#2  0x00007f48774c9d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x0000556e0ead9d68 in terminate_due_to_signal
    (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ../../emacs/src/emacs.c:463
#4  0x0000556e0ed16d73 in set_state (state=IGC_STATE_DEAD) at ../../emacs/src/igc.c:1023
#5  set_state (state=IGC_STATE_DEAD) at ../../emacs/src/igc.c:1002
#6  igc_assert_fail (file=<optimized out>, line=<optimized out>, msg=<optimized out>)
    at ../../emacs/src/igc.c:306
#7  0x0000556e0edd0c10 in shieldFlushEntries ()
#8  0x0000556e0edd1b89 in ShieldLeave ()
#9  0x0000556e0edd1d9e in ArenaLeave ()
#10 0x0000556e0eddbd31 in mps_ap_fill ()
#11 0x0000556e0ed164d6 in alloc_impl
    (size=size@entry=88, type=type@entry=IGC_OBJ_VECTOR, ap=0x7f4868001900) at ../../emacs/src/igc.c:4095
#12 0x0000556e0ed1afa8 in alloc (size=88, type=IGC_OBJ_VECTOR) at ../../emacs/src/igc.c:4008
#13 igc_alloc_pseudovector
    (nwords_mem=nwords_mem@entry=9, nwords_lisp=nwords_lisp@entry=0, nwords_zero=nwords_zero@entry=0, tag=tag@entry=PVEC_HASH_TABLE) at ../../emacs/src/igc.c:4277
#14 0x0000556e0ec65bae in allocate_pseudovector
    (memlen=memlen@entry=9, lisplen=lisplen@entry=0, zerolen=zerolen@entry=0, tag=tag@entry=PVEC_HASH_TABLE) at ../../emacs/src/alloc.c:3687
#15 0x0000556e0ec938d4 in allocate_hash_table () at ../../emacs/src/fns.c:4842
#16 make_hash_table (test=0x556e0ee7bf80 <hashtest_equal>, size=2, weak=<optimized out>)
    at ../../emacs/src/fns.c:4897
#17 0x0000556e0ed2a96a in json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1608
#18 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#19 0x0000556e0ed2a61a in json_parse_object_member_value (parser=0x7ffd3b15cdd0)
    at ../../emacs/src/json.c:1522
#20 json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1554
#21 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#22 0x0000556e0ed2a7fa in json_parse_array (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1454
#23 json_parse_value (parser=0x7ffd3b15cdd0, c=91) at ../../emacs/src/json.c:1657
#24 0x0000556e0ed2a61a in json_parse_object_member_value (parser=0x7ffd3b15cdd0)
    at ../../emacs/src/json.c:1522
#25 json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1554
#26 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#27 0x0000556e0ed2a7fa in json_parse_array (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1454
#28 json_parse_value (parser=0x7ffd3b15cdd0, c=91) at ../../emacs/src/json.c:1657
#29 0x0000556e0ed2a61a in json_parse_object_member_value (parser=0x7ffd3b15cdd0)
    at ../../emacs/src/json.c:1522
#30 json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1554
#31 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#32 0x0000556e0ed2a7fa in json_parse_array (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1454
#33 json_parse_value (parser=0x7ffd3b15cdd0, c=91) at ../../emacs/src/json.c:1657
#34 0x0000556e0ed2a61a in json_parse_object_member_value (parser=0x7ffd3b15cdd0)
    at ../../emacs/src/json.c:1522
#35 json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1554
#36 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#37 0x0000556e0ed2aef5 in json_parse (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1705
#38 Fjson_parse_buffer (nargs=<optimized out>, args=<optimized out>) at ../../emacs/src/json.c:1812
#39 0x0000556e0ecd9cba in exec_byte_code
    (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>)
    at ../../emacs/src/lisp.h:2290
#40 0x0000556e0ec8d858 in Ffuncall (nargs=nargs@entry=3, args=0x7ffd3b15d3d0)
    at ../../emacs/src/eval.c:3115
#41 0x0000556e0ec8dbe4 in Fapply (nargs=nargs@entry=2, args=args@entry=0x7ffd3b15d460)
    at ../../emacs/src/eval.c:2787
#42 0x0000556e0ec8df63 in apply1 (fn=<optimized out>, arg=<optimized out>) at ../../emacs/src/eval.c:3003
#43 0x0000556e0ec88fa2 in internal_condition_case_1
    (bfun=bfun@entry=0x556e0ece67b0 <read_process_output_call>, arg=0x7f4767c4805b, handlers=handlers@entry=0xa8, hfun=hfun@entry=0x556e0ece66f0 <read_process_output_error_handler>) at ../../emacs/src/eval.c:1650
#44 0x0000556e0ece93a6 in read_and_dispose_of_process_output
    (p=<optimized out>, chars=0x556e40d23290 ",{\"detail\":\"void (lxw_workbook *, decltype(lxw_workbook::options))\",\"kind\":6,\"name\":\"w\",\"range\":{\"end\":{\"character\":57,\"line\":12784},\"start\":{\"character\":0,\"line\":12784}},\"selectionRange\":{\"end\":{\"cha"..., nbytes=335897, coding=0x556e2eba74b0)
    at ../../emacs/src/process.c:6523
#45 read_process_output (proc=proc@entry=0x7f4761f7966d, channel=channel@entry=25)
    at ../../emacs/src/process.c:6291
#46 0x0000556e0ecf0c8b in wait_reading_process_output
    (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=true, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=0)
    at ../../emacs/src/process.c:5972
#47 0x0000556e0ec06a2f in kbd_buffer_get_event
    (kbp=<synthetic pointer>, used_mouse_menu=<optimized out>, end_time=<optimized out>)
    at ../../emacs/src/keyboard.c:4115
#48 read_event_from_main_queue
    (end_time=end_time@entry=0x0, local_getcjmp=local_getcjmp@entry=0x7ffd3b15dd20, used_mouse_menu=used_mouse_menu@entry=0x7ffd3b15e00b) at ../../emacs/src/keyboard.c:2336
#49 0x0000556e0ec0c5b6 in read_decoded_event_from_main_queue
    (end_time=<optimized out>, local_getcjmp=<optimized out>, prev_event=<optimized out>, used_mouse_menu=<optimized out>) at ../../emacs/src/keyboard.c:2399
#50 read_char
    (commandflag=1, map=map@entry=0x7f4766b23feb, prev_event=0x0, used_mouse_menu=used_mouse_menu@entry=0x7ffd3b15e00b, end_time=end_time@entry=0x0) at ../../emacs/src/keyboard.c:3031
#51 0x0000556e0ec0f651 in read_key_sequence
    (keybuf=keybuf@entry=0x7ffd3b15e140, prompt=prompt@entry=0x0, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, disable_text_conversion_p=false)
    at ../../emacs/src/keyboard.c:10790
#52 0x0000556e0ec114d8 in command_loop_1 () at ../../emacs/src/keyboard.c:1435
#53 0x0000556e0ec88f26 in internal_condition_case
    (bfun=bfun@entry=0x556e0ec11320 <command_loop_1>, handlers=handlers@entry=0xa8, hfun=hfun@entry=0x556e0ec04560 <cmd_error>) at ../../emacs/src/eval.c:1626
#54 0x0000556e0ebfc43e in command_loop_2 (handlers=handlers@entry=0xa8) at ../../emacs/src/keyboard.c:1174
#55 0x0000556e0ec88e52 in internal_catch
    (tag=tag@entry=0x14dd0, func=func@entry=0x556e0ebfc410 <command_loop_2>, arg=arg@entry=0xa8)
    at ../../emacs/src/eval.c:1305
#56 0x0000556e0ebfc3d3 in command_loop () at ../../emacs/src/keyboard.c:1152
#57 0x0000556e0ec040d6 in recursive_edit_1 () at ../../emacs/src/keyboard.c:760
#58 0x0000556e0ec04488 in Frecursive_edit () at ../../emacs/src/keyboard.c:843
#59 0x0000556e0eae3296 in main (argc=<optimized out>, argv=0x7ffd3b15e5d8) at ../../emacs/src/emacs.c:2580
(gdb) 


In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.18.2) of 2025-02-13 built on zen
Repository revision: 4b28c41c4f2b43add865f9a8727879cb53dad107
Repository branch: feature/igc
Windowing system distributor 'The X.Org Foundation', version 11.0.12101015
System Description: Debian GNU/Linux trixie/sid

Configured using:
 'configure CPPFLAGS=-I/home/oscar/dev/include/mps
 LDFLAGS=-L/home/oscar/dev/other/mps/code --with-native-compilation
 --with-tree-sitter --without-toolkit-scroll-bars --with-x-toolkit=lucid
 --with-modules --without-imagemagick --with-mps=yes'

Configured features:
CAIRO FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LIBOTF
LIBSELINUX LIBXML2 MODULES MPS NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XAW3D XDBE
XIM XPM LUCID ZLIB

Important settings:
  value of $LANG: C
  locale-coding-system: nil

Major mode: Lisp Interaction

Minor modes in effect:
  xterm-mouse-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  org-roam-db-autosync-mode: t
  fancy-compilation-mode: t
  global-git-commit-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  evil-owl-mode: t
  evil-paredit-mode: t
  evil-local-mode: t
  key-chord-mode: t
  paredit-mode: t
  server-mode: t
  display-fill-column-indicator-mode: t
  vertico-multiform-mode: t
  marginalia-mode: t
  vertico-mode: t
  which-key-mode: t
  global-anzu-mode: t
  anzu-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/oscar/elisp/singles/flx hides /home/oscar/.emacs.d/elpa/flx-20240205.356/flx
/home/oscar/elisp/magit/lisp/magit-section hides /home/oscar/.emacs.d/elpa/magit-section-20250301.1617/magit-section
/home/oscar/elisp/singles/which-key hides /home/oscar/dev/emacs/emacs/lisp/which-key

Features:
(shadow sort mail-extr emacsbug vertico-directory help-fns radix-tree
mule-util fussy xt-mouse term/xterm xterm meteo-radar lsp-dart
lsp-dart-commands lsp-dart-flutter-widget-guide
lsp-dart-flutter-fringe-colors lsp-dart-flutter-colors lsp-dart-outline
lsp-dart-code-lens lsp-lens lsp-dart-test-tree lsp-treemacs
lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs
treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-faces treemacs-icons
treemacs-scope treemacs-themes treemacs-core-utils pfuture hl-line
treemacs-logging treemacs-customization treemacs-macros
lsp-dart-test-output lsp-dart-test-support lsp-dart-dap
lsp-dart-devtools lsp-dart-flutter-daemon jsonrpc dap-utils dom xml
dap-mode dap-tasks dap-launch lsp-docker yaml posframe dap-overlays
lsp-dart-closing-labels lsp-dart-utils lsp-dart-protocol lsp-mode
lsp-protocol tree-widget spinner network-stream nsm markdown-mode lv f
ewoc flymake flycheck lp0-ts-mode lp0-mode symbol-overlay company-ctags
find-file company-fuzzy ht company aggressive-indent deft orgit
emacsql-sqlite-builtin sqlite org-roam-migrate org-roam-log
org-roam-mode org-roam-capture org-roam-id org-roam-node org-roam-db
org-roam-utils org-roam-compat org-roam org-attach emacsql-sqlite
emacsql emacsql-compiler org-noter org-element org-persist org-id
org-element-ast inline avl-tree org-protocol org-capture org-refile
org-crypt org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-src sh-script smie treesit executable ob-comint org-pcomplete
org-list org-footnote org-faces org-entities noutline outline
ob-emacs-lisp ob-core ob-eval org-cycle org-table org-keys oc
org-loaddefs find-func etags-select etags fileloop generator xref
project ol org-fold org-fold-core org-compat org-version org-macs
fancy-compilation ffap magit-bookmark bookmark git-rebase magit-extras
magit-sparse-checkout magit-gitignore magit-ediff ediff magit-subtree
magit-patch magit-submodule magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode
diff git-commit magit-core magit-autorevert autorevert filenotify
magit-margin magit-transient magit-process with-editor shell pcomplete
magit-mode transient magit-git magit-base which-func imenu vc-git
files-x vc-dispatcher magit-section benchmark cursor-sensor crm pulsar
pulse color evil-owl format-spec buffer-flip evil-paredit evil-anzu evil
evil-keybindings evil-integration evil-maps evil-commands reveal
evil-jumps evil-command-window evil-types evil-search evil-ex
evil-macros evil-repeat evil-states evil-core evil-common rect evil-vars
mini-echo mini-echo-segments let-alist hide-mode-line face-remap wgrep
grep ag vc-svn compile comint ansi-osc ansi-color find-dired s dash
key-chord comp comp-cstr warnings comp-run comp-common cmake-mode rx
paredit-menu paredit edmacro kmacro server yasnippet lisp-mnt cl-extra
help-mode psvn wid-edit log-edit message sendmail yank-media puny rfc822
mml mml-sec epa derived epg rfc6068 epg-config gnus-util
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log diff-mode
track-changes pp elp ediff-merg ediff-mult ediff-wind ediff-diff
ediff-help ediff-init ediff-util dired dired-loaddefs
display-fill-column-indicator vertico-multiform marginalia vertico
flx-rs-core flx-rs flx goto-chg avy ring highlight-parentheses ws-butler
which-key diminish cl anzu easy-mmode thingatpt tmr pcase compat solar
cal-dst cal-menu calendar cal-loaddefs finder-inf advice disp-table
company-posframe-autoloads company-autoloads consult-flycheck-autoloads
consult-lsp-autoloads consult-org-roam-autoloads deadgrep-autoloads
eat-autoloads ellama-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads flutter-autoloads flycheck-autoloads
fussy-autoloads flx-autoloads groovy-mode-autoloads llm-autoloads
lsp-dart-autoloads dart-mode-autoloads dap-mode-autoloads bui-autoloads
lsp-docker-autoloads lsp-treemacs-autoloads lsp-ui-autoloads
lsp-mode-autoloads f-autoloads marginalia-autoloads
markdown-mode-autoloads org-roam-autoloads magit-section-autoloads
llama-autoloads emacsql-autoloads plz-event-source-autoloads
plz-media-type-autoloads plz-autoloads pomm-autoloads alert-autoloads
log4e-autoloads gntp-autoloads shell-maker-autoloads spinner-autoloads
symbol-overlay-autoloads treemacs-autoloads cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads info
dash-autoloads vertico-autoloads wgrep-ag-autoloads
wgrep-deadgrep-autoloads wgrep-autoloads yaml-autoloads package
browse-url xdg url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads inotify dynamic-setting
system-font-setting font-render-setting cairo x-toolkit x multi-tty
move-toolbar make-network-process tty-child-frames native-compile mps
emacs)

_________________________________________________________________
________________________________________________________
Your E-Mail. Your Cloud. Your Office. eclipso Mail Europe. https://www.eclipso.de






Acknowledgement sent to Óscar Fuentes <oscarfv@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#76705; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 3 Mar 2025 20:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.