gjs-console running Extensions Manager crashes with free(): invalid pointer
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gjs (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
gtk4 (Ubuntu) |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[ Impact ]
gnome-shell-
Jul 14 18:52:30 zerocool gjs[114030]: Attempting to run a JS callback during garbage collection. This is most likely caused by destroying a Clutter actor or GTK widget with ::destroy signal connected, or using the destroy(), dispose(), or remove() vfuncs. Because it would crash the application, it has been blocked.
Jul 14 18:52:30 zerocool gjs[114030]: The offending callback was ScaleFormatValu
Jul 14 18:52:30 zerocool org.gnome.
Jul 14 18:52:30 zerocool org.gnome.
Jul 14 18:52:30 zerocool org.gnome.
Jul 14 18:52:30 zerocool org.gnome.
Jul 14 18:52:30 zerocool org.gnome.
Jul 14 18:52:30 zerocool org.gnome.
Jul 14 18:52:30 zerocool gjs[114030]: Invalid UTF-8 string passed to pango_layout_
Jul 14 18:52:30 zerocool org.gnome.
[ Test case ]
1. Add this script to a file (i.e. /tmp/test-gtk.js)
import Gtk from 'gi://Gtk?
const app = new Gtk.Application();
app.connect(
const scale = new Gtk.Scale(
scale.
new Gtk.Window(
});
app.run([]);
2. Run it via:
gjs -m /tmp/test-gtk.js
A new window should snow
3. Close the window, it should exit normally with no errors.
[ Regression potential ]
None known, the fix (https:/
-------
Other triggers:
7月 17 20:47:01 xsc-Lenovo-
7月 17 20:47:01 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
7月 17 20:47:03 xsc-Lenovo-
---
The Ubuntu Error Tracker has been receiving reports about a problem regarding gjs. This problem was most recently seen with package version 1.74.0-1, the problem page at https:/
If you do not have access to the Ubuntu Error Tracker and are a software developer, you can request it at http://
description: | updated |
summary: |
- /usr/bin/gjs-console:free(): invalid pointer + gjs-console crashes with free(): invalid pointer |
description: | updated |
Changed in gjs (Ubuntu): | |
status: | New → Triaged |
Changed in gjs (Ubuntu): | |
status: | Triaged → Won't Fix |
Changed in gtk4 (Ubuntu): | |
status: | New → Triaged |
no longer affects: | gjs (Ubuntu Jammy) |
Changed in gtk4 (Ubuntu Jammy): | |
status: | New → In Progress |
description: | updated |
This doesn't seems something easy to understand, because `org.gnome. Shell.Extension s` could be loading *ANY* kind of javascript code that is imported from gnome extensions.
Some of this code is definitely setting a wrong pango text, and gjs thus doesn't free it properly.
It could be also an issue due to wrong JS-string -> C-string mapping in gjs but it's very hard to reproduce for me.