Subject: Re: bug#40572: installer networking: Connman detects no technologies on Acer Aspire

From: Ludovic Courtès <[email-masked]>
Date: Mon, 13 Apr 2020 19:11:19 +0200

Hi Florian,

It seems to me that the connman.service patch papers over the actual
problem:

"pelzflorian (Florian Pelz)" <[email-masked]> skribis:

> Apr 13 17:21:29 localhost vmunix: [   56.102520] shepherd[1]: Service uvesafb has been started.
> Apr 13 17:21:33 localhost shepherd[1]: Service dbus-system could not be started. 
> Apr 13 17:21:33 localhost shepherd[1]: Service networking depends on dbus-system. 
> Apr 13 17:21:33 localhost shepherd[1]: Service networking could not be started. 

[...]

> Apr 13 17:21:38 localhost shepherd[1]: Service dbus-system could not be started. 
> Apr 13 17:21:43 localhost shepherd[1]: Service dbus-system could not be started. 
> Apr 13 17:21:43 localhost shepherd[1]: Service wpa-supplicant depends on dbus-system. 
> Apr 13 17:21:43 localhost shepherd[1]: Service wpa-supplicant could not be started. 
> Apr 13 17:21:43 localhost shepherd[1]: Service loopback has been started. 

[...]

> Apr 13 17:21:55 localhost shepherd[1]: Service dbus-system could not be started. 
> Apr 13 17:21:55 localhost shepherd[1]: Service term-tty1 depends on dbus-system. 
> Apr 13 17:21:55 localhost shepherd[1]: Service term-tty1 could not be started. 
> Apr 13 17:21:55 localhost shepherd[1]: Service console-font-tty1 depends on term-tty1. 
> Apr 13 17:21:55 localhost shepherd[1]: Service console-font-tty1 could not be started. 
> Apr 13 17:21:55 localhost shepherd[1]: Service host-name has been started. 

[...]

> Apr 13 17:22:20 localhost shepherd[1]: Service console-font-tty2 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service host-name has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service term-tty3 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service console-font-tty3 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service host-name has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service term-tty4 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service console-font-tty4 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service host-name has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service term-tty5 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service console-font-tty5 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service host-name has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service term-tty6 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service console-font-tty6 has been started. 
> Apr 13 17:22:20 localhost shepherd[1]: Service guix-daemon has been started. 
> Apr 13 17:22:21 localhost shepherd[1]: Service dbus-system has been started. 
> Apr 13 17:22:21 localhost shepherd[1]: Service term-tty1 has been started. 

In my VM, ‘dbus-system’ starts just fine the first time, but I also
noticed that ‘host-name’ is started before ‘dbus-system’.

So, could you move away the connman.service patch and try instead the
attached patch.  It’ll create /dbus.trace.* files, which should allow us
to see how dbus-daemon stopped.

TIA!

Ludo’.

diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index 7b3c8100e2..a291ac402e 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -25,6 +25,7 @@
   #:use-module ((gnu packages glib) #:select (dbus))
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages linux)
   #:use-module (guix gexp)
   #:use-module ((guix packages) #:select (package-name))
   #:use-module (guix records)
@@ -186,9 +187,15 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
      (list (shepherd-service
             (documentation "Run the D-Bus system daemon.")
             (provision '(dbus-system))
-            (requirement '(user-processes syslogd))
+            (requirement '(user-processes syslogd)) ;<- add 'host-name' and/or 'nscd'
             (start #~(make-forkexec-constructor
-                      (list (string-append #$dbus "/bin/dbus-daemon")
+                      (list #$(file-append strace "/bin/strace")
+                            "-o"
+                            (let ((t (gettimeofday)))
+                              (format #f "/dbus.trace.~a.~a"
+                                      (car t) (cdr t)))
+                            "-s" "500" "-f"
+                            (string-append #$dbus "/bin/dbus-daemon")
                             "--nofork" "--system" "--syslog-only")
                       #:pid-file "/var/run/dbus/pid"))
             (stop #~(make-kill-destructor)))))))