spends lots of time spinning on D-BUS when ofono restarts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Network Menu |
Fix Released
|
Undecided
|
Unassigned | ||
indicator-network (Ubuntu) |
Fix Released
|
Critical
|
Unassigned |
Bug Description
This got exposed when we started to use ofono-phonesim-
Reproducer: sudo restart ofono
Expected result: indicator-network notices that ofono goes off the system D-BUS, listens for an event when it comes back, and reconnects. this should take no noticeable amount of CPU
Actual result: indicator-
It might be that this only happens if you actually have a SIM card or other ofono device. If you don't, then you can reproduce with
sudo apt-get install ofono-phonesim xvfb
sudo with-ofono-phonesim # leave this running in a terminal
Related branches
- Antti Kaijanmäki (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 66 lines (+11/-11)2 files modifiednetwork/mobile-sim-manager.vala (+8/-8)
network/network-action-manager.vala (+3/-3)
Changed in indicator-network: | |
status: | Fix Committed → Fix Released |
$ G_DBUS_DEBUG=all /usr/lib/ arm-linux- gnueabihf/ indicator- network/ indicator- network- service
[...] let it settle, then restart ofono
You get a loop where this is being called over and over again:
======= ======= ======= ======= ======= ======= ======= ======= ======= ======= == .DBus.StartServ iceByName( ) p/DBus .DBus (serial 1022) ======= ======= ======= ======= ======= ======= ======= ======= ======= == Transport: ======= ======= ======= ======= ======= ======= ======= ======= ======= == Message: op/DBus' p.DBus' Name' p.DBus'
GDBus-debug:Call:
>>>> ASYNC org.freedesktop
on object /org/freedeskto
owned by name org.freedesktop
=======
GDBus-debug:
>>>> WROTE 172 bytes of message with serial 1022 and
size 172 from offset 0 on a GSocketOutputStream
=======
GDBus-debug:
>>>> SENT D-Bus message (172 bytes)
Type: method-call
Flags: none
Version: 0
Serial: 1022
Headers:
path -> objectpath '/org/freedeskt
interface -> 'org.freedeskto
member -> 'StartServiceBy
destination -> 'org.freedeskto
signature -> signature 'su'
Body: ('org.ofono', uint32 0)
UNIX File Descriptors:
(none)
0000: 6c 01 00 01 14 00 00 00 fe 03 00 00 85 00 00 00 l...............
0010: 08 01 67 00 02 73 75 00 01 01 6f 00 15 00 00 00 ..g..su...o.....
0020: 2f 6f 72 67 2f 66 72 65 65 64 65 73 6b 74 6f 70 /org/freedesktop
0030: 2f 44 42 75 73 00 00 00 03 01 73 00 12 00 00 00 /DBus.....s.....
0040: 53 74 61 72 74 53 65 72 76 69 63 65 42 79 4e 61 StartServiceByNa
0050: 6d 65 00 00 00 00 00 00 02 01 73 00 14 00 00 00 me........s.....
0060: 6f 72 67 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e org.freedesktop.
0070: 44 42 75 73 00 00 00 00 06 01 73 00 14 00 00 00 DBus......s.....
0080: 6f 72 67 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e org.freedesktop.
0090: 44 42 75 73 00 00 00 00 09 00 00 00 6f 72 67 2e DBus........org.
00a0: 6f 66 6f 6e 6f 00 00 00 00 00 00 00 ofono.......
======= ======= ======= ======= ======= ======= ======= ======= ======= ======= == Transport: ======= ======= ======= ======= ======= ======= ======= ======= ======= == Transport: ======= ======= ======= ======= ======= ======= ======= ======= ======= == Message: p.DBus. Error.ServiceUn known' p.DBus'
GDBus-debug:
<<<< READ 16 bytes of message with serial 422 and
size 198 to offset 0 from a GSocketInputStream
=======
GDBus-debug:
<<<< READ 182 bytes of message with serial 422 and
size 198 to offset 16 from a GSocketInputStream
=======
GDBus-debug:
<<<< RECEIVED D-Bus message (198 bytes)
Type: error
Flags: no-reply-expected
Version: 0
Serial: 422
Headers:
error-name -> 'org.freedeskto
reply-serial -> uint32 1022
destination -> ':1.314'
sender -> 'org.freedeskto
signature -> signature 's'
Body: ('The name org.ofono was not provided by any .service files',)
UNIX File Descriptors:
(none)
0000: 6c 03 01 01 3e 00 00 00 a6 01 00 00 75 00 00 00 l...>.......u...
0010: 06 01 73 00 06 00 00 00 3a 31 2e 33 31 34 00 00 ..s.....:1.314..
0020: 04 01 73 00 29 00 00 00 6f 72 67 2e 66 72 65 65 ..s.)...org.free
0030: 64 65 73 6b 74 6f 70 2e 44 42 75 73 2e 45 72 7...