orbitalquark / textadept

Textadept is a fast, minimalist, and remarkably extensible cross-platform text editor for programmers.
https://orbitalquark.github.io/textadept
MIT License
624 stars 38 forks source link

Crash on text-paste #505

Closed amitbha closed 4 months ago

amitbha commented 5 months ago

TA: 12.3 beta Gtk OS: Archlinux

  1. open: floorp.desktop - aur
  2. ctl + A, then copy the content
  3. paste in TA as a new file
  4. TA crash

The kde version of TA works well.

orbitalquark commented 5 months ago

Sorry to hear :( Unfortunately, I am not able to reproduce this on my Ubuntu 22.04 machine with 12.3 beta Gtk.

Do you have a stacktrace that you can post? One way to get a stacktrace:

  1. If you have gdb installed on your machine, you can download a nightly build of Textadept with debug symbols enabled.
  2. Run gdb textadept in a terminal.
  3. Type r followed by the Enter key to start the program.
  4. Induce the crash.
  5. Type bt followed by the Enter key to print out a backtrace.
  6. Post the backtrace here so I can take a look.
amitbha commented 5 months ago
(gdb) bt
#0  0x00007ffff6c2f83c in  () at /usr/lib/libc.so.6
#1  0x00007ffff6bdf668 in raise () at /usr/lib/libc.so.6
#2  0x00007ffff6bc74b8 in abort () at /usr/lib/libc.so.6
#3  0x00005555557b0a2b in Platform_Initialise() ()
#4  0x00005555557acf9a in Scintilla::SurfaceImpl::MeasureWidthsUTF8(Scintilla::Internal::Font const*, std::basic_string_view<char, std::char_traits<char> >, double*) ()
#5  0x00005555558731fe in PositionCache::MeasureWidths(Scintilla::Internal::Surface*, Scintilla::Internal::ViewStyle const&, unsigned int, bool, std::basic_string_view<char, std::char_traits<char> >, double*, bool) ()
#6  0x00005555558bd3ae in  ()
#7  0x00005555558bd559 in  ()
#8  0x00005555558cf7cc in  ()
#9  0x00005555558cf773 in  ()
#10 0x00005555558cf706 in  ()
#11 0x00005555558cf686 in  ()
#12 0x00005555558cf44e in  ()
#13 0x00005555558cf16b in  ()
#14 0x00005555558496ae in std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const ()
#15 0x0000555555847340 in std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) ()
#16 0x000055555584d71d in void std::__invoke_impl<void, void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) ()
#17 0x000055555584b6d7 in std::__invoke_result<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>::type std::__invoke<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bo--Type <RET> for more, q to quit, c to continue without paging--c
ol*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) ()
#18 0x0000555555849412 in std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#1}::operator()() const ()
#19 0x0000555555849441 in std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::operator()() const ()
#20 0x0000555555849456 in std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::_FUN() ()
#21 0x00007ffff6c32bbf in  () at /usr/lib/libc.so.6
#22 0x0000555555818d56 in  ()
#23 0x0000555555849500 in void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) ()
#24 0x0000555555847113 in std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) ()
#25 0x00005555558cfc99 in  ()
#26 0x0000555555846fd7 in std::__future_base::_State_baseV2::wait() ()
#27 0x000055555584a4f8 in std::__basic_future<void>::wait() const ()
#28 0x00005555558be1a0 in Scintilla::Internal::EditView::LayoutLine(Scintilla::Internal::EditModel const&, Scintilla::Internal::Surface*, Scintilla::Internal::ViewStyle const&, Scintilla::Internal::LineLayout*, int, bool) ()
#29 0x00005555558359de in Scintilla::Internal::Editor::SetAnnotationHeights(long, long) ()
#30 0x00005555558278bf in Scintilla::Internal::Editor::CheckModificationForWrap(Scintilla::Internal::DocModification) ()
#31 0x0000555555828348 in Scintilla::Internal::Editor::NotifyModified(Scintilla::Internal::Document*, Scintilla::Internal::DocModification, void*) ()
#32 0x00005555557e1d3e in Scintilla::Internal::Document::NotifyModified(Scintilla::Internal::DocModification)
    ()
#33 0x00005555557dc289 in Scintilla::Internal::Document::InsertString(long, char const*, long) ()
#34 0x0000555555824378 in Scintilla::Internal::Editor::InsertPaste(char const*, long) ()
#35 0x00005555558246b3 in Scintilla::Internal::Editor::InsertPasteShape(char const*, long, Scintilla::Internal::Editor::PasteShape) ()
#36 0x00005555557983bd in Scintilla::Internal::ScintillaGTK::InsertSelection(_GtkClipboard*, _GtkSelectionData*) ()
#37 0x0000555555798593 in Scintilla::Internal::ScintillaGTK::ReceivedClipboard(_GtkClipboard*, _GtkSelectionData*) ()
#38 0x0000555555797709 in  ()
#39 0x00007ffff7b378fb in  () at /usr/lib/libgtk-3.so.0
#40 0x00007ffff783eb5a in  () at /usr/lib/libgtk-3.so.0
#41 0x00007ffff7291b73 in  () at /usr/lib/libgobject-2.0.so.0
#42 0x00007ffff7291f50 in g_signal_emit_by_name () at /usr/lib/libgobject-2.0.so.0
#43 0x00007ffff7a3835b in  () at /usr/lib/libgtk-3.so.0
#44 0x00007ffff783d829 in  () at /usr/lib/libgtk-3.so.0
#45 0x00007ffff7291b73 in  () at /usr/lib/libgobject-2.0.so.0
#46 0x00007ffff7291c77 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#47 0x00007ffff7291d34 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#48 0x00007ffff7b0acf5 in  () at /usr/lib/libgtk-3.so.0
#49 0x00007ffff79a5bcc in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#50 0x00007ffff76efb77 in  () at /usr/lib/libgdk-3.so.0
#51 0x00007ffff77483e8 in  () at /usr/lib/libgdk-3.so.0
#52 0x00007ffff716bf69 in  () at /usr/lib/libglib-2.0.so.0
#53 0x00007ffff71ca367 in  () at /usr/lib/libglib-2.0.so.0
#54 0x00007ffff716cb97 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#55 0x00007ffff79a32df in gtk_main () at /usr/lib/libgtk-3.so.0
#56 0x000055555571b0b0 in main ()
orbitalquark commented 5 months ago

Interesting. So this appears to be a Scintilla issue. Do you mind attempting this in SciTE? (https://archlinux.org/packages/extra/x86_64/scite/). If SciTE also crashes, then we'll probably have to report a bug to Scintilla either on the mailing list or on sourceforge.net

amitbha commented 5 months ago

SciTE works fine.

Version 5.4.1   Scintilla:5.4.1   Lexilla:5.3.0
    compiled for GTK:3.24.39
    Dec 26 2023 10:58:46

Use Scite to save as file, then open with TA, TA crash too.

(gdb) bt
#0  0x00007ffff6c2f83c in  () at /usr/lib/libc.so.6
#1  0x00007ffff6bdf668 in raise () at /usr/lib/libc.so.6
#2  0x00007ffff6bc74b8 in abort () at /usr/lib/libc.so.6
#3  0x00005555557b0a2b in Platform_Initialise() ()
#4  0x00005555557acf9a in Scintilla::SurfaceImpl::MeasureWidthsUTF8(Scintilla::Internal::Font const*, std::basic_string_view<char, std::char_traits<char> >, double*) ()
#5  0x00005555558731fe in PositionCache::MeasureWidths(Scintilla::Internal::Surface*, Scintilla::Internal::ViewStyle const&, unsigned int, bool, std::basic_string_view<char, std::char_traits<char> >, double*, bool) ()
#6  0x00005555558bd3ae in  ()
#7  0x00005555558bd559 in  ()
#8  0x00005555558cf7cc in  ()
#9  0x00005555558cf773 in  ()
#10 0x00005555558cf706 in  ()
#11 0x00005555558cf686 in  ()
#12 0x00005555558cf44e in  ()
#13 0x00005555558cf16b in  ()
#14 0x00005555558496ae in std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const ()
#15 0x0000555555847340 in std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) ()
#16 0x000055555584d71d in void std::__invoke_impl<void, void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) ()
#17 0x000055555584b6d7 in std::__invoke_result<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>::type std::__invoke<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*),--Type <RET> for more, q to quit, c to continue without paging-- c
 std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) ()
#18 0x0000555555849412 in std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#1}::operator()() const ()
#19 0x0000555555849441 in std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::operator()() const ()
#20 0x0000555555849456 in std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::_FUN() ()
#21 0x00007ffff6c32bbf in  () at /usr/lib/libc.so.6
#22 0x0000555555818d56 in  ()
#23 0x0000555555849500 in void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) ()
#24 0x0000555555847113 in std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) ()
#25 0x00005555558cfc99 in  ()
#26 0x0000555555846fd7 in std::__future_base::_State_baseV2::wait() ()
#27 0x000055555584a4f8 in std::__basic_future<void>::wait() const ()
#28 0x00005555558be1a0 in Scintilla::Internal::EditView::LayoutLine(Scintilla::Internal::EditModel const&, Scintilla::Internal::Surface*, Scintilla::Internal::ViewStyle const&, Scintilla::Internal::LineLayout*, int, bool) ()
#29 0x00005555558359de in Scintilla::Internal::Editor::SetAnnotationHeights(long, long) ()
#30 0x00005555558278bf in Scintilla::Internal::Editor::CheckModificationForWrap(Scintilla::Internal::DocModification) ()
#31 0x0000555555828348 in Scintilla::Internal::Editor::NotifyModified(Scintilla::Internal::Document*, Scintilla::Internal::DocModification, void*) ()
#32 0x00005555557e1d3e in Scintilla::Internal::Document::NotifyModified(Scintilla::Internal::DocModification)
    ()
#33 0x00005555557dc289 in Scintilla::Internal::Document::InsertString(long, char const*, long) ()
#34 0x000055555583adce in Scintilla::Internal::Editor::WndProc(Scintilla::Message, unsigned long, long) ()
#35 0x0000555555887c5d in Scintilla::Internal::ScintillaBase::WndProc(Scintilla::Message, unsigned long, long) ()
#36 0x0000555555795953 in Scintilla::Internal::ScintillaGTK::WndProc(Scintilla::Message, unsigned long, long)
    ()
#37 0x000055555579d7c0 in scintilla_send_message ()
#38 0x0000555555716d89 in SS ()
#39 0x000055555570ed88 in  ()
#40 0x000055555570ef99 in  ()
#41 0x00005555557254f2 in  ()
#42 0x00005555557257fc in  ()
#43 0x000055555574eccc in  ()
#44 0x0000555555725a8d in  ()
#45 0x0000555555725b0a in  ()
#46 0x000055555571dcdb in  ()
#47 0x0000555555724408 in  ()
#48 0x00005555557263f2 in  ()
#49 0x000055555571ddbe in lua_pcallk ()
#50 0x0000555555751828 in  ()
#51 0x00005555557254f2 in  ()
#52 0x0000555555725820 in  ()
#53 0x000055555574eccc in  ()
#54 0x0000555555725a8d in  ()
#55 0x0000555555725b0a in  ()
#56 0x000055555571dcdb in  ()
#57 0x0000555555724408 in  ()
#58 0x00005555557263f2 in  ()
#59 0x000055555571ddbe in lua_pcallk ()
#60 0x000055555570de36 in emit ()
#61 0x00005555557181ba in  ()
#62 0x00007ffff72726c0 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#63 0x00007ffff72a0a36 in  () at /usr/lib/libgobject-2.0.so.0
#64 0x00007ffff7291a42 in  () at /usr/lib/libgobject-2.0.so.0
#65 0x00007ffff7291c77 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#66 0x00007ffff7291d34 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#67 0x00007ffff7af72ad in gtk_widget_activate () at /usr/lib/libgtk-3.so.0
#68 0x00007ffff79bb2cd in gtk_menu_shell_activate_item () at /usr/lib/libgtk-3.so.0
#69 0x00007ffff79bb60a in  () at /usr/lib/libgtk-3.so.0
#70 0x00007ffff783d829 in  () at /usr/lib/libgtk-3.so.0
#71 0x00007ffff7291b73 in  () at /usr/lib/libgobject-2.0.so.0
#72 0x00007ffff7291c77 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#73 0x00007ffff7291d34 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#74 0x00007ffff7b0acf5 in  () at /usr/lib/libgtk-3.so.0
#75 0x00007ffff79a4c8b in  () at /usr/lib/libgtk-3.so.0
#76 0x00007ffff79a57b7 in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#77 0x00007ffff76efb77 in  () at /usr/lib/libgdk-3.so.0
#78 0x00007ffff77483e8 in  () at /usr/lib/libgdk-3.so.0
#79 0x00007ffff716bf69 in  () at /usr/lib/libglib-2.0.so.0
#80 0x00007ffff71ca367 in  () at /usr/lib/libglib-2.0.so.0
#81 0x00007ffff716cb97 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#82 0x00007ffff79a32df in gtk_main () at /usr/lib/libgtk-3.so.0
#83 0x000055555571b0b0 in main ()
orbitalquark commented 4 months ago

That is very strange. Textadept 12.3 beta is also using Scintilla 5.4.1. I don't know why this is happening. I've posted to the Scintilla mailing list in the hope of trying to identify what's going wrong.

orbitalquark commented 4 months ago

Some follow up questions from the mailing list:

  1. Is there any additional console output at the time of crash? (e.g. assertion error)
  2. In your ~/.textadept/init.lua set view.layout_threads = 0 and see if the crash still occurs.
  3. Can you paste the output of env in your terminal? Feel free to remove any sensitive information.
amitbha commented 4 months ago
  1. assert error
    # textadept f.desktop 
    Assertion [static_cast<size_t>(i) == text.length()] failed at /home/runner/work/textadept/textadept/build/_deps/scintilla-src/gtk/PlatGTK.cxx 1098
    [1]    1784797 IOT instruction (core dumped)  textadept f.desktop
  2. still occur
  3. env
    SHELL=/usr/bin/zsh
    GDK_DPI_SCALE=0.9
    XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session2
    GTK_IM_MODULE=fcitx
    I3SOCK=/run/user/1000/i3/ipc-socket.1678401
    LC_ADDRESS=zh_CN.UTF-8
    LC_NAME=zh_CN.UTF-8
    XMODIFIERS=@im=fcitx
    DESKTOP_SESSION=i3
    LC_MONETARY=zh_CN.UTF-8
    GTK_MODULES=canberra-gtk-module
    XDG_SEAT=seat0
    PWD=/tmp/download
    LOGNAME=bud
    XDG_SESSION_DESKTOP=i3
    QT_QPA_PLATFORMTHEME=qt5ct
    XDG_SESSION_TYPE=x11
    XAUTHORITY=/home/bud/.Xauthority
    XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/bud
    QT_STYLE_OVERRIDE=kvantum
    MOTD_SHOWN=pam
    GTK2_RC_FILES=/home/bud/.gtkrc-2.0
    HOME=/home/bud
    LC_PAPER=zh_CN.UTF-8
    LANG=zh_CN.UTF-8
    XDG_CURRENT_DESKTOP=i3
    XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
    XDG_SESSION_CLASS=user
    LC_IDENTIFICATION=zh_CN.UTF-8
    USER=bud
    DISPLAY=:0
    SHLVL=1
    LC_TELEPHONE=zh_CN.UTF-8
    QT_IM_MODULE=fcitx
    LC_MEASUREMENT=zh_CN.UTF-8
    XDG_VTNR=7
    XDG_SESSION_ID=8
    XDG_RUNTIME_DIR=/run/user/1000
    DEBUGINFOD_URLS=https://debuginfod.archlinux.org 
    LC_TIME=zh_CN.UTF-8
    QT_AUTO_SCREEN_SCALE_FACTOR=0.5
    GTK3_MODULES=xapp-gtk3-module
    PATH=/home/bud/perl5/bin:/home/bud/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
    GDMSESSION=i3
    DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
    MAIL=/var/spool/mail/bud
    LC_NUMERIC=zh_CN.UTF-8
    _=/usr/bin/env
    COLORFGBG=default;default
    COLORTERM=rxvt-xpm
    TERM=rxvt-unicode-256color
    OLDPWD=/home/bud
    PAGER=less
    PROMPT_EOL_MARK=
    CONDA_CHANGEPS1=no
    _ZL_FZF_FLAG=-e
    _ZL_MATCH_MODE=1
    EDITOR=nvim
    PERL5LIB=/home/bud/perl5/lib/perl5
    PERL_LOCAL_LIB_ROOT=/home/bud/perl5
    PERL_MB_OPT=--install_base "/home/bud/perl5"
    PERL_MM_OPT=INSTALL_BASE=/home/bud/perl5
    VIRTUAL_ENV_DISABLE_PROMPT=1
orbitalquark commented 4 months ago

Thanks. I have disabled the assertion as a workaround suggested on the Scintilla mailing list. https://github.com/orbitalquark/textadept/commit/97c3cdb2e4025a000a59a73f45c3f116c36deb6e will be in the next nightly build. Thanks for your help with this.