Thanks for your reminder. Bug description has been updated. ** Description changed:
+ [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. + + 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 ** Description changed: [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 -- You received this bug notification because you are a member of Ubuntu Desktop Bugs, which is subscribed to gnome-settings-daemon in Ubuntu. https://bugs.launchpad.net/bugs/1797322 Title: gsd-rfkill-manager fails to receive rfkill event To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1797322/+subscriptions -- desktop-bugs mailing list desktop-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/desktop-bugs