[Bug 1797322] Re: gsd-rfkill-manager fails to receive rfkill event
ethan.hsieh
ethan.hsieh at canonical.com
Wed Oct 17 09:36:34 UTC 2018
@Sebastien
The patch has been merged. Could you help to land it to bionic? Thanks~
commit a5514ae097e5881df3ef26c63f4f4652b3f77811
Author: Ethan Hsieh <ethan.hsieh at canonical.com>
Date: Tue Oct 9 10:28:31 2018 +0800
rfkill: set encoding as NULL
The default encoding for GIOChannel is UTF-8, but rfkill event is binary
data. If the value is invalid UTF-8, gsd-rfkill-manager will fail to
receive rfkill event.
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1797322
Title:
gsd-rfkill-manager fails to receive rfkill event
Status in OEM Priority Project:
Confirmed
Status in gnome-settings-daemon package in Ubuntu:
Fix Released
Bug description:
[Impact]
The default encoding for GIOChannel is UTF-8, but rfkill event is
binary data. gsd-rfkill-manager will fail to receive rfkill event if
rfkill-idx is larger than 127.
Settings will always shows Bluetooth is off after resume.
The solution is to set the encoding of GIOChannel as NULL (binary
data).
[Test Case]
1) Enable the -proposed repository, and install new "gnome-settings-
daemon-schemas" and "gnome-settings-daemon"
2) Reboot system
3) Run suspend/resume test more than 127 times and then check if BT
settings still works well.
[Regression Potential]
Low. The default encoding for GIOChannel is wrong. Just set correct
encoding to receive rfkill event.
---
The default encoding for GIOChannel is UTF-8, but rfkill event is
binary data. If the value is invalid UTF-8, gsd-rfkill-manager will
fail to receive rfkill event.
Steps: Run suspend/resume Test (> 127 times)
Failure Rate: 100%
In some platforms, bt will be re-probed after s3. If bt is re-probed,
rfkill-idx will increase. And, 128 is the first invalid UTF-8
$ rfkill list
ID TYPE DEVICE SOFT HARD
1 wlan phy0 unblocked unblocked
128 bluetooth hci0 unblocked unblocked
Error Message:
gnome-settings-daemon/plugins/rfkill/rfkill-glib.c
gsd-rfkill[2062]: event_cb: 1 g_io_channel_read_chars
gsd-rfkill[2062]: g_io_channel_fill_buffer: cur_len=0, read_size=8
gsd-rfkill[2062]: g_io_channel_read_chars: 5 *bytes_read=8
gsd-rfkill[2062]: event_cb: 1 read=8
gsd-rfkill[2062]: event_cb: 1 source->read_buf->len=0
gsd-rfkill[2062]: event_cb: 1 source->encoded_read_buf->len=0
gsd-rfkill[2062]: RFKILL event: idx 127 type 2 (BLUETOOTH) op 1 (DEL) soft 0 hard 0
gsd-rfkill[2062]: event_cb: 2 g_io_channel_read_chars
gsd-rfkill[2062]: event_cb: 2 read=0
gsd-rfkill[2062]: event_cb: 2 source->read_buf->len=8
gsd-rfkill[2062]: event_cb: g_list_length=1
gsd-rfkill[2062]: Removed Bluetooth rfkill with ID 127
gsd-rfkill[2062]: event_cb: 1 g_io_channel_read_chars
gsd-rfkill[2062]: event_cb: 1 read=0T
gsd-rfkill[2062]: event_cb: 1 source->read_buf->len=16
gsd-rfkill[2062]: event_cb: g_list_length=0
To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1797322/+subscriptions
More information about the Ubuntu-sponsors
mailing list