Indicator Multiload no longer refreshing consistently

Bug #1745457 reported by Nate Gallaher
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
indicator-multiload (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

On 16.04 (xenial), x86_64, recently indicator-multiload stopped updating its graphs regularly as though the area of the screen is not refreshing appropriately. Clicking on the graph will cause a redraw as the menu is displayed. I noticed this new behavior after a reboot on or around Jan 10th, 2018.

Looking in `ps`, I see that the indicator-multiload process is consistently in state `Dl` which is multi-threaded uninterruptible sleep according to `man ps`. I don't know if this is related.

Expected: I expected to see the utilization graphs update at the regular update-rate (currently configured for me at 0.8s)

```
$ lsb_release -rd
Description: Ubuntu 16.04.3 LTS
Release: 16.04

$ apt-cache policy indicator-multiload
indicator-multiload:
  Installed: 0.4-0ubuntu4
  Candidate: 0.4-0ubuntu4
  Version table:
 *** 0.4-0ubuntu4 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status
```

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in indicator-multiload (Ubuntu):
status: New → Confirmed
Revision history for this message
Rick Poyner (rico) wrote :

I was able to temporarily work around the symptoms I saw by doing throwaway reads of the /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq files.

$ uname -rvm
4.13.0-32-generic #35~16.04.1-Ubuntu SMP Thu Jan 25 10:13:43 UTC 2018 x86_64

$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 48
On-line CPU(s) list: 0-47
Thread(s) per core: 2
Core(s) per socket: 12
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2687W v4 @ 3.00GHz
Stepping: 1
CPU MHz: 2993.487
CPU max MHz: 3500.0000
CPU min MHz: 1200.0000
BogoMIPS: 5986.97
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 30720K
NUMA node0 CPU(s): 0-11,24-35
NUMA node1 CPU(s): 12-23,36-47
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts

Revision history for this message
Rick Poyner (rico) wrote :

More info:

* I was seeing the 'Dl' state of indicator-multiload when the display updating was stalled.
* Grabbing some stack traces with gdb, one of the threads was stuck in a read() call.
* Following the few stack symbols, and reading source led to update() in cpufreqprovider.vala.
* Experimenting (and luck?) led to the discovery that reading all the scaling_cur_freq files unfroze the display.

Revision history for this message
Nate Gallaher (tri-nate) wrote :

Can confirm that issuing a full set of reads on all cores (0-47 in my case) successfully unwedged the display. The display continues to update properly some 16 hours later, though no reboot has occurred.

for i in $(seq 0 47)
   do cat /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_cur_freq
done

I had attempted to just repeatedly read the entry for cpu1 and that did not have the desired effect.

$ uname -rvm
4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.