Ran into a bug in the new graphical installer on WiFi setup

  • Done
  • quality assurance status badge
Details
3 participants
  • Hugo Saavedra
  • Ludovic Courtès
  • Mark H Weaver
Owner
unassigned
Submitted by
Hugo Saavedra
Severity
important
Merged with
H
H
Hugo Saavedra wrote on 7 May 2019 19:56
(address . bug-guix@gnu.org)
CAMa8jQ7-oVhgcUdDPTu0d=MuSHd8xck-XJ_vM9Kvrv-v_MCtqA@mail.gmail.com
Hello Guix team,

Thanks for your work on GuixSD. I was excited to try out the new graphical
installer, but ran into a bug while setting up WiFi.

I've uploaded photos of the stacktrace for you to take a look at. This is
running on a Dell Inspiron 11 3000 series.


Also, upon clicking "OK" I'm taken back to the original menu of the
installer. Going through the choices again, the installer cannot detect a
hard drive as it could before.

Let me know if I can help in any way or if you need more information.


--
*Hugo Saavedra*
Listen Systems http://listen.systems
c: 818-356-6664
Attachment: file
M
M
Mark H Weaver wrote on 8 May 2019 00:01
(name . Hugo Saavedra)(address . hm@listen.systems)(address . 35622@debbugs.gnu.org)
87sgtp3ovf.fsf@netris.org
Hi Hugo,

Hugo Saavedra <hm@listen.systems> writes:

Toggle quote (3 lines)
> Thanks for your work on GuixSD. I was excited to try out the new
> graphical installer, but ran into a bug while setting up WiFi.

I'm sorry to hear it. Thanks very much for the report.

Toggle quote (5 lines)
> I've uploaded photos of the stacktrace for you to take a look at. This
> is running on a Dell Inspiron 11 3000 series.
>
> https://imgur.com/a/qcwgNXr

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=? (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:

#<<service> name: #f type: "wifi" path: "wifi_4cbb58…>

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.

It would be good if someone more familiar with this code would
investigate further.

Thanks,
Mark
L
L
Ludovic Courtès wrote on 8 May 2019 15:06
(name . Mark H Weaver)(address . mhw@netris.org)
87k1f1w0wh.fsf@gnu.org
Hello,

Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (16 lines)
> Hugo Saavedra <hm@listen.systems> writes:
>
>> Thanks for your work on GuixSD. I was excited to try out the new
>> graphical installer, but ran into a bug while setting up WiFi.
>
> I'm sorry to hear it. Thanks very much for the report.
>
>> I've uploaded photos of the stacktrace for you to take a look at. This
>> is running on a Dell Inspiron 11 3000 series.
>>
>> https://imgur.com/a/qcwgNXr
>
> 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:

Could you post the image here? imgur.com says it’s “over capacity” and
I can’t see the image right now.

Ludo’.
H
H
Hugo Saavedra wrote on 8 May 2019 17:21
(name . Ludovic Courtès)(address . ludo@gnu.org)
CAMa8jQ7uCviRubpr=0ayCbN3T9D5RE5EtU+sg+pFyHvADyOzsA@mail.gmail.com
Sorry about that -- I just posted them on my own server here

On Wed, May 8, 2019 at 7:07 AM Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (27 lines)
> Hello,
>
> Mark H Weaver <mhw@netris.org> skribis:
>
> > Hugo Saavedra <hm@listen.systems> writes:
> >
> >> Thanks for your work on GuixSD. I was excited to try out the new
> >> graphical installer, but ran into a bug while setting up WiFi.
> >
> > I'm sorry to hear it. Thanks very much for the report.
> >
> >> I've uploaded photos of the stacktrace for you to take a look at. This
> >> is running on a Dell Inspiron 11 3000 series.
> >>
> >> https://imgur.com/a/qcwgNXr
> >
> > 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:
>
> Could you post the image here? imgur.com says it’s “over capacity” and
> I can’t see the image right now.
>
> Ludo’.
>


--
*Hugo Saavedra*
Listen Systems http://listen.systems
c: 818-356-6664
Attachment: file
L
L
Ludovic Courtès wrote on 8 May 2019 23:54
control message for bug #35622
(address . control@debbugs.gnu.org)
875zqkvchv.fsf@gnu.org
merge 35622 35620
L
L
Ludovic Courtès wrote on 9 May 2019 00:09
Re: bug#35622: Ran into a bug in the new graphical installer on WiFi setup
(name . Mark H Weaver)(address . mhw@netris.org)
87mujwtx84.fsf@gnu.org
Hello,

Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (22 lines)
>>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=? (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:
>
> #<<service> name: #f type: "wifi" path: "wifi_4cbb58…>
>
> 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’ve tried “connmanctl services xyz” on the bare metal with an actual
WiFi device. For me there’s always a “Name = something” property, and
the “something” appears to be the SSID of the access point.

Could it be that the access point does not advertise an SSID, and thus
its “Name” property is the empty string or is missing altogether?

It could be that changing the ‘parse-keys’ regexp as shown below would
solve the problem for cases where “connmanctl services xyz” writes
literally:

Name =

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’.
Toggle diff (13 lines)
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)
L
L
Ludovic Courtès wrote on 9 May 2019 00:32
(name . Mark H Weaver)(address . mhw@netris.org)
87ef58tw50.fsf@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (7 lines)
> I’ve tried “connmanctl services xyz” on the bare metal with an actual
> WiFi device. For me there’s always a “Name = something” property, and
> the “something” appears to be the SSID of the access point.
>
> Could it be that the access point does not advertise an SSID, and thus
> its “Name” property is the empty string or is missing altogether?

I tried to reproduce that in a VM by running hostapd and using the neat
‘mac80211_hwsim’ kernel module.

However, hostapd’s config file doesn’t allow empty SSIDs. So I set the
SSID to “ ” (a single space), but that’s correctly handled by the
installer.

Ludo’.
L
L
Ludovic Courtès wrote on 9 May 2019 00:32
control message for bug #35622
(address . control@debbugs.gnu.org)
87d0kstw4s.fsf@gnu.org
severity 35622 important
?