Hello Brian,
Just tested arm64 build; updated these packages:
- gjs_1.67.2-2ubuntu2_arm64.deb
fprietog@fpgrpi:~$ apt-cache policy gjs
gjs:
Instalados: 1.67.2-2ubuntu2
Candidato: 1.67.2-2ubuntu2
Tabla de versión:
*** 1.67.2-2ubuntu2 100
100 /var/lib/dpkg/status
1.67.2-2ubuntu1 500
500 http://ports.ubuntu.com/ubuntu-ports hirsute/main arm64 Packages
- libgjs0g_1.67.2-2ubuntu2_arm64.deb
fprietog@fpgrpi:~$ apt-cache policy libgjs0g
libgjs0g:
Instalados: 1.67.2-2ubuntu2
Candidato: 1.67.2-2ubuntu2
Tabla de versión:
*** 1.67.2-2ubuntu2 100
100 /var/lib/dpkg/status
1.67.2-2ubuntu1 500
500 http://ports.ubuntu.com/ubuntu-ports hirsute/main arm64 Packages
And, after reboot, the problem reported is solved:
1./ Test case:
fprietog@fpgrpi:~$ gjs -c
"imports.gi.Gio._promisify(imports.gi.Gio._LocalFilePrototype, 'delete_async',
'delete_finish');
print(imports.gi.Gio.File.new_for_path('/').delete_async(0, null));" && echo
GJS works
[object Promise]
GJS works
2./ The error shown in every boot as also gone.
3./ The indicator-multiload app now is working as expected
I'll test amd64 build when available.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gjs in Ubuntu.
https://bugs.launchpad.net/bugs/1923267
Title:
Gjs promises on Gio.File operations don't work anymore after upgrading
libglib2.0-0 2.67.5-2 to 2.68.0-1 (and indicator-multiload app broke)
Status in gjs package in Ubuntu:
Fix Committed
Status in gnome-shell-extension-appindicator package in Ubuntu:
Won't Fix
Status in gjs source package in Hirsute:
Fix Committed
Bug description:
[ Impact ]
As per glib commit
https://gitlab.gnome.org/GNOME/glib/-/commit/d52728f99
Gio.File.new_for_path("") returns a GDummyFile implementation, while
Gio._promisify relies on it being a LocalFile, so we don't promisify
the right methods.
[ Test case ]
gjs -c "imports.gi.Gio._promisify(imports.gi.Gio._LocalFilePrototype,
'delete_async', 'delete_finish');
print(imports.gi.Gio.File.new_for_path('/').delete_async(0, null));" &&
echo GJS works
Should write on terminal:
[object Promise]
GJS works
In the bugged version would instead just:
(gjs:226393): Gjs-CRITICAL **: 16:45:51.396: JS ERROR: TypeError: method
Gio.File.delete_async: At least 3 arguments required, but only 2 passed
@<command line>:2:48
(gjs:226393): Gjs-CRITICAL **: 16:45:51.396: Script <command line>
threw an exception
[ Regression potential ]
Gjs apps are slower in starting up, or not act properly when / is not
a local location.
---
Problem tested in two different environments:
- Ubuntu 21.04 Beta amd64
- Ubuntu 21.04 Beta arm64 (Raspberry Pi 4B 8GB)
After upgrading these packages:
libglib2.0-0 2.67.5-2 to 2.68.0-1
libglib2.0-bin 2.67.5-2 to 2.68.0-1
libglib2.0-data 2.67.5-2 to 2.68.0-1
The app indicator-multiload (0.4-0ubuntu5) doesn't work showing only
three dots (...) instead of the graphic expected. It's throwing error
messages to the system journal every second or so (depends of the
refresh interval selected in the app settings):
abr 10 01:08:06 fpgrpi [email protected][1487]:
multiload, Impossible to read image from path '/run/user/1026
/multiload-icons-Wc8kck/icons/indicator-multiload-graphs-0.png':
TypeError: method Gio.File.read_async: At least 3 arguments required,
but only 2 passed
Don't know if this is a documented change of that method and the bug
should be open for the indicator-multiload app. Please, if that's the
case just let me know to do it.
Thanks and best reagrds
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gjs/+bug/1923267/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp