From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#35622: Ran into a bug in the new graphical installer on WiFi setup Date: Thu, 09 May 2019 00:09:15 +0200 Message-ID: <87mujwtx84.fsf@gnu.org> References: <87sgtp3ovf.fsf@netris.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:37249) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hOUlH-0005N1-K9 for bug-guix@gnu.org; Wed, 08 May 2019 18:10:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hOUlG-0006Xj-L1 for bug-guix@gnu.org; Wed, 08 May 2019 18:10:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:48903) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hOUlG-0006XY-Gc for bug-guix@gnu.org; Wed, 08 May 2019 18:10:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hOUlG-0001fp-7V for bug-guix@gnu.org; Wed, 08 May 2019 18:10:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87sgtp3ovf.fsf@netris.org> (Mark H. Weaver's message of "Tue, 07 May 2019 18:01:29 -0400") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Mark H Weaver Cc: 35622@debbugs.gnu.org, Hugo Saavedra , Mathieu Othacehe --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, Mark H Weaver skribis: >>From the backtrace, I see that 'string-null?' was applied to #f, and I > guess it was the 'string-null?' called from the 'wifi-services' > procedure in (gnu installer newt wifi), here: > > (define (wifi-services) > "Return all the connman services of wifi type." > (let ((services (connman-services))) > (filter (lambda (service) > (and (string=3D? (service-type service) "wifi") > (not (string-null? (service-name service))))) > services))) > > It seems that one of the services returned by (connman-services) had #f > as its 'service-name'. The backtrace includes a (truncated) display of > the service in question: > > #< name: #f type: "wifi" path: "wifi_4cbb58=E2=80=A6> > > Looking at 'connman-services', it appears that in this case, the 'keys', > as returned by 'parse-keys' in (gnu installer connman), did not have a > "Name" association, or else its right-hand side was #f. I=E2=80=99ve tried =E2=80=9Cconnmanctl services xyz=E2=80=9D on the bare me= tal with an actual WiFi device. For me there=E2=80=99s always a =E2=80=9CName =3D something= =E2=80=9D property, and the =E2=80=9Csomething=E2=80=9D appears to be the SSID of the access point. Could it be that the access point does not advertise an SSID, and thus its =E2=80=9CName=E2=80=9D property is the empty string or is missing altog= ether? It could be that changing the =E2=80=98parse-keys=E2=80=99 regexp as shown = below would solve the problem for cases where =E2=80=9Cconnmanctl services xyz=E2=80=9D= writes literally: Name =3D=20 WDYT, Mathieu? Hugo, would it be an option for you to (1) boot the installation image, and (2) to grab the output of this command: for s in $(connmanctl services | cut -c 25- | grep wifi) ; do connmanctl = service $s ; done Note that it will provide information about the WiFi networks around you, which you may or may not want to share publicly. Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/installer/connman.scm b/gnu/installer/connman.scm index ef8cca3952..b6e3dfd909 100644 --- a/gnu/installer/connman.scm +++ b/gnu/installer/connman.scm @@ -170,7 +170,7 @@ to be translated." Return the corresponding association list of '((KEY . VALUE) (KEY2 . VALUE2) ...) elements." - (let ((key-regex (make-regexp "([^ ]+) = ([^$]+)"))) + (let ((key-regex (make-regexp "([^ ]+) = ([^$]*)"))) (map (lambda (key) (let ((match-key (regexp-exec key-regex key))) (cons (match:substring match-key 1) --=-=-=--