Subject: Re: bug#58767: telega makes emacs crash (under an EXWM session?)

From: [email-masked]
Date: Tue, 25 Oct 2022 19:36:32 +0200 (CEST)

greetings.
I've tested telega with emacs-29 (I cloned from savannah.gnu.org), and it appears that, indeed, telega does not seem to crash there.
I've compiled emacs-28.2 with -O0 and -g3, and business as usual, log attached and mirrored on termbin.
hope this helps further! tell me if I missed anything!
thanks a million for your patience.

https://termbin.com/h294 <- gdb log of emacs-28.2 compiled with -O0 and -g3

Oct 25, 2022, 3:31 PM by [email-masked]:

>> Cc: [email-masked], [email-masked]
>> Date: Tue, 25 Oct 2022 15:50:50 +0300
>> From: Eli Zaretskii <[email-masked]>
>>
>> > Date: Tue, 25 Oct 2022 14:10:12 +0200 (CEST)
>> > From: [email-masked]
>> > Cc: Po Lu <[email-masked]>, [email-masked]
>> > 
>> > What I do that makes emacs crash is just launch telega. Either via a keybind or m-x. 
>>
>> So just "M-x telega RET" is enough to cause the crash?
>>
>
> FTR: I tried to reproduce the crash, but couldn't get far enough:
> running "M-x telega" requires some server, which I don't have, and
> won't install.  So someone who has that installed will need to debug
> this and tell me how come this code crashes.
>
> The abort is in this code in bidi.c:
>
> /* Don't move at end of buffer/string.  */
> else if (bidi_it->charpos < (string_p ? bidi_it->string.schars : ZV))
> {
> /* Advance to the next character, skipping characters covered by
> display strings (nchars > 1).  */
> if (bidi_it->nchars <= 0)
> emacs_abort ();
> bidi_it->charpos += bidi_it->nchars;
> if (bidi_it->ch_len == 0)
> emacs_abort ();
> bidi_it->bytepos += bidi_it->ch_len;
> prev_type = bidi_it->orig_type;
> }
>
> The backtrace points to the first call to emacs_abort, but since this
> is an optimized build, it could be the second one as well.  These
> situations "should not happen", ever.  So I must understand what kind
> of buffer or string text we bumped into that caused this, it should be
> something highly unusual.
>