[Bug 1743216] Re: perl crashed with SIGABRT in _dbus_abort()
Brian Murray
brian at ubuntu.com
Tue Oct 23 20:38:54 UTC 2018
Normally I would query the Error Tracker database to figure out if this
is resolved but information about the version of xdg-utils installed
does not appear in the crash reports there.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to perl in Ubuntu.
https://bugs.launchpad.net/bugs/1743216
Title:
perl crashed with SIGABRT in _dbus_abort()
Status in perl package in Ubuntu:
Invalid
Status in xdg-utils package in Ubuntu:
Fix Released
Status in perl source package in Bionic:
Confirmed
Status in xdg-utils source package in Bionic:
Fix Committed
Status in perl source package in Cosmic:
Invalid
Status in xdg-utils source package in Cosmic:
Fix Released
Status in xdg-utils package in Debian:
Unknown
Bug description:
[ Description ]
When xdg-screensaver suspend <wid> refers to a window with invalid
UTF-8 in its title, it will spawn a perl process that crashes with an
assertion:
dbus[19455]: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_check_is_valid_utf8 (*string_p)" failed in file ../../../dbus/dbus-message.c line 2754.
This is normally a bug in some application using the D-Bus library.
[ Fix ]
Use decode() from the Encode module to replace invalid character
sequences with U+FFFD, the replacement symbol. This is not a new
dependency as Encode has been a perl core module since 5.8.
[ QA ]
I don't know how to get a window with such a title, so we can do two
things.
1)
1. $ sudo -e $(which xdg-screensaver) # hack the script
2. Find the line "# Inhibit idle detection (flags = 8) with window name and ID."
3. Find the } on its own above that. Insert a new line afterwards and set the window name to be the same as the one in this bug, by pasting the code
$window_name = "\253\062\065 Meter fehlten bis zur Katastrophe\273 - News Panorama: Vermischtes - tagesanzeiger.ch - Mozilla Firefox";
4. Save and exit
5. $ xwininfo
6. click some window, and copy the "Window id", which will be 0x<something>
7. $ xdg-screensaver suspend <that window id>
In the bad case (before this bug is fixed) it should crash, and in the
good case it should work.
8. Undo what you just did by running $ xdg-screensaver resume <that
window id>
2)
Observe that the error bucket
https://errors.ubuntu.com/problem/b386f287972198daca290969b0ea5182ce8e5d52
has a reduction in report rate with the new versions.
[ Regression potential ]
If the code is bad then the window name passed to Inhibit() could be
wrong. That shouldn't matter too much.
If it is really bad then the program might crash for everybody and
we'll see an increase in errors.
[ Original description ]
Errors Bucket
-------------
https://errors.ubuntu.com/problem/b386f287972198daca290969b0ea5182ce8e5d52
crashed after launching the software updater
ProblemType: CrashDistroRelease: Ubuntu 18.04
Package: perl-base 5.26.1-4
ProcVersionSignature: Ubuntu 4.14.0-16.19-generic 4.14.12
Uname: Linux 4.14.0-16-generic x86_64
ApportVersion: 2.20.8-0ubuntu6
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Sun Jan 14 13:30:52 2018
ExecutablePath: /usr/bin/perl
InstallationDate: Installed on 2017-12-28 (17 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20171201)
Signal: 6SourcePackage: perl
StacktraceTop:
_dbus_abort () from /lib/x86_64-linux-gnu/libdbus-1.so.3
_dbus_warn_check_failed () from /lib/x86_64-linux-gnu/libdbus-1.so.3
dbus_message_iter_append_basic () from /lib/x86_64-linux-gnu/libdbus-1.so.3
?? () from /usr/lib/x86_64-linux-gnu/perl5/5.26/auto/Net/DBus/DBus.so
Perl_pp_entersub ()
Title: perl crashed with SIGABRT in _dbus_abort()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin lxd plugdev sambashare sudo
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/perl/+bug/1743216/+subscriptions
More information about the foundations-bugs
mailing list