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 eliz@gnu.org:
Cc: luangruo@yahoo.com, 58767@debbugs.gnu.org
Date: Tue, 25 Oct 2022 15:50:50 +0300
From: Eli Zaretskii <eliz@gnu.org>

> Date: Tue, 25 Oct 2022 14:10:12 +0200 (CEST)
> From: purity.piped@tuta.io
> Cc: Po Lu <luangruo@yahoo.com>, 58767@debbugs.gnu.org
>
> 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.