GNU bug report logs - #38388
[3.0.0] Inaccurate source location info for unbound variables

Previous Next

Package: guile;

Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Date: Tue, 26 Nov 2019 15:21:01 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: Andy Wingo <wingo <at> igalia.com>
Cc: 38388 <at> debbugs.gnu.org
Subject: bug#38388: [2.9.5] Inaccurate source location info for unbound variables
Date: Thu, 28 Nov 2019 09:20:58 +0100
Hello!

Andy Wingo <wingo <at> igalia.com> skribis:

> On Tue 26 Nov 2019 16:20, Ludovic Courtès <ludovic.courtes <at> inria.fr> writes:
>
>> I have a test that runs ‘guix system build’ on this file:
>>
>> (use-modules (gnu))                                   ; 1
>> (use-service-modules networking)                      ; 2
>>
>> (operating-system                                     ; 4
>>   (host-name "antelope")                              ; 5
>>   (timezone "Europe/Paris")                           ; 6
>>   (locale "en_US.UTF-8")                              ; 7
>>
>>   (bootloader (GRUB-config (target "/dev/sdX")))      ; 9
>>   (file-systems (cons (file-system
>>                         (device (file-system-label "root"))
>>                         (mount-point "/")
>>                         (type "ext4"))
>>                       %base-file-systems)))
>>
>> Here, ‘GRUB-config’ is unbound, and the test expects to see a stack
>> frame corresponding to line 9.
>>
>> However, the stack frame we get is for line 11, char 32, which
>> corresponds to (file-system-label "root").
>>
>> So it would seem that the IP-to-source-location mapping is not quite
>> working as expected.
>>
>> Thoughts?
>
> What version is this with?

The wrong location info is with 2.9.5.  2.2.x (and 2.0.x) work fine.

Any idea where I should poke for debugging?

> Unfortunately as you know, bare identifiers don't have good source
> location information.  There are small improvements that can be made but
> larger improvments are gnarly.  Could be this is a case for a small
> improvement though!

I know, that’s why this test checks a favorable case (symbol wrapped in
an sexp).  So I agree this would be a welcome improvement, but I think
it’s unnecessary for the purposes of the use case above.

Thanks,
Ludo’.




This bug report was last modified 5 years and 100 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.