pop-os / shell

Pop!_OS Shell
GNU General Public License v3.0
4.84k stars 262 forks source link

Launcher crashes when typing multibyte characters #967

Closed LumenYoung closed 2 years ago

LumenYoung commented 3 years ago

(1) Issue/Bug Description:

The problem is because of the incompatibility of App Launcher with Chinese input method, the launcher crashes every time when you were typing in Chinese input method. This doesn't kill any application except my running virtual machine (Virtual box).

(2) Steps to reproduce (if you know):

  1. install virtualbox and run a virtual machine
  2. toggle to the chinese input method
  3. use shortcuts to open the app launcher (default super+/)
  4. Just type

(3) Expected behavior: Nothing particular, just show the chinese characters await to be selected

(4) Distribution (run cat /etc/os-release): NAME="Pop!_OS" VERSION="20.10" ID=pop ID_LIKE="ubuntu debian" PRETTY_NAME="Pop!_OS 20.10" VERSION_ID="20.10" HOME_URL="https://pop.system76.com" SUPPORT_URL="https://support.system76.com" BUG_REPORT_URL="https://github.com/pop-os/pop/issues" PRIVACY_POLICY_URL="https://system76.com/privacy" VERSION_CODENAME=groovy UBUNTU_CODENAME=groovy LOGO=distributor-logo-pop-os

(5) Gnome Shell version: GNOME Shell 3.38.3

(6) Pop Shell version (run apt policy pop-shell or provide the latest commit if building locally):

pop-shell:
  已安装:1.1.0~1619668471~20.10~a3fa53e
  候选: 1.1.0~1620418263~20.10~9507dc3
  版本列表:
     1.1.0~1620418263~20.10~9507dc3 1001
       1001 http://ppa.launchpad.net/system76/pop/ubuntu groovy/main amd64 Packages
       1001 http://ppa.launchpad.net/system76/pop/ubuntu groovy/main i386 Packages
 *** 1.1.0~1619668471~20.10~a3fa53e 100
        100 /var/lib/dpkg/status

(7) Where was Pop Shell installed from:

Original

(8) Monitor Setup (2 x 1080p, 4K, Primary(Horizontal), Secondary(Vertical), etc):

1080p only one monitor

(9) Other Installed/Enabled Extensions:

Seems has nothing to do with extensions .

(10) Other Notes:

mmstick commented 3 years ago

Was unable to replicate. Do you have some chinese inputs I can use to replicate?

LumenYoung commented 3 years ago

Was unable to replicate. Do you have some chinese inputs I can use to replicate?

Hello, thank you for the reply! The chinese input method I'm using is the IBus libpinyin, which is the default install when you choose chinese input method in pop os. I think maybe its because you used the English input part of this input method. When you're in the input method, the tray icon would display 英(english) or 中(chinese) respectively. In my case the 英 part wouldn't incur this crash.

The switch between this two part is using shift key when you've already in the Chinese input method. For me, the crash happens everytime when I try to type sth in, no matter if my VM is opened.

LumenYoung commented 3 years ago

Was unable to replicate. Do you have some chinese inputs I can use to replicate?

Hello, I made another try to configure about the Chinese input method. I find that maybe we were using the different method. If you want to choose from the pop os keyboard menu, it is called Chinese(intelligent pinyin). I just forgot the existence of other chinese input methods. When you were in intelligent pinyin, then you can reproduce the problem with the steps I mentioned above.

jacobgkau commented 3 years ago

I can recreate this issue by adding the Chinese (Intelligent Pinyin) input method, selecting that input method in the top-right menu, and typing a single character into the Pop Shell launcher.

LumenYoung commented 3 years ago

I can recreate this issue by adding the Chinese (Intelligent Pinyin) input method, selecting that input method in the top-right menu, and typing a single character into the Pop Shell launcher.

Yes, thank you for the attention. I think this crash is quiet annoying for those who have a Intelligent Pinyin in their input method. But I don't have the knowledge to debug this, so hopefully the community can be aware of this issue.

LumenYoung commented 3 years ago

Hello, today I find a new update for this issue. The Chinese (Intelligent Pinyin) is not always causing crash to the Launcher. In some rare case it can work. I accidentally typed in Intelligent Pinyin in Launcher today and it handled well in the first several time, I even thought that this bug has been fixed XD. This seems to indicate that the bug is not the inertial incompatibility of these two software but rather some corrupted mechanism, unfortunately I cannot reproduce the rare case I mentioned, so this is just some additional information which could potentially help to diagnose the problem.

rongcuid commented 3 years ago

I reported https://github.com/pop-os/pop/issues/1771 before finding this issue, having the same problem on 21.04. In addition, this crashes Visual Studio Code, but not other applications I tested.

Now, I found a sequence which allows the Launcher to work once and exactly once for ibus:

  1. Set to English
  2. Open the Applications panel (Super-A)
  3. Close it (Super-A)
  4. Open Launcher (Super-/)
  5. Set to Chinese (Super-Space)
  6. Type something

This allows the launcher to take exactly one word without crashing.

rongcuid commented 3 years ago

As additional information, I used journalctl -f /usr/bin/gnome-shell to capture the log between crashing and restarting:

Jul 03 16:32:49 pop-os gnome-shell[16617]: invalid uninstantiatable type '<invalid>' in cast to 'GObject'
Jul 03 16:32:49 pop-os gnome-shell[16617]: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
Jul 03 16:32:49 pop-os gnome-shell[16617]: invalid uninstantiatable type '<invalid>' in cast to 'GObject'
Jul 03 16:32:49 pop-os gnome-shell[16617]: g_object_set_qdata_full: assertion 'G_IS_OBJECT (object)' failed
Jul 03 16:32:49 pop-os gnome-shell[16617]: cogl_pango_ensure_glyph_cache_for_layout: assertion 'PANGO_IS_LAYOUT (layout)' failed
Jul 03 16:32:49 pop-os gnome-shell[16617]: pango_renderer_draw_layout: assertion 'PANGO_IS_LAYOUT (layout)' failed
Jul 03 16:32:50 pop-os gnome-shell[16617]: invalid uninstantiatable type '(null)' in cast to 'GObject'
Jul 03 16:32:50 pop-os gnome-shell[16617]: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
Jul 03 16:32:50 pop-os gnome-shell[16617]: invalid uninstantiatable type '(null)' in cast to 'GObject'
Jul 03 16:32:50 pop-os gnome-shell[16617]: g_object_set_qdata_full: assertion 'G_IS_OBJECT (object)' failed
Jul 03 16:32:50 pop-os gnome-shell[16617]: cogl_pango_ensure_glyph_cache_for_layout: assertion 'PANGO_IS_LAYOUT (layout)' failed
Jul 03 16:32:50 pop-os gnome-shell[16617]: pango_renderer_draw_layout: assertion 'PANGO_IS_LAYOUT (layout)' failed
Jul 03 16:32:52 pop-os gnome-shell[16780]: Failed to set RT scheduler: Operation not permitted
Jul 03 16:32:52 pop-os gnome-shell[16780]: Skipping parental controls support as it’s disabled
Jul 03 16:32:52 pop-os gnome-shell[16780]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Jul 03 16:32:52 pop-os gnome-shell[16780]: Will monitor session 10
Jul 03 16:32:53 pop-os gnome-shell[16780]: Telepathy is not available, chat integration will be disabled.
Jul 03 16:32:53 pop-os gnome-shell[16780]: Failed to create file /run/user/1001/gnome-shell-disable-extensions: Error opening file “/run/user/1001/gnome-shell-disable-extensions”: File exists
Jul 03 16:32:53 pop-os gnome-shell[16780]: Failed to import DBusMenu, quicklists are not avaialble: Error: Requiring Dbusmenu, version none: Typelib file for namespace 'Dbusmenu' (any version) not found
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin at /usr/lib/pop-shell/launcher//calc/meta.json
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin: Calculator
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin at /usr/lib/pop-shell/launcher//files/meta.json
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin: File Navigation
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin at /usr/lib/pop-shell/launcher//terminal/meta.json
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin: Terminal Commands
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin at /usr/lib/pop-shell/launcher//pulse/meta.json
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin: PulseAudio Volume Control
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin at /usr/lib/pop-shell/launcher//web/meta.json
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin: Web Search
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin at /usr/lib/pop-shell/launcher//recent/meta.json
Jul 03 16:32:53 pop-os gnome-shell[16780]: found plugin: Recent Documents
Jul 03 16:32:53 pop-os gnome-shell[16780]: gnome-shell-extension-system76-power: failed to detect graphics switching: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.414" (uid=1001 pid=16780 comm="/usr/bin/gnome-shell " label="unconfined") interface="com.system76.PowerDaemon" member="GetSwitchable" error name="(unset)" requested_reply="0" destination=":1.12" (uid=0 pid=1026 comm="/usr/bin/system76-power daemon " label="unconfined")
Jul 03 16:32:53 pop-os gnome-shell[16780]: JS ERROR: Extension system76-power@system76.com: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.414" (uid=1001 pid=16780 comm="/usr/bin/gnome-shell " label="unconfined") interface="com.system76.PowerDaemon" member="GetProfile" error name="(unset)" requested_reply="0" destination=":1.12" (uid=0 pid=1026 comm="/usr/bin/system76-power daemon " label="unconfined")
                                           _proxyInvoker@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:122:46
                                           _makeProxyMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:147:30
                                           Ext@/usr/share/gnome-shell/extensions/system76-power@system76.com/extension.js:201:50
                                           enable@/usr/share/gnome-shell/extensions/system76-power@system76.com/extension.js:71:15
                                           _callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:168:32
                                           loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:351:26
                                           _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:597:18
                                           collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:28
                                           _loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:572:19
                                           _enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:606:18
                                           _sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:637:18
                                           init@resource:///org/gnome/shell/ui/extensionSystem.js:57:14
                                           _initializeUI@resource:///org/gnome/shell/ui/main.js:272:22
                                           start@resource:///org/gnome/shell/ui/main.js:162:5
                                           @<main>:1:47
Jul 03 16:32:53 pop-os gnome-shell[16780]: Some code accessed the property 'ext' on the module 'extension'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Jul 03 16:32:53 pop-os gnome-shell[16780]: JS ERROR: Could not load extension ubuntu-dock@ubuntu.com: Error: Missing metadata.json
                                           createExtensionObject@resource:///org/gnome/shell/ui/extensionSystem.js:284:19
                                           _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:592:34
                                           collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:28
                                           _loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:572:19
                                           _enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:606:18
                                           _sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:637:18
                                           init@resource:///org/gnome/shell/ui/extensionSystem.js:57:14
                                           _initializeUI@resource:///org/gnome/shell/ui/main.js:272:22
                                           start@resource:///org/gnome/shell/ui/main.js:162:5
                                           @<main>:1:47
Jul 03 16:32:53 pop-os gnome-shell[16780]: Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
Jul 03 16:32:54 pop-os gnome-shell[16780]: GNOME Shell started at Sat Jul 03 2021 16:32:53 GMT-0400 (EDT)
Jul 03 16:32:54 pop-os gnome-shell[16780]: JS ERROR: TypeError: method Gio.File.delete_async: At least 3 arguments required, but only 2 passed
                                           _handleLockScreenWarning@resource:///org/gnome/shell/ui/main.js:323:24
                                           _initializeUI/<@resource:///org/gnome/shell/ui/main.js:303:13
                                           _startupAnimationComplete@resource:///org/gnome/shell/ui/layout.js:733:14
                                           onComplete@resource:///org/gnome/shell/ui/layout.js:711:36
                                           _makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:85:13
                                           _easeActor/<@resource:///org/gnome/shell/ui/environment.js:168:64
Jul 03 16:32:54 pop-os gnome-shell[16780]: Registering session with GDM

In these lines, the following shows no matter whether the launcher successfully takes input or not:

Jul 03 16:35:11 pop-os gnome-shell[16780]: invalid uninstantiatable type '<invalid>' in cast to 'GObject'
Jul 03 16:35:11 pop-os gnome-shell[16780]: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
Jul 03 16:35:11 pop-os gnome-shell[16780]: invalid uninstantiatable type '<invalid>' in cast to 'GObject'
Jul 03 16:35:11 pop-os gnome-shell[16780]: g_object_set_qdata_full: assertion 'G_IS_OBJECT (object)' failed
Jul 03 16:35:11 pop-os gnome-shell[16780]: cogl_pango_ensure_glyph_cache_for_layout: assertion 'PANGO_IS_LAYOUT (layout)' failed
Jul 03 16:35:11 pop-os gnome-shell[16780]: pango_renderer_draw_layout: assertion 'PANGO_IS_LAYOUT (layout)' failed

Right before the crash, this line is shown:

asfJul 03 16:36:13 pop-os gnome-shell[17019]: Failed to set RT scheduler: Operation not permitted

I am not sure what this RT scheduler is, but this might be the cause. The "asf" is my input "going through" the launcher before it crashes.


Now, a system-wide log shows the following:

Jul 03 16:50:27 pop-os gnome-shell[18274]: pango_context_get_font_map: assertion 'PANGO_IS_CONTEXT (context)' failed
Jul 03 16:50:27 pop-os gnome-shell[18274]: cogl_pango_get_renderer_from_context: assertion 'COGL_PANGO_IS_FONT_MAP (font_map)' failed
Jul 03 16:50:28 pop-os gnome-shell[18274]: Some code accessed the property 'discreteGpuAvailable' on the module 'appDisplay'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Jul 03 16:50:39 pop-os gnome-shell[18274]: **
Jul 03 16:50:39 pop-os gnome-shell[18274]: Pango:ERROR:../pango/pango-context.c:1441:itemize_state_process_run: assertion failed: (state->run_end != state->run_start)
Jul 03 16:50:39 pop-os gnome-shell[18274]: Bail out! Pango:ERROR:../pango/pango-context.c:1441:itemize_state_process_run: assertion failed: (state->run_end != state->run_start)
Jul 03 16:50:39 pop-os main.js[18430]: JS ERROR: Error: Error invoking toString, at argument 0 (byteArray): Not an object
                                       main@/usr/lib/pop-shell/launcher//pulse/main.js:156:39
                                       @/usr/lib/pop-shell/launcher//pulse/main.js:242:1
Jul 03 16:50:39 pop-os main.js[18430]: Script /usr/lib/pop-shell/launcher//pulse/main.js threw an exception
Jul 03 16:50:39 pop-os systemd[1999]: org.gnome.Shell@x11.service: Main process exited, code=dumped, status=6/ABRT
Jul 03 16:50:39 pop-os systemd[1999]: org.gnome.Shell@x11.service: Failed with result 'core-dump'.
Jul 03 16:50:39 pop-os systemd[1999]: org.gnome.Shell@x11.service: Scheduled restart job, restart counter is at 16.
Jul 03 16:50:39 pop-os systemd[1999]: Stopped GNOME Shell on X11.
Jul 03 16:50:39 pop-os systemd[1999]: Starting GNOME Shell on X11...

This probably shows the correct backtrace.

tranphuoctien commented 3 years ago

Vietnamese crash too. Can not add more input.

rongcuid commented 3 years ago

I did some quick testing. I think the exception from pulse/main is not the cause, but the symptom. I moved the parse statement inside try block and GNOME still crashes. From the error message it looks like Pango got some bad inputs.

This is probably as much as I can test. The devs will need to take care of the rest.

kaz6120 commented 3 years ago

Still can't solve multibyte crashes. 1) Set input method to Japanese Hiragana, (or any other multibyte IM) 2) Hit "Super" to launcher. 3) Type something in multibyte (Japanese here). 4) Hit Enter or any other keys, it crashes.

here's the error log as a reference, just in case.

Jul 10 08:01:29 pop-os gnome-shell[23010]: Some code accessed the property 'ext' on the module 'extension'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway. Jul 10 08:01:33 pop-os gnome-shell[23322]: Failed to set RT scheduler: Operation not permitted Jul 10 08:01:33 pop-os gnome-shell[23322]: Enabling experimental feature 'x11-randr-fractional-scaling' Jul 10 08:01:34 pop-os gnome-shell[23322]: Skipping parental controls support as it’s disabled Jul 10 08:01:34 pop-os gnome-shell[23322]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly. Jul 10 08:01:34 pop-os gnome-shell[23322]: Will monitor session 6 Jul 10 08:01:34 pop-os gnome-shell[23322]: Telepathy is not available, chat integration will be disabled. Jul 10 08:01:34 pop-os gnome-shell[23322]: JS ERROR: Extension freon@Veske: SyntaxError: missing ( after for @ /home/histone/.local/share/gnome-shell/extensions/freon@Veske/extension.js:58 Jul 10 08:01:34 pop-os gnome-shell[23322]: loading user theme: /usr/share/themes/Pop-dark/gnome-shell/gnome-shell.css Jul 10 08:01:34 pop-os gnome-shell[23322]: Failed to import DBusMenu, quicklists are not avaialble: Error: Requiring Dbusmenu, version none: Typelib file for namespace 'Dbusmenu' (any version) not found Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin at /usr/lib/pop-shell/launcher//calc/meta.json Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin: Calculator Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin at /usr/lib/pop-shell/launcher//files/meta.json Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin: File Navigation Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin at /usr/lib/pop-shell/launcher//pulse/meta.json Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin: PulseAudio Volume Control Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin at /usr/lib/pop-shell/launcher//recent/meta.json Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin: Recent Documents Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin at /usr/lib/pop-shell/launcher//terminal/meta.json Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin: Terminal Commands Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin at /usr/lib/pop-shell/launcher//web/meta.json Jul 10 08:01:34 pop-os gnome-shell[23322]: found plugin: Web Search Jul 10 08:01:34 pop-os gnome-shell[23322]: gnome-shell-extension-system76-power: power profile was set: 'Balanced' Jul 10 08:01:34 pop-os gnome-shell[23322]: Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation Jul 10 08:01:35 pop-os gnome-shell[23322]: Window manager warning: Overwriting existing binding of keysym 6f with keysym 6f (keycode 20). Jul 10 08:01:35 pop-os gnome-shell[23322]: Bogus presentation time 0 travelled back in time, using current time. Jul 10 08:01:35 pop-os gnome-shell[23322]: GNOME Shell started at Sat Jul 10 2021 08:01:34 GMT+0900 (JST) Jul 10 08:01:35 pop-os gnome-shell[23322]: JS ERROR: TypeError: method Gio.File.delete_async: At least 3 arguments required, but only 2 passed _handleLockScreenWarning@resource:///org/gnome/shell/ui/main.js:323:24 _initializeUI/<@resource:///org/gnome/shell/ui/main.js:303:13 _startupAnimationComplete@resource:///org/gnome/shell/ui/layout.js:733:14 onComplete@resource:///org/gnome/shell/ui/layout.js:711:36 _makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:85:13 _easeActor/<@resource:///org/gnome/shell/ui/environment.js:168:64 Jul 10 08:01:35 pop-os gnome-shell[23322]: Registering session with GDM

tmvkrpxl0 commented 3 years ago

I have this exact problem on Korean. I used both ibus and fcitx5. Both of them crash when I type korean in search box Weird thing is, This only happens when first character I write is korean. If it's not first character, this issue does not happen In some rare cases, writing korean as first character works. but retrying that right after results crash

kaz6120 commented 3 years ago

It has getting better, but still unstable. Start typing in multibyte (Japanese), It doesn't crash now. It stays. but while holding the text window of the lanucher, change the IM to English and start typing, it crashes and restarts.

wlinna commented 3 years ago

For me it crashes when I input Chinese characters, but not when I input Russian characters or Finnish characters (äåö).

It seems that characters of one or two byte can't crash the system alone, but triple-byte characters can.

Whenever the crash occurs, it also takes down most of the other applications with it, such as Firefox, Anki etc. I've lost some work because of this bug.

rongcuid commented 3 years ago

Is there any update? The launcher still crashes I start typing ibus on an empty textfield. If anything else is already in text field, launcher does not crash. It is especially unstable when VSCode is on foreground, and whenever launcher crashes, it brings VSCode with it.

kaz6120 commented 3 years ago

I’m using 21.04 with latest updates, and yes it still crashes when I try to type on an empty field and shell reboots. After shell rebooted, input method automatically set to English, then I can type with it. text field doesn’t accept multi-byte text yet.

rongcuid commented 3 years ago

I managed to generate some stack traces using https://wiki.gnome.org/GettingInTouch/Bugzilla/GettingTraces/Details#gdb-already-running-gnome-shell. However, I am unable to install debug symbols because the Pop OS repo causes version conflict.

GDB stack trace:

Thread 1 "gnome-shell" received signal SIGSEGV, Segmentation fault.
__strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
65  ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory.
#0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
#1  0x00007f2cdf0ef9d8 in g_strdup () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2cdd55839a in pango_font_description_copy () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#3  0x00007f2cdd55cda2 in pango_attr_font_desc_new () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#4  0x00007f2cdd565f49 in  () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#5  0x00007f2cdd56a3da in  () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#6  0x00007f2cdd56c5e9 in  () at /lib/x86_64-linux-gnu/libpango-1.0.so.0
#7  0x00007f2cde6fcd50 in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#8  0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#9  0x00007f2cde6da763 in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#10 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#11 0x00007f2cde695beb in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#12 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#13 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#14 0x00007f2cde207b8b in  () at /usr/lib/gnome-shell/libst-1.0.so
#15 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#16 0x00007f2cde6da763 in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#17 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#18 0x00007f2cde207b8b in  () at /usr/lib/gnome-shell/libst-1.0.so
#19 0x00007f2cde6dd81c in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#20 0x00007f2cde695d37 in clutter_actor_continue_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#21 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#22 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#23 0x00007f2cde695beb in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#24 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#25 0x00007f2cde6da763 in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#26 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#27 0x00007f2cde695beb in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#28 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#29 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#30 0x00007f2cde695beb in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#31 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#32 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#33 0x00007f2cde695beb in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#34 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#35 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#36 0x00007f2cde695beb in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#37 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#38 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#39 0x00007f2cde695beb in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#40 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#41 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#42 0x00007f2cde695beb in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#43 0x00007f2cde4badd2 in  () at /lib/x86_64-linux-gnu/libmutter-7.so.0
#44 0x00007f2cde6da74a in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#45 0x00007f2cde6da763 in clutter_paint_node_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#46 0x00007f2cde69503d in clutter_actor_paint () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#47 0x00007f2cde6eec0d in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#48 0x00007f2cde4baf2e in  () at /lib/x86_64-linux-gnu/libmutter-7.so.0
#49 0x00007f2cde715caa in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#50 0x00007f2cde70e054 in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#51 0x00007f2cde6f1736 in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#52 0x00007f2cde6c26a3 in  () at /usr/lib/x86_64-linux-gnu/mutter-7/libmutter-clutter-7.so.0
#53 0x00007f2cdf0d28eb in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007f2cdf125d28 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007f2cdf0d1e53 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007f2cde501a3a in meta_run () at /lib/x86_64-linux-gnu/libmutter-7.so.0
#57 0x00005584d8be4de1 in  ()
#58 0x00007f2cde279565 in __libc_start_main (main=0x5584d8be4970, argc=1, argv=0x7ffce7627628, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffce7627618) at ../csu/libc-start.c:332
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {94029060397376, -399068549068197989, 94029060394928, 0, 0, 0, 400811021813575579, 301605986407706523}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x1, 0x7ffce7627628}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1}}}
        not_first_call = <optimized out>
#59 0x00005584d8be4fde in  ()

GJS stack trace yields nothing new:

Registering session with GDM
invalid uninstantiatable type '<invalid>' in cast to 'GObject'
g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
invalid uninstantiatable type '<invalid>' in cast to 'GObject'
g_object_set_qdata_full: assertion 'G_IS_OBJECT (object)' failed
cogl_pango_ensure_glyph_cache_for_layout: assertion 'PANGO_IS_LAYOUT (layout)' failed
pango_renderer_draw_layout: assertion 'PANGO_IS_LAYOUT (layout)' failed
== Stack trace for context 0x5584d9656180 ==
Failed to set RT scheduler: Operation not permitted
Skipping parental controls support as it’s disabled
Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Will monitor session 2
Telepathy is not available, chat integration will be disabled.
Failed to import DBusMenu, quicklists are not avaialble: Error: Requiring Dbusmenu, version none: Typelib file for namespace 'Dbusmenu' (any version) not found
gnome-shell-extension-system76-power: failed to detect graphics switching: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.703" (uid=1001 pid=148240 comm="/usr/bin/gnome-shell " label="unconfined") interface="com.system76.PowerDaemon" member="GetSwitchable" error name="(unset)" requested_reply="0" destination=":1.4" (uid=0 pid=1035 comm="/usr/bin/system76-power daemon " label="unconfined")
JS ERROR: Extension system76-power@system76.com: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.703" (uid=1001 pid=148240 comm="/usr/bin/gnome-shell " label="unconfined") interface="com.system76.PowerDaemon" member="GetProfile" error name="(unset)" requested_reply="0" destination=":1.4" (uid=0 pid=1035 comm="/usr/bin/system76-power daemon " label="unconfined")
_proxyInvoker@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:122:46
_makeProxyMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:147:30
Ext@/usr/share/gnome-shell/extensions/system76-power@system76.com/extension.js:201:50
enable@/usr/share/gnome-shell/extensions/system76-power@system76.com/extension.js:71:15
_callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:168:32
loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:351:26
_loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:597:18
collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:28
_loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:572:19
_enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:606:18
_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:637:18
init@resource:///org/gnome/shell/ui/extensionSystem.js:57:14
_initializeUI@resource:///org/gnome/shell/ui/main.js:272:22
start@resource:///org/gnome/shell/ui/main.js:162:5
@<main>:1:47

Some code accessed the property 'ext' on the module 'extension'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
JS ERROR: Could not load extension ubuntu-dock@ubuntu.com: Error: Missing metadata.json
createExtensionObject@resource:///org/gnome/shell/ui/extensionSystem.js:284:19
_loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:592:34
collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:28
_loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:572:19
_enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:606:18
_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:637:18
init@resource:///org/gnome/shell/ui/extensionSystem.js:57:14
_initializeUI@resource:///org/gnome/shell/ui/main.js:272:22
start@resource:///org/gnome/shell/ui/main.js:162:5
@<main>:1:47

meta_sound_player_play_from_theme: assertion 'META_IS_SOUND_PLAYER (player)' failed
Window manager warning: META_CURRENT_TIME used to choose focus window; focus window may not be correct.
Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
Window manager warning: Overwriting existing binding of keysym 6f with keysym 6f (keycode 20).
GNOME Shell started at Thu Sep 02 2021 09:16:10 GMT-0400 (EDT)
JS ERROR: TypeError: method Gio.File.delete_async: At least 3 arguments required, but only 2 passed
_handleLockScreenWarning@resource:///org/gnome/shell/ui/main.js:323:24
_initializeUI/<@resource:///org/gnome/shell/ui/main.js:303:13
_startupAnimationComplete@resource:///org/gnome/shell/ui/layout.js:733:14
onComplete@resource:///org/gnome/shell/ui/layout.js:711:36
_makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:85:13
_easeActor/<@resource:///org/gnome/shell/ui/environment.js:168:64
rongcuid commented 3 years ago

I managed to compile debs with debugging symbols to obtain the following trace. In addition, I have used logging to determine that the crash happens after Launcher::select, but does not seem to be related with anything in Launcher or Search class. I suspect there is something related to the underlying GJs/St/Clutter/Pango, or something, but I can't figure out why.

Thread 1 "gnome-shell" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
        set = {__val = {0, 94406583228080, 139980361612288, 94406546413968, 2048, 80, 0, 139980360263592, 32, 343597383809, 4, 0, 0, 511101108348, 408021893230, 139980376777920}}
        pid = <optimized out>
        tid = <optimized out>
#1  0x00007f4fb79f1864 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x7ffec787ea70, sa_sigaction = 0x7ffec787ea70}, sa_mask = {__val = {0, 0, 13445000155802421760, 94406605301632, 18446744073709551496, 0, 94406546413968, 0, 0, 0, 139980360263592, 4294967297, 140732245994048, 140728898420736, 94406546418544, 140732245994080}}, sa_flags = -1198289841, sa_restorer = 0x55dcbca9eb70 <__libc_csu_init>}
        sigs = {__val = {32, 94406546413968, 0, 0, 0, 139980360263592, 140732245993904, 139980375999328, 94406583228096, 94406546418544, 140732245993904, 139980375821391, 528280977408, 94406583228096, 140732245994080, 139980375975136}}
#2  0x00007f4fb896257d in g_assertion_message (domain=0x7f4fb6cb6cff "Pango", file=0x7f4fb6cb71d1 "../pango/pango-context.c", line=1441, func=0x7f4fb6cbd410 <__func__.4.lto_priv.6> "itemize_state_process_run", message=0x55dcbedb9680 "assertion failed: (state->run_end != state->run_start)") at ../../../glib/gtestutils.c:3065
        lstr = "1441\000\177\000\000\257\016ɶO\177\000\000\360\352\207\307\376\177\000\000\060\242\244\276\334U\000"
        s = 0x55dcc02c6780 "\206\307\020\343\331U"
#3  0x00007f4fb8962602 in g_assertion_message_expr (domain=0x7f4fb6cb6cff "Pango", file=0x7f4fb6cb71d1 "../pango/pango-context.c", line=1441, func=0x7f4fb6cbd410 <__func__.4.lto_priv.6> "itemize_state_process_run", expr=0x7f4fb6cb8030 "state->run_end != state->run_start") at ../../../glib/gtestutils.c:3091
        s = 0x55dcbedb9680 "assertion failed: (state->run_end != state->run_start)"
#4  0x00007f4fb6c9269c in itemize_state_process_run (state=0x7ffec787ebd0) at ../pango/pango-context.c:1441
        p = 0x7ffec787eb90 "@\361\207\307\376\177"
        last_was_forced_break = 0
        __func__ = "itemize_state_process_run"
#5  0x00007f4fb6c92bb6 in pango_itemize_with_base_dir (context=0x55dcc053b240, base_dir=PANGO_DIRECTION_LTR, text=0x55dcbe332ae0 "ca", start_index=0, length=3, attrs=0x55dcc4a56810, cached_iter=0x7ffec787f1d0) at ../pango/pango-context.c:1582
        state = {context = 0x55dcc053b240, text = 0x55dcbe332ae0 "ca", end = 0x55dcbe332ae3 "\343\331U", run_start = 0x55dcbe332ae1 "a", run_end = 0x55dcbe332ae1 "a", result = 0x55dcbdf75880 = {0x55dcbe1a3680}, item = 0x0, embedding_levels = 0x55dcc3c366a0 "", embedding_end_offset = 2, embedding_end = 0x55dcbe332ae2 "", embedding = 167 '\247', gravity = PANGO_GRAVITY_AUTO, gravity_hint = PANGO_GRAVITY_HINT_NATURAL, resolved_gravity = PANGO_GRAVITY_SOUTH, font_desc_gravity = PANGO_GRAVITY_AUTO, centered_baseline = 0, attr_iter = 0x7ffec787f1d0, free_attr_iter = 0, attr_end = 0x55dcbe332ae3 "\343\331U", font_desc = 0x7f4fa82df550, emoji_font_desc = 0x0, lang = 0x55dcbea46448, extra_attrs = 0x0, copy_extra_attrs = 1, changed = (EMBEDDING_CHANGED | FONT_CHANGED | EMOJI_CHANGED), script_iter = {text_start = 0x55dcbe332ae0 "ca", text_end = 0x55dcbe332ae3 "\343\331U", script_start = 0x55dcbe332ae0 "ca", script_end = 0x55dcbe332ae4 "\331U", script_code = PANGO_SCRIPT_COMMON, paren_stack = {{pair_index = 32766, script_code = -947393360}, {pair_index = 32766, script_code = 866961920}, {pair_index = -1164559256, script_code = -1119265488}, {pair_index = 2, script_code = -1066448656}, {pair_index = 21980, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 3, script_code = -1110388240}, {pair_index = 21980, script_code = PANGO_SCRIPT_INHERITED}, {pair_index = 0, script_code = -947392904}, {pair_index = 32766, script_code = -947393264}, {pair_index = 32766, script_code = -1066448656}, {pair_index = 21980, script_code = PANGO_SCRIPT_HAN}, {pair_index = 2147483647, script_code = -1476374000}, {pair_index = 32591, script_code = -1103317456}, {pair_index = 21980, script_code = -1109638304}, {pair_index = 21980, script_code = 124756}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = -947393184}, {pair_index = 32766, script_code = PANGO_SCRIPT_HANGUL}, {pair_index = 2147483647, script_code = -1476374000}, {pair_index = 32591, script_code = -947393296}, {pair_index = 32766, script_code = -1109638304}, {pair_index = 21980, script_code = 122100}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = -1066441728}, {pair_index = 21980, script_code = -1112767728}, {pair_index = 21980, script_code = -947392112}, {pair_index = 32766, script_code = -947392112}, {pair_index = 2, script_code = -1093627088}, {pair_index = 21980, script_code = -947393040}, {pair_index = 3, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = -1098697600}, {pair_index = 21980, script_code = -947392112}, {pair_index = 32766, script_code = -947392112}, {pair_index = 32766, script_code = -1112767728}, {pair_index = 21980, script_code = -1112508976}, {pair_index = 21980, script_code = -1093627088}, {pair_index = 21980, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 8, script_code = 866961920}, {pair_index = -1164559256, script_code = -947392992}, {pair_index = 32766, script_code = -1198491659}, {pair_index = 32591, script_code = -947392112}, {pair_index = 3, script_code = -1093627088}, {pair_index = 21980, script_code = -947392880}, {pair_index = 32766, script_code = -1198487805}, {pair_index = 32591, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = -1112508872}, {pair_index = 21980, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = PANGO_SCRIPT_INHERITED}, {pair_index = 2591, script_code = -1468864208}, {pair_index = 32591, script_code = -1093616360}, {pair_index = 21980, script_code = -947392752}, {pair_index = 32766, script_code = -947392752}, {pair_index = 32766, script_code = -1093616360}, {pair_index = 21980, script_code = -947392800}, {pair_index = 32766, script_code = -1197137026}, {pair_index = 32591, script_code = 2591}, {pair_index = 0, script_code = -947392752}, {pair_index = 32766, script_code = -1196912592}, {pair_index = 32591, script_code = -1093616368}, {pair_index = 21980, script_code = -947392800}, {pair_index = 1, script_code = PANGO_SCRIPT_INHERITED}, {pair_index = 1, script_code = PANGO_SCRIPT_RUNIC}, {pair_index = 0, script_code = -1093616360}, {pair_index = 21980, script_code = -1197135423}, {pair_index = 32591, script_code = -1093616360}, {pair_index = 21980, script_code = -947392704}, {pair_index = 32766, script_code = -1197134955}, {pair_index = 32591, script_code = -1093627104}, {pair_index = 21980, script_code = -1093627104}, {pair_index = 414, script_code = -947392704}, {pair_index = 32766, script_code = -1093616368}, {pair_index = 21980, script_code = 414}, {pair_index = 21980, script_code = -1196911864}, {pair_index = 32591, script_code = -947392704}, {pair_index = 1, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 1, script_code = -1196911864}, {pair_index = 32591, script_code = 866961920}, {pair_index = -1164559256, script_code = -947392144}, {pair_index = 32766, script_code = -1197333312}, {pair_index = 32591, script_code = -1119459808}, {pair_index = 21980, script_code = -1197333312}, {pair_index = 32591, script_code = -1119459808}, {pair_index = 21980, script_code = -1119459808}, {pair_index = 21980, script_code = -1197333312}, {pair_index = 32591, script_code = -1119367744}, {pair_index = 21980, script_code = -947392608}, {pair_index = 32766, script_code = -1110402400}, {pair_index = 21980, script_code = -947392576}, {pair_index = 32766, script_code = -1198172862}, {pair_index = 32591, script_code = -947392576}, {pair_index = 1, script_code = -1119367776}, {pair_index = 21980, script_code = -1119367744}, {pair_index = 21980, script_code = -1110402400}, {pair_index = 21980, script_code = -947392512}, {pair_index = 32766, script_code = -1198172545}, {pair_index = 32591, script_code = PANGO_SCRIPT_INHERITED}, {pair_index = 1, script_code = PANGO_SCRIPT_LAO}, {pair_index = 0, script_code = PANGO_SCRIPT_INHERITED}, {pair_index = 1, script_code = -1110402400}, {pair_index = 21980, script_code = -1228077856}, {pair_index = 32591, script_code = -1197333312}, {pair_index = 32591, script_code = -1119459808}, {pair_index = 21980, script_code = -1197333312}, {pair_index = 32591, script_code = -1119459808}, {pair_index = 21980, script_code = -1119459808}, {pair_index = 21980, script_code = -1197333312}, {pair_index = 32591, script_code = -1119367744}, {pair_index = 21980, script_code = -947392432}, {pair_index = 32766, script_code = -1129714832}, {pair_index = 21980, script_code = -947392368}, {pair_index = 32766, script_code = -1129719408}, {pair_index = 21980, script_code = -1129714832}, {pair_index = 21980, script_code = -947392368}, {pair_index = 32766, script_code = -1129719408}, {pair_index = 21980, script_code = -1198289951}, {pair_index = 32591, script_code = 128}, {pair_index = 0, script_code = PANGO_SCRIPT_COMMON}, {pair_index = 0, script_code = 128}, {pair_index = 0, script_code = -1073204416}, {pair_index = 21980, script_code = -947392320}, {pair_index = 32766, script_code = -1198588958}}, paren_sp = -1}, script_end = 0x55dcbe332ae4 "\331U", script = PANGO_SCRIPT_COMMON, width_iter = {text_start = 0x55dcbe332ae0 "ca", text_end = 0x55dcbe332ae3 "\343\331U", start = 0x55dcbe332ae0 "ca", end = 0x55dcbe332ae4 "\331U", upright = 0}, emoji_iter = {text_start = 0x55dcbe332ae0 "ca", text_end = 0x55dcbe332ae3 "\343\331U", start = 0x55dcbe332ae1 "a", end = 0x55dcbe332ae1 "a", is_emoji = 0, types = 0x55dcc0e3ceb0 "\020\207\061\342\331U", n_chars = 1, cursor = 1}, derived_lang = 0x55dcbea46448, current_fonts = 0x55dcbea4a230, cache = 0x55dcbea47a00, base_font = 0x0, enable_fallback = 1}
        __func__ = "pango_itemize_with_base_dir"
#6  0x00007f4fb6ca19b9 in pango_layout_check_lines (layout=0x55dcc1272480) at ../pango/pango-layout.c:4367
        delim_len = 0
        end = 0x55dcbe332ae3 "\343\331U"
        delimiter_index = 3
        next_para_index = 3
        start = 0x55dcbe332ae0 "ca"
        done = 1
        start_offset = 0
        attrs = 0x55dcc077a630
        itemize_attrs = 0x55dcc4a56810
        shape_attrs = 0x55dcbf5946b0
        iter = {attrs = 0x55dcc0d9cac0, n_attrs = 2, attribute_stack = 0x55dcbdd06760, attr_index = 2, start_index = 0, end_index = 4294967295}
        prev_base_dir = PANGO_DIRECTION_LTR
        base_dir = PANGO_DIRECTION_LTR
        state = {line_height = -1, remaining_height = -1, attrs = 0x55dcc4a56810, items = 0x55dcbe248a80 = {0x3}, base_dir = 3190062848, line_of_par = 21980, glyphs = 0x7ffec787f260, start_offset = -1209011003, properties = {uline_single = 0, uline_double = 0, uline_low = 0, uline_error = 0, strikethrough = 1, oline_single = 0, rise = 21980, letter_spacing = -1093627104, shape_set = 21980, shape_ink_rect = 0x7ffec787f280, shape_logical_rect = 0x1b7efe94e}, log_widths = 0x55dcbed09320, log_widths_offset = -1093627104, need_hyphen = 0x7ffec787f280, line_start_index = -1209007559, line_start_offset = 32591, line_width = -947391776, remaining_width = 32766, hyphen_width = -1093627104}
        __func__ = "pango_layout_check_lines"
#7  0x00007f4fb6c9e912 in pango_layout_get_extents_internal (layout=0x55dcc1272480, ink_rect=0x0, logical_rect=0x7ffec787f410, line_extents=0x0) at ../pango/pango-layout.c:2684
        line_list = Python Exception <class 'gdb.MemoryError'> Cannot access memory at address 0x43e6800044268000: 
#8  0x00007f4fb6c9ee55 in pango_layout_get_extents (layout=0x55dcc1272480, ink_rect=0x0, logical_rect=0x7ffec787f410) at ../pango/pango-layout.c:2878
        __func__ = "pango_layout_get_extents"
#9  0x00007f4fb7f3d8a4 in clutter_text_paint (self=0x55dcc06f4fd0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-text.c:2677
        logical_rect = {x = 0, y = 0, width = 0, height = 0}
        actor_width = -1119265488
        text_width = 21980
        rtl = -1112781376
        text = 0x55dcc06f4fd0
        priv = 0x55dcc06f4af0
        fb = 0x55dcbfd90920
        layout = 0x55dcc1272480
        alloc = {x1 = 9, y1 = 9, x2 = 631, y2 = 32}
        color = {private_member_red = 0 '\000', private_member_green = 0 '\000', private_member_blue = 0 '\000', private_member_alpha = 0 '\000', private_member_padding0 = 0, private_member_padding1 = 0, private_member_padding2 = 0}
        real_opacity = 192 '\300'
        text_x = 2
        text_y = 0
        clip_set = 0
        bg_color_set = 0
        n_chars = 0
        alloc_width = 622
        alloc_height = 23
        resource_scale = 1
        __func__ = "clutter_text_paint"
#10 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcc06f4fd0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x7f4fa81ce240
        priv = 0x55dcc06f4c90
        __func__ = "clutter_actor_continue_paint"
#11 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcc10368a0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcc10368a0
#12 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcc10368a0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcbee2da10
        res = 1
#13 0x00007f4fb7f15586 in clutter_paint_node_paint (node=0x55dcbee63870, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:991
        klass = 0x55dcc04a8040
        iter = 0x55dcc10368a0
        res = 1
#14 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcc06f4fd0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcc10368a0
        root_node = 0x55dcbee63870
        priv = 0x55dcc06f4c90
        clip = {x1 = -69611.875, y1 = 4.59149455e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#15 0x00007f4fb7eae963 in clutter_actor_real_paint (actor=0x55dcc06f48e0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55dcc06f45a0
        iter = 0x55dcc06f4fd0
#16 0x00007f4fb7947e56 in st_entry_paint (actor=0x55dcc06f48e0, paint_context=0x55dcbee2da10) at ../src/st/st-entry.c:836
        priv = 0x55dcc06f4430
        theme_node = 0x55dcbe1c5450
        shadow_spec = 0x0
        parent_class = 0x55dcbd521bd0
#17 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcc06f48e0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc18fe580
        priv = 0x55dcc06f45a0
        __func__ = "clutter_actor_continue_paint"
#18 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcbf9bc370, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcbf9bc370
#19 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcbf9bc370, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcc06f45a0
        res = 1
#20 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcc06f48e0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcbf9bc370
        root_node = 0x55dcbf9bc370
        priv = 0x55dcc06f45a0
        clip = {x1 = -3.73587418, y1 = 640, x2 = 8.04611773e-08, y2 = -0.00114620943}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#21 0x00007f4fb7974021 in st_viewport_paint (actor=0x55dcc06f1bd0, paint_context=0x55dcbee2da10) at ../src/st/st-viewport.c:424
        viewport = 0x55dcc06f1bd0
        priv = 0x55dcc06f1750
        theme_node = 0x55dcc5b51b80
        x = 0
        y = 0
        allocation_box = {x1 = 41, y1 = 33, x2 = 681, y2 = 167}
        content_box = {x1 = 0, y1 = 0, x2 = 640, y2 = 134}
        child = 0x55dcc06f48e0
        fb = 0x55dcbfd90920
#22 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcc06f1bd0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc12428c0
        priv = 0x55dcc06f1890
        __func__ = "clutter_actor_continue_paint"
#23 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcbee68a80, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcbee68a80
#24 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcbee68a80, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcbee2da10
        res = 1
#25 0x00007f4fb7f15586 in clutter_paint_node_paint (node=0x55dcbdecc440, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:991
        klass = 0x55dcc04a8040
        iter = 0x55dcbee68a80
        res = 1
#26 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcc06f1bd0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcbee68a80
        root_node = 0x55dcbdecc440
        priv = 0x55dcc06f1890
        clip = {x1 = -3.73493195, y1 = 722, x2 = 8.04611773e-08, y2 = -0.00114620943}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#27 0x00007f4fb7974021 in st_viewport_paint (actor=0x55dcc06f0c60, paint_context=0x55dcbee2da10) at ../src/st/st-viewport.c:424
        viewport = 0x55dcc06f0c60
        priv = 0x55dcc06f07e0
        theme_node = 0x55dcc5b519a0
        x = 0
        y = 0
        allocation_box = {x1 = 0, y1 = 0, x2 = 722, y2 = 200}
        content_box = {x1 = 1, y1 = 1, x2 = 721, y2 = 199}
        child = 0x55dcc06f1bd0
        fb = 0x55dcbfd90920
#28 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcc06f0c60, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc11a6360
        priv = 0x55dcc06f0920
        __func__ = "clutter_actor_continue_paint"
#29 0x00007f4fb7f0e8e7 in clutter_offscreen_effect_paint (effect=0x55dcbf9232c0, paint_context=0x55dcbee2da10, flags=CLUTTER_EFFECT_PAINT_ACTOR_DIRTY) at ../clutter/clutter/clutter-offscreen-effect.c:513
        effect_class = 0x55dcc0460f20
        pre_paint_succeeded = 1
        self = 0x55dcbf9232c0
        priv = 0x55dcbf923250
#30 0x00007f4fb7ee8957 in _clutter_effect_paint (effect=0x55dcbf9232c0, paint_context=0x55dcbee2da10, flags=CLUTTER_EFFECT_PAINT_ACTOR_DIRTY) at ../clutter/clutter/clutter-effect.c:291
        __func__ = "_clutter_effect_paint"
#31 0x00007f4fb7eaf4af in clutter_actor_continue_paint (self=0x55dcc06f0c60, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:4031
        old_current_effect = 0x0
        run_flags = CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
        priv = 0x55dcc06f0920
        __func__ = "clutter_actor_continue_paint"
#32 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcbf8505e0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcbf8505e0
#33 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcbf8505e0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcc06f0920
        res = 1
#34 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcc06f0c60, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcbf8505e0
        root_node = 0x55dcbf8505e0
        priv = 0x55dcc06f0920
        clip = {x1 = -69630, y1 = 4.59149455e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#35 0x00007f4fb7eae963 in clutter_actor_real_paint (actor=0x55dcc06f01f0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55dcc06efeb0
        iter = 0x55dcc06f0c60
#36 0x00007f4fb7975814 in st_widget_paint (actor=0x55dcc06f01f0, paint_context=0x55dcbee2da10) at ../src/st/st-widget.c:445
#37 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcc06f01f0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc12428c0
        priv = 0x55dcc06efeb0
        __func__ = "clutter_actor_continue_paint"
#38 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcc0679a30, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcc0679a30
#39 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcc0679a30, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcbee2da10
        res = 1
#40 0x00007f4fb7f15586 in clutter_paint_node_paint (node=0x55dcbf73f160, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:991
        klass = 0x55dcc04a8040
        iter = 0x55dcc0679a30
        res = 1
#41 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcc06f01f0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcc0679a30
        root_node = 0x55dcbf73f160
        priv = 0x55dcc06efeb0
        clip = {x1 = -69635, y1 = 4.59149455e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#42 0x00007f4fb7eae963 in clutter_actor_real_paint (actor=0x55dcc06ec310, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55dcc06ebfd0
        iter = 0x55dcc06f01f0
#43 0x00007f4fb7975814 in st_widget_paint (actor=0x55dcc06ec310, paint_context=0x55dcbee2da10) at ../src/st/st-widget.c:445
#44 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcc06ec310, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc18fe580
        priv = 0x55dcc06ebfd0
        __func__ = "clutter_actor_continue_paint"
#45 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcbf837de0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcbf837de0
#46 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcbf837de0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcc06ebfd0
        res = 1
#47 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcc06ec310, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcbf837de0
        root_node = 0x55dcbf837de0
        priv = 0x55dcc06ebfd0
        clip = {x1 = -69639.5, y1 = 4.59149455e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#48 0x00007f4fb7eae963 in clutter_actor_real_paint (actor=0x55dcc06ecc20, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55dcc06ec8e0
        iter = 0x55dcc06ec310
#49 0x00007f4fb7975814 in st_widget_paint (actor=0x55dcc06ecc20, paint_context=0x55dcbee2da10) at ../src/st/st-widget.c:445
#50 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcc06ecc20, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x7f4fa81ce240
        priv = 0x55dcc06ec8e0
        __func__ = "clutter_actor_continue_paint"
#51 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcc0d57e80, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcc0d57e80
#52 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcc0d57e80, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcc06ec8e0
        res = 1
#53 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcc06ecc20, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcc0d57e80
        root_node = 0x55dcc0d57e80
        priv = 0x55dcc06ec8e0
        clip = {x1 = -69644, y1 = 4.59149455e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#54 0x00007f4fb7eae963 in clutter_actor_real_paint (actor=0x55dcc06ea480, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55dcc06ea140
        iter = 0x55dcc06ecc20
#55 0x00007f4fb7975814 in st_widget_paint (actor=0x55dcc06ea480, paint_context=0x55dcbee2da10) at ../src/st/st-widget.c:445
#56 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcc06ea480, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc1280cc0
        priv = 0x55dcc06ea140
        __func__ = "clutter_actor_continue_paint"
#57 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x7f4fa822a1e0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x7f4fa822a1e0
#58 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x7f4fa822a1e0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcc06ea140
        res = 1
#59 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcc06ea480, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x7f4fa822a1e0
        root_node = 0x7f4fa822a1e0
        priv = 0x55dcc06ea140
        clip = {x1 = -69648.5, y1 = 4.59149455e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#60 0x00007f4fb7eae963 in clutter_actor_real_paint (actor=0x55dcbe844360, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55dcbe844020
        iter = 0x55dcc06ea480
#61 0x00007f4fb7975814 in st_widget_paint (actor=0x55dcbe844360, paint_context=0x55dcbee2da10) at ../src/st/st-widget.c:445
#62 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcbe844360, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc18fe4c0
        priv = 0x55dcbe844020
        __func__ = "clutter_actor_continue_paint"
#63 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcc0e84450, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcc0e84450
#64 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcc0e84450, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcbe844020
        res = 1
#65 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcbe844360, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcc0e84450
        root_node = 0x55dcc0e84450
        priv = 0x55dcbe844020
        clip = {x1 = -69653, y1 = 4.59149455e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#66 0x00007f4fb7eae963 in clutter_actor_real_paint (actor=0x55dcbe833730, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55dcbe8333f0
        iter = 0x55dcbe844360
#67 0x00007f4fb7975814 in st_widget_paint (actor=0x55dcbe833730, paint_context=0x55dcbee2da10) at ../src/st/st-widget.c:445
#68 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcbe833730, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc12428c0
        priv = 0x55dcbe8333f0
        __func__ = "clutter_actor_continue_paint"
#69 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x7f4fa83840a0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x7f4fa83840a0
#70 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x7f4fa83840a0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcbe8333f0
        res = 1
#71 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcbe833730, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x7f4fa83840a0
        root_node = 0x7f4fa83840a0
        priv = 0x55dcbe8333f0
        clip = {x1 = 2.80259693e-43, y1 = 0, x2 = -7.08466339, y2 = 3.08005402e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#72 0x00007f4fb7eae963 in clutter_actor_real_paint (actor=0x55dcbdac85c0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55dcbdac8280
        iter = 0x55dcbe833730
#73 0x00007f4fb7c5c4c4 in meta_stage_paint (actor=0x55dcbdac85c0, paint_context=0x55dcbee2da10) at ../src/backends/meta-stage.c:212
        stage = 0x55dcbdac85c0
        view = 0x55dcbdac4dc0
#74 0x00007f4fb7eaf3c9 in clutter_actor_continue_paint (self=0x55dcbdac85c0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x55dcbdacbf30
        dummy = 0x55dcc18fe580
        priv = 0x55dcbdac8280
        __func__ = "clutter_actor_continue_paint"
#75 0x00007f4fb7f12b63 in clutter_actor_node_draw (node=0x55dcc4ad7630, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x55dcc4ad7630
#76 0x00007f4fb7f15565 in clutter_paint_node_paint (node=0x55dcc4ad7630, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x55dcc0461350
        iter = 0x55dcbee2da10
        res = 1
#77 0x00007f4fb7f15586 in clutter_paint_node_paint (node=0x55dcbdecc360, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-paint-node.c:991
        klass = 0x55dcc04a8040
        iter = 0x55dcc4ad7630
        res = 1
#78 0x00007f4fb7eaf174 in clutter_actor_paint (self=0x55dcbdac85c0, paint_context=0x55dcbee2da10) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x55dcc4ad7630
        root_node = 0x55dcbdecc360
        priv = 0x55dcbdac8280
        clip = {x1 = -54.9312477, y1 = -86.6025391, x2 = -50, y2 = 8.26766094e-44}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#79 0x00007f4fb7f2e9cd in clutter_stage_do_paint_view (stage=0x55dcbdac85c0, view=0x55dcbda8c5b0, redraw_clip=0x7f4fa80e9ea0) at ../clutter/clutter/clutter-stage.c:852
        paint_context = 0x55dcbee2da10
        clip_rect = {x = 0, y = 0, width = 1920, height = 1009}
#80 0x00007f4fb7f307c3 in clutter_stage_real_paint_view (stage=0x55dcbdac85c0, view=0x55dcbda8c5b0, redraw_clip=0x7f4fa80e9ea0) at ../clutter/clutter/clutter-stage.c:1741
#81 0x00007f4fb7c5c627 in meta_stage_paint_view (stage=0x55dcbdac85c0, view=0x55dcbda8c5b0, redraw_clip=0x7f4fa80e9ea0) at ../src/backends/meta-stage.c:259
        meta_stage = 0x55dcbdac85c0
#82 0x00007f4fb7f2ea8f in clutter_stage_paint_view (stage=0x55dcbdac85c0, view=0x55dcbda8c5b0, redraw_clip=0x7f4fa80e9ea0) at ../clutter/clutter/clutter-stage.c:875
        priv = 0x55dcbdac7f90
#83 0x00007f4fb7f5a282 in paint_stage (stage_cogl=0x55dcbdac2290, view=0x55dcbda8c5b0, redraw_clip=0x7f4fa80e9ea0) at ../clutter/clutter/cogl/clutter-stage-cogl.c:411
        stage = 0x55dcbdac85c0
#84 0x00007f4fb7f5a978 in clutter_stage_cogl_redraw_view_primary (stage_cogl=0x55dcbdac2290, view=0x55dcbda8c5b0) at ../clutter/clutter/cogl/clutter-stage-cogl.c:604
        stage_window = 0x55dcbdac2290
        view_cogl = 0x55dcbda8c5b0
        view_priv = 0x55dcbda8c4f0
        fb = 0x55dcbdacbf30
        onscreen = 0x55dcbdacbf30
        view_rect = {x = 0, y = 0, width = 1920, height = 1009}
        is_full_redraw = 1
        use_clipped_redraw = 0
        can_blit_sub_buffer = 1
        has_buffer_age = 0
        swap_with_damage = 0
        redraw_clip = 0x7f4fa80e9ea0
        queued_redraw_clip = 0x0
        fb_clip_region = 0x7f4fa800e980
        swap_region = 0x0
        fb_scale = 1
        fb_width = 1920
        fb_height = 1009
        buffer_age = 0
        __func__ = "clutter_stage_cogl_redraw_view_primary"
#85 0x00007f4fb7f5acad in clutter_stage_cogl_redraw_view (stage_window=0x55dcbdac2290, view=0x55dcbda8c5b0) at ../clutter/clutter/cogl/clutter-stage-cogl.c:699
        stage_cogl = 0x55dcbdac2290
        scanout = 0x0
#86 0x00007f4fb7f381aa in _clutter_stage_window_redraw_view (window=0x55dcbdac2290, view=0x55dcbda8c5b0) at ../clutter/clutter/clutter-stage-window.c:111
        __func__ = "_clutter_stage_window_redraw_view"
#87 0x00007f4fb7f37123 in handle_frame_clock_frame (frame_clock=0x55dcbdac2480, frame_count=250, time_us=77739429, user_data=0x55dcbda8c5b0) at ../clutter/clutter/clutter-stage-view.c:1108
        stage_window = 0x55dcbdac2290
        view = 0x55dcbda8c5b0
        priv = 0x55dcbda8c510
        stage = 0x55dcbdac85c0
        devices = 0x0
        result = (unknown: 0x55dc)
#88 0x00007f4fb7eeffde in clutter_frame_clock_dispatch (frame_clock=0x55dcbdac2480, time_us=77739429) at ../clutter/clutter/clutter-frame-clock.c:431
        frame_count = 250
        result = CLUTTER_FRAME_RESULT_PENDING_PRESENTED
        __func__ = "clutter_frame_clock_dispatch"
#89 0x00007f4fb7ef00b7 in frame_clock_source_dispatch (source=0x55dcbdacce80, callback=0x0, user_data=0x0) at ../clutter/clutter/clutter-frame-clock.c:471
        clock_source = 0x55dcbdacce80
        frame_clock = 0x55dcbdac2480
        dispatch_time_us = 77739429
#90 0x00007f4fb892f7be in g_main_dispatch (context=0x55dcbd4957b0) at ../../../glib/gmain.c:3337
        dispatch = 0x7f4fb7ef0068 <frame_clock_source_dispatch>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = 1
        source = 0x55dcbdacce80
        current = 0x55dcbd46fbb0
        i = 0
        __func__ = "g_main_dispatch"
#91 0x00007f4fb89307e1 in g_main_context_dispatch (context=0x55dcbd4957b0) at ../../../glib/gmain.c:4055
#92 0x00007f4fb89309e0 in g_main_context_iterate (context=0x55dcbd4957b0, block=1, dispatch=1, self=0x55dcbd494e90) at ../../../glib/gmain.c:4131
        max_priority = 150
        timeout = 0
        some_ready = 1
        nfds = 14
        allocated_nfds = 14
        fds = 0x55dcc07fe300
        begin_time_nsec = 0
#93 0x00007f4fb8930ebb in g_main_loop_run (loop=0x55dcbdaf3350) at ../../../glib/gmain.c:4329
        self = 0x55dcbd494e90
        __func__ = "g_main_loop_run"
#94 0x00007f4fb7cb5f56 in meta_run_main_loop () at ../src/core/main.c:658
#95 0x00007f4fb7cb5f6b in meta_run () at ../src/core/main.c:673
#96 0x000055dcbca9eb10 in main (argc=1, argv=0x7ffec7881678) at ../src/main.c:649
        ctx = 0x55dcbd492da0
        error = 0x0
        shell_debug = 0x0
        debug_flags_string = 0x55dcbdaf2ae0 "/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so"
        ecode = 0
        retval = -1
        sp = {sched_priority = 1}
A debugging session is active.

    Inferior 1 [process 1920] will be detached.
mmstick commented 3 years ago

@rongcuid From what I recall, it's a sigsegv in the pango library, and my guess is the C portion of GNOME Shell or Mutter is somehow handling these Chinese characters without consideration for UTF-8. I'm not yet certain how our extension is triggering this behavior or what we can to to stop it.

rongcuid commented 3 years ago

A different stacktrace resulting from crash. I don't know if there is a better way I can plug GDB into the flow since I am unfamiliar with Gnome development, so I can't get a chance to interactively see what is actually happening. I don't know if this is caused by the extension at all. It trips much more quickly if I repeatedly delete first character and attempt to type, so I guess this bug triggers right before the text-changed signal, as Gnome is trying to repaint, or something.

Thread 1 "gnome-shell" received signal SIGSEGV, Segmentation fault.
__strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
65  ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory.
#0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
#1  0x00007f5f19fcdf8b in g_strdup (str=0x100000006 <error: Cannot access memory at address 0x100000006>) at ../../../glib/gstrfuncs.c:363
        new_str = 0x559435b38a80 "\004"
        length = 2
#2  0x00007f5f182fd3cb in pango_font_description_copy (desc=0x559437fb7200) at ../pango/fonts.c:809
        result = 0x7f5f0831ce60
#3  0x00007f5f183028c4 in pango_attr_font_desc_new (desc=0x559437fb7200) at ../pango/pango-attributes.c:715
        result = 0x559435967380
        klass = {type = PANGO_ATTR_FONT_DESC, copy = 0x7f5f183027a5 <pango_attr_font_desc_copy>, destroy = 0x7f5f183027cf <pango_attr_font_desc_destroy>, equal = 0x7f5f1830280b <pango_attr_font_desc_equal>}
#4  0x00007f5f183171f9 in pango_layout_get_effective_attributes (layout=0x559437419b20) at ../pango/pango-layout.c:4131
        attr = 0x3f13cd3a00000000
        attrs = 0x55943615bf30
#5  0x00007f5f18317551 in pango_layout_check_lines (layout=0x559437419b20) at ../pango/pango-layout.c:4282
        start = 0x3000000018 <error: Cannot access memory at address 0x3000000018>
        done = 0
        start_offset = 0
        attrs = 0x77824b8534e3a800
        itemize_attrs = 0x7ffce96631a0
        shape_attrs = 0x7ffce96630e0
        iter = {attrs = 0x55943575a500, n_attrs = 0, attribute_stack = 0x7ffce9663150, attr_index = 437102190, start_index = 32607, end_index = 903203120}
        prev_base_dir = PANGO_DIRECTION_NEUTRAL
        base_dir = PANGO_DIRECTION_NEUTRAL
        state = {line_height = 903203120, remaining_height = 21908, attrs = 0x119628030, items = 0x559435eaafa0 = {0x3}, base_dir = 903203120, line_of_par = 21908, glyphs = 0x7ffce9663190, start_offset = 425153733, properties = {uline_single = 0, uline_double = 0, uline_low = 0, uline_error = 0, strikethrough = 1, oline_single = 1, rise = 21908, letter_spacing = 915789536, shape_set = 21908, shape_ink_rect = 0x7ffce96631b0, shape_logical_rect = 0x11957494e}, log_widths = 0x55943695d6e0, log_widths_offset = 915789536, need_hyphen = 0x7ffce96631b0, line_start_index = 425157177, line_start_offset = 32607, line_width = -379178480, remaining_width = 32764, hyphen_width = 915789536}
        __func__ = "pango_layout_check_lines"
#6  0x00007f5f18314912 in pango_layout_get_extents_internal (layout=0x559437419b20, ink_rect=0x0, logical_rect=0x7ffce9663340, line_extents=0x0) at ../pango/pango-layout.c:2684
        line_list = Python Exception <class 'gdb.MemoryError'> Cannot access memory at address 0x43e6800044268000: 
#7  0x00007f5f18314e55 in pango_layout_get_extents (layout=0x559437419b20, ink_rect=0x0, logical_rect=0x7ffce9663340) at ../pango/pango-layout.c:2878
        __func__ = "pango_layout_get_extents"
#8  0x00007f5f195b38a4 in clutter_text_paint (self=0x559438173a10, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-text.c:2677
        logical_rect = {x = 0, y = 0, width = 0, height = 0}
        actor_width = 890369472
        text_width = 21908
        rtl = 896614240
        text = 0x559438173a10
        priv = 0x559438173530
        fb = 0x5594379af5d0
        layout = 0x559437419b20
        alloc = {x1 = 9, y1 = 9, x2 = 631, y2 = 32}
        color = {private_member_red = 0 '\000', private_member_green = 0 '\000', private_member_blue = 0 '\000', private_member_alpha = 0 '\000', private_member_padding0 = 0, private_member_padding1 = 0, private_member_padding2 = 0}
        real_opacity = 56 '8'
        text_x = 2
        text_y = 0
        clip_set = 0
        bg_color_set = 0
        n_chars = 0
        alloc_width = 622
        alloc_height = 23
        resource_scale = 1
        __func__ = "clutter_text_paint"
#9  0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x559438173a10, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x559437eb5760
        priv = 0x5594381736d0
        __func__ = "clutter_actor_continue_paint"
#10 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x5594384e96d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x5594384e96d0
#11 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x5594384e96d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x55943b6b5a70
        res = 1
#12 0x00007f5f1958b586 in clutter_paint_node_paint (node=0x55943828c1d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:991
        klass = 0x5594380f88f0
        iter = 0x5594384e96d0
        res = 1
#13 0x00007f5f19525174 in clutter_actor_paint (self=0x559438173a10, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x5594384e96d0
        root_node = 0x55943828c1d0
        priv = 0x5594381736d0
        clip = {x1 = -1.73939884e+25, y1 = 4.59121429e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#14 0x00007f5f19524963 in clutter_actor_real_paint (actor=0x559438173320, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x559438172fe0
        iter = 0x559438173a10
#15 0x00007f5f18fbde56 in st_entry_paint (actor=0x559438173320, paint_context=0x55943b6b5a70) at ../src/st/st-entry.c:836
        priv = 0x559438172e70
        theme_node = 0x5594386b80a0
        shadow_spec = 0x0
        parent_class = 0x5594353e6270
#16 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x559438173320, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x7f5f081bdf60
        priv = 0x559438172fe0
        __func__ = "clutter_actor_continue_paint"
#17 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x5594362f7f70, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x5594362f7f70
#18 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x5594362f7f70, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x559438172fe0
        res = 1
#19 0x00007f5f19525174 in clutter_actor_paint (self=0x559438173320, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x5594362f7f70
        root_node = 0x5594362f7f70
        priv = 0x559438172fe0
        clip = {x1 = 3.60088306e-05, y1 = 640, x2 = 4.2404281e-07, y2 = 5.28539304e+33}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#20 0x00007f5f18fea021 in st_viewport_paint (actor=0x559438170b70, paint_context=0x55943b6b5a70) at ../src/st/st-viewport.c:424
        viewport = 0x559438170b70
        priv = 0x5594381706f0
        theme_node = 0x55943b61ebc0
        x = 0
        y = 0
        allocation_box = {x1 = 41, y1 = 33, x2 = 681, y2 = 167}
        content_box = {x1 = 0, y1 = 0, x2 = 640, y2 = 134}
        child = 0x559438173320
        fb = 0x5594379af5d0
#21 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x559438170b70, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x5594388a16a0
        priv = 0x559438170830
        __func__ = "clutter_actor_continue_paint"
#22 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x559438aae400, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x559438aae400
#23 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x559438aae400, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x55943b6b5a70
        res = 1
#24 0x00007f5f1958b586 in clutter_paint_node_paint (node=0x559438ac1e20, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:991
        klass = 0x5594380f88f0
        iter = 0x559438aae400
        res = 1
#25 0x00007f5f19525174 in clutter_actor_paint (self=0x559438170b70, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x559438aae400
        root_node = 0x559438ac1e20
        priv = 0x559438170830
        clip = {x1 = 3.59989353e-05, y1 = 722, x2 = 4.2404281e-07, y2 = 5.28539304e+33}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#26 0x00007f5f18fea021 in st_viewport_paint (actor=0x5594381700d0, paint_context=0x55943b6b5a70) at ../src/st/st-viewport.c:424
        viewport = 0x5594381700d0
        priv = 0x55943816fc50
        theme_node = 0x55943b61e9e0
        x = 0
        y = 0
        allocation_box = {x1 = 0, y1 = 0, x2 = 722, y2 = 200}
        content_box = {x1 = 1, y1 = 1, x2 = 721, y2 = 199}
        child = 0x559438170b70
        fb = 0x5594379af5d0
#27 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x5594381700d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x7f5f081bdf60
        priv = 0x55943816fd90
        __func__ = "clutter_actor_continue_paint"
#28 0x00007f5f195848e7 in clutter_offscreen_effect_paint (effect=0x55943757fab0, paint_context=0x55943b6b5a70, flags=CLUTTER_EFFECT_PAINT_ACTOR_DIRTY) at ../clutter/clutter/clutter-offscreen-effect.c:513
        effect_class = 0x55943c6bd530
        pre_paint_succeeded = 1
        self = 0x55943757fab0
        priv = 0x55943757fa40
#29 0x00007f5f1955e957 in _clutter_effect_paint (effect=0x55943757fab0, paint_context=0x55943b6b5a70, flags=CLUTTER_EFFECT_PAINT_ACTOR_DIRTY) at ../clutter/clutter/clutter-effect.c:291
        __func__ = "_clutter_effect_paint"
#30 0x00007f5f195254af in clutter_actor_continue_paint (self=0x5594381700d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:4031
        old_current_effect = 0x0
        run_flags = CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
        priv = 0x55943816fd90
        __func__ = "clutter_actor_continue_paint"
#31 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x5594388495e0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x5594388495e0
#32 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x5594388495e0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x55943816fd90
        res = 1
#33 0x00007f5f19525174 in clutter_actor_paint (self=0x5594381700d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x5594388495e0
        root_node = 0x5594388495e0
        priv = 0x55943816fd90
        clip = {x1 = -1.73966632e+25, y1 = 4.59121429e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#34 0x00007f5f19524963 in clutter_actor_real_paint (actor=0x55943816f9d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x55943816f690
        iter = 0x5594381700d0
#35 0x00007f5f18feb814 in st_widget_paint (actor=0x55943816f9d0, paint_context=0x55943b6b5a70) at ../src/st/st-widget.c:445
#36 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x55943816f9d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x7f5f0822d700
        priv = 0x55943816f690
        __func__ = "clutter_actor_continue_paint"
#37 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x5594381c8590, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x5594381c8590
#38 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x5594381c8590, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x55943b6b5a70
        res = 1
#39 0x00007f5f1958b586 in clutter_paint_node_paint (node=0x55943d6f9ca0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:991
        klass = 0x5594380f88f0
        iter = 0x5594381c8590
        res = 1
#40 0x00007f5f19525174 in clutter_actor_paint (self=0x55943816f9d0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x5594381c8590
        root_node = 0x55943d6f9ca0
        priv = 0x55943816f690
        clip = {x1 = -1.7397401e+25, y1 = 4.59121429e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#41 0x00007f5f19524963 in clutter_actor_real_paint (actor=0x5594382d9f40, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x5594382d9c00
        iter = 0x55943816f9d0
#42 0x00007f5f18feb814 in st_widget_paint (actor=0x5594382d9f40, paint_context=0x55943b6b5a70) at ../src/st/st-widget.c:445
#43 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x5594382d9f40, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x559437eb5580
        priv = 0x5594382d9c00
        __func__ = "clutter_actor_continue_paint"
#44 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x559436a440a0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x559436a440a0
#45 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x559436a440a0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x5594382d9c00
        res = 1
#46 0x00007f5f19525174 in clutter_actor_paint (self=0x5594382d9f40, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x559436a440a0
        root_node = 0x559436a440a0
        priv = 0x5594382d9c00
        clip = {x1 = -1.73980651e+25, y1 = 4.59121429e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#47 0x00007f5f19524963 in clutter_actor_real_paint (actor=0x5594382da850, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x5594382da510
        iter = 0x5594382d9f40
#48 0x00007f5f18feb814 in st_widget_paint (actor=0x5594382da850, paint_context=0x55943b6b5a70) at ../src/st/st-widget.c:445
#49 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x5594382da850, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x5594388be060
        priv = 0x5594382da510
        __func__ = "clutter_actor_continue_paint"
#50 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x5594388fede0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x5594388fede0
#51 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x5594388fede0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x5594382da510
        res = 1
#52 0x00007f5f19525174 in clutter_actor_paint (self=0x5594382da850, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x5594388fede0
        root_node = 0x5594388fede0
        priv = 0x5594382da510
        clip = {x1 = -1.73987292e+25, y1 = 4.59121429e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#53 0x00007f5f19524963 in clutter_actor_real_paint (actor=0x5594382d83a0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x5594382d8060
        iter = 0x5594382da850
#54 0x00007f5f18feb814 in st_widget_paint (actor=0x5594382d83a0, paint_context=0x55943b6b5a70) at ../src/st/st-widget.c:445
#55 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x5594382d83a0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x559438335400
        priv = 0x5594382d8060
        __func__ = "clutter_actor_continue_paint"
#56 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x5594362f7c00, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x5594362f7c00
#57 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x5594362f7c00, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x5594382d8060
        res = 1
#58 0x00007f5f19525174 in clutter_actor_paint (self=0x5594382d83a0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x5594362f7c00
        root_node = 0x5594362f7c00
        priv = 0x5594382d8060
        clip = {x1 = -1.73993933e+25, y1 = 4.59121429e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#59 0x00007f5f19524963 in clutter_actor_real_paint (actor=0x559436472320, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x559436471fe0
        iter = 0x5594382d83a0
#60 0x00007f5f18feb814 in st_widget_paint (actor=0x559436472320, paint_context=0x55943b6b5a70) at ../src/st/st-widget.c:445
#61 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x559436472320, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x559438335460
        priv = 0x559436471fe0
        __func__ = "clutter_actor_continue_paint"
#62 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x559438aae680, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x559438aae680
#63 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x559438aae680, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x559436471fe0
        res = 1
#64 0x00007f5f19525174 in clutter_actor_paint (self=0x559436472320, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x559438aae680
        root_node = 0x559438aae680
        priv = 0x559436471fe0
        clip = {x1 = -1.74000574e+25, y1 = 4.59121429e-41, x2 = 1, y2 = 4.59163468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#65 0x00007f5f19524963 in clutter_actor_real_paint (actor=0x5594364612c0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x559436460f80
        iter = 0x559436472320
#66 0x00007f5f18feb814 in st_widget_paint (actor=0x5594364612c0, paint_context=0x55943b6b5a70) at ../src/st/st-widget.c:445
#67 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x5594364612c0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x559438335460
        priv = 0x559436460f80
        __func__ = "clutter_actor_continue_paint"
#68 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x559438aae5e0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x559438aae5e0
#69 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x559438aae5e0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x559436460f80
        res = 1
#70 0x00007f5f19525174 in clutter_actor_paint (self=0x5594364612c0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x559438aae5e0
        root_node = 0x559438aae5e0
        priv = 0x559436460f80
        clip = {x1 = 2.80259693e-43, y1 = 0, x2 = 0.0152558833, y2 = 3.06996468e-41}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#71 0x00007f5f19524963 in clutter_actor_real_paint (actor=0x559435717860, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3648
        priv = 0x559435717520
        iter = 0x5594364612c0
#72 0x00007f5f192d24c4 in meta_stage_paint (actor=0x559435717860, paint_context=0x55943b6b5a70) at ../src/backends/meta-stage.c:212
        stage = 0x559435717860
        view = 0x559435713f60
#73 0x00007f5f195253c9 in clutter_actor_continue_paint (self=0x559435717860, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3999
        framebuffer = 0x559435719db0
        dummy = 0x559438335400
        priv = 0x559435717520
        __func__ = "clutter_actor_continue_paint"
#74 0x00007f5f19588b63 in clutter_actor_node_draw (node=0x5594384aded0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-nodes.c:1144
        actor_node = 0x5594384aded0
#75 0x00007f5f1958b565 in clutter_paint_node_paint (node=0x5594384aded0, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:984
        klass = 0x5594380807c0
        iter = 0x55943b6b5a70
        res = 1
#76 0x00007f5f1958b586 in clutter_paint_node_paint (node=0x559438ac1d40, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-paint-node.c:991
        klass = 0x5594380f88f0
        iter = 0x5594384aded0
        res = 1
#77 0x00007f5f19525174 in clutter_actor_paint (self=0x559435717860, paint_context=0x55943b6b5a70) at ../clutter/clutter/clutter-actor.c:3935
        actor_node = 0x5594384aded0
        root_node = 0x559438ac1d40
        priv = 0x559435717520
        clip = {x1 = -54.9312477, y1 = -86.6025391, x2 = -50, y2 = 8.26766094e-44}
        culling_inhibited = 0
        clip_set = 0
        __func__ = "clutter_actor_paint"
#78 0x00007f5f195a49cd in clutter_stage_do_paint_view (stage=0x559435717860, view=0x5594356dad70, redraw_clip=0x7f5f08031400) at ../clutter/clutter/clutter-stage.c:852
        paint_context = 0x55943b6b5a70
        clip_rect = {x = 0, y = 0, width = 1920, height = 1009}
#79 0x00007f5f195a67c3 in clutter_stage_real_paint_view (stage=0x559435717860, view=0x5594356dad70, redraw_clip=0x7f5f08031400) at ../clutter/clutter/clutter-stage.c:1741
#80 0x00007f5f192d2627 in meta_stage_paint_view (stage=0x559435717860, view=0x5594356dad70, redraw_clip=0x7f5f08031400) at ../src/backends/meta-stage.c:259
        meta_stage = 0x559435717860
#81 0x00007f5f195a4a8f in clutter_stage_paint_view (stage=0x559435717860, view=0x5594356dad70, redraw_clip=0x7f5f08031400) at ../clutter/clutter/clutter-stage.c:875
        priv = 0x559435717230
#82 0x00007f5f195d0282 in paint_stage (stage_cogl=0x5594357112c0, view=0x5594356dad70, redraw_clip=0x7f5f08031400) at ../clutter/clutter/cogl/clutter-stage-cogl.c:411
        stage = 0x559435717860
#83 0x00007f5f195d0978 in clutter_stage_cogl_redraw_view_primary (stage_cogl=0x5594357112c0, view=0x5594356dad70) at ../clutter/clutter/cogl/clutter-stage-cogl.c:604
        stage_window = 0x5594357112c0
        view_cogl = 0x5594356dad70
        view_priv = 0x5594356dacb0
        fb = 0x559435719db0
        onscreen = 0x559435719db0
        view_rect = {x = 0, y = 0, width = 1920, height = 1009}
        is_full_redraw = 1
        use_clipped_redraw = 0
        can_blit_sub_buffer = 1
        has_buffer_age = 0
        swap_with_damage = 0
        redraw_clip = 0x7f5f08031400
        queued_redraw_clip = 0x0
        fb_clip_region = 0x5594368a0320
        swap_region = 0x0
        fb_scale = 1
        fb_width = 1920
        fb_height = 1009
        buffer_age = 0
        __func__ = "clutter_stage_cogl_redraw_view_primary"
#84 0x00007f5f195d0cad in clutter_stage_cogl_redraw_view (stage_window=0x5594357112c0, view=0x5594356dad70) at ../clutter/clutter/cogl/clutter-stage-cogl.c:699
        stage_cogl = 0x5594357112c0
        scanout = 0x0
#85 0x00007f5f195ae1aa in _clutter_stage_window_redraw_view (window=0x5594357112c0, view=0x5594356dad70) at ../clutter/clutter/clutter-stage-window.c:111
        __func__ = "_clutter_stage_window_redraw_view"
#86 0x00007f5f195ad123 in handle_frame_clock_frame (frame_clock=0x5594357114b0, frame_count=166, time_us=55692485, user_data=0x5594356dad70) at ../clutter/clutter/clutter-stage-view.c:1108
        stage_window = 0x5594357112c0
        view = 0x5594356dad70
        priv = 0x5594356dacd0
        stage = 0x559435717860
        devices = 0x0
        result = (unknown: 0x5594)
#87 0x00007f5f19565fde in clutter_frame_clock_dispatch (frame_clock=0x5594357114b0, time_us=55692485) at ../clutter/clutter/clutter-frame-clock.c:431
        frame_count = 166
        result = CLUTTER_FRAME_RESULT_PENDING_PRESENTED
        __func__ = "clutter_frame_clock_dispatch"
#88 0x00007f5f195660b7 in frame_clock_source_dispatch (source=0x55943571b800, callback=0x0, user_data=0x0) at ../clutter/clutter/clutter-frame-clock.c:471
        clock_source = 0x55943571b800
        frame_clock = 0x5594357114b0
        dispatch_time_us = 55692485
#89 0x00007f5f19fa57be in g_main_dispatch (context=0x5594350e47b0) at ../../../glib/gmain.c:3337
        dispatch = 0x7f5f19566068 <frame_clock_source_dispatch>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = 1
        source = 0x55943571b800
        current = 0x5594350bebb0
        i = 0
        __func__ = "g_main_dispatch"
#90 0x00007f5f19fa67e1 in g_main_context_dispatch (context=0x5594350e47b0) at ../../../glib/gmain.c:4055
#91 0x00007f5f19fa69e0 in g_main_context_iterate (context=0x5594350e47b0, block=1, dispatch=1, self=0x5594350e3e90) at ../../../glib/gmain.c:4131
        max_priority = 150
        timeout = 0
        some_ready = 1
        nfds = 14
        allocated_nfds = 14
        fds = 0x559438289050
        begin_time_nsec = 0
#92 0x00007f5f19fa6ebb in g_main_loop_run (loop=0x559435745380) at ../../../glib/gmain.c:4329
        self = 0x5594350e3e90
        __func__ = "g_main_loop_run"
#93 0x00007f5f1932bf56 in meta_run_main_loop () at ../src/core/main.c:658
#94 0x00007f5f1932bf6b in meta_run () at ../src/core/main.c:673
#95 0x0000559434963b10 in main (argc=1, argv=0x7ffce96655a8) at ../src/main.c:649
        ctx = 0x5594350e1da0
        error = 0x0
        shell_debug = 0x0
        debug_flags_string = 0x559435737d60 "/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so"
        ecode = 0
        retval = -1
        sp = {sched_priority = 1}
A debugging session is active.

    Inferior 1 [process 1781] will be detached.
mmstick commented 3 years ago

Even if it's not caused by the extension itself, there's likely a way we can adapt to it with a workaround.

rongcuid commented 3 years ago

I did manage to find what triggers the Pango assertion failure. Something in Clutter calls the pango_itemize_with_base_dir function in pango, apparently attempting to split text into tokens. However, according to stack traces:

0x00007f6f7e0a1bb6 in pango_itemize_with_base_dir (context=0x556272ae9460, base_dir=PANGO_DIRECTION_LTR, text=0x55627053b080 "", start_index=0, length=3, attrs=0x556272b759b0, cached_iter=0x7ffd89b271e0) at ../pango/pango-context.c:1582

The input text is empty (or in my above example, "ca" as that was what I typed before the crash), but the length specified is "3". Looks like this confuses Pango and causes breakage. There is, however, another memory error, which I am unable to check because I couldn't get Valgrind running with gnome-shell.

rongcuid commented 3 years ago

Well, I don't know how to proceed, and the core dumps are too large to attach here. It would be nice if someone can at least point to where this issue might be forwarded.

The two different backtraces likely correspond to two bugs that yield the same crash on shell and launcher. I don't know if they are related. This is a life-breaking bug for languages that require input methods, so I wish it gets some attention.

mmstick commented 3 years ago

Yeah that's the situation for this issue right now. There's definitely an issue somewhere in Clutter or GNOME Shell. The crash happens inside of Pango, but I assume it's a string that got badly mangled and passed into Pango from GNOME or Clutter.

rongcuid commented 3 years ago

I have seen strings that look like font names that is sent to Pango, and sometimes garbage srings are sent. Also, apparently LLDB can attach to gnome-shell correctly but GDB cannot.

rongcuid commented 3 years ago

Is it at least possible to bring back the Activity view of 20.04? So to make the system usable.

rongcuid commented 3 years ago

It may be a good idea to wait for https://github.com/pop-os/cosmic/pull/183 and disable the Launcher (for the Gnome Activity view) if this issue is too complicated.

jacobgkau commented 3 years ago

It may be a good idea to wait for pop-os/cosmic#183 and disable the Launcher (for the Gnome Activity view) if this issue is too complicated.

That option does not bring the Activities menu back, it just allows unbinding the Super key. You can already change the Super key to open the Applications menu instead of the Launcher using the setting at Settings -> Desktop -> General -> Super Key Action.

rongcuid commented 3 years ago

The Applications menu is much more limited than the Activity or Launcher. While I can use the Application view, it does not have anything like searching files or doing calculations. I am asking for the Activity view as a temporary solution, because it is at least better than crashing the desktop.

rongcuid commented 2 years ago

I think this is a race condition. This bug goes away when I try to print something from the GLib idle loop. It would be helpful if someone can point to me how to connect a debugger to the extension.

mmstick commented 2 years ago

Besides https://wiki.gnome.org/Projects/GnomeShell/Debugging, your option is to log.