[Bug 1797322] Re: gsd-rfkill-manager fails to receive rfkill event

ethan.hsieh ethan.hsieh at canonical.com
Fri Oct 12 02:41:53 UTC 2018


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
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 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/ubuntu/+source/gnome-settings-daemon/+bug/1797322/+subscriptions



More information about the Ubuntu-sponsors mailing list