"Find definition" sometimes fails from core executable in some on 2.2.10

Bug #1996278 reported by Pierre Neidhardt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
New
Undecided
Unassigned

Bug Description

This is a bit of an odd one because I don't have a good recipe to share.

When I dump a core executable which includes a specific package `ambrevar/shell`, then load the said core executable and input the following

```
(SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME 'AMBREVAR/SHELL:FILE->STRING :FUNCTION)
```

it fails with

```
  Invalid index 8 for (SIMPLE-ARRAY (UNSIGNED-BYTE 16)
                       (7)) , should be a non-negative integer below 7.

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10038A8003}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-KERNEL:INDEX-TOO-LARGE-ERROR expected-type: (INTEGER 0 6) datum: 8> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<SB-KERNEL:INDEX-TOO-LARGE-ERROR expected-type: (INTEGER 0 6) datum: 8>)
2: (INVOKE-DEBUGGER #<SB-KERNEL:INDEX-TOO-LARGE-ERROR expected-type: (INTEGER 0 6) datum: 8>)
3: (ERROR SB-KERNEL:INDEX-TOO-LARGE-ERROR :DATUM 8 :SEQUENCE #(0 336 364 580 603 1338 1360) :EXPECTED-TYPE (INTEGER 0 6))
4: (ELT #(0 336 364 580 603 1338 1360) 8)
5: (SB-INTROSPECT::FIND-FUNCTION-DEFINITION-SOURCE #<FUNCTION AMBREVAR/SHELL:FILE->STRING>)
6: (SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME AMBREVAR/SHELL:FILE->STRING :FUNCTION)
7: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME (QUOTE AMBREVAR/SHELL:FILE->STRING) :FUNCTION) #<NULL-LEXENV>)
8: (EVAL (SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME (QUOTE AMBREVAR/SHELL:FILE->STRING) :FUNCTION))
9: (INTERACTIVE-EVAL (SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME (QUOTE AMBREVAR/SHELL:FILE->STRING) :FUNCTION) :EVAL NIL)
10: (SB-IMPL::REPL-FUN NIL)
11: ((LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL))
12: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL) {1003CB969B}>)
13: (SB-IMPL::TOPLEVEL-REPL NIL)
14: (SB-IMPL::TOPLEVEL-INIT)
15: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
16: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
17: (SB-IMPL::%START-LISP)

```

It works for symbols exported before this one in the file, but all symbols exported after this s-exp index 8 fail in a similar fashion. It's as if the source definition information was recorded shorted than it really is when dumping the image.

If I reload the system it works again.
Other packages (as far as I've tried) don't suffer from this issue, which makes this a bit hard to reproduce.

The problem did not occur on SBCL 2.2.6.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.