Skip to content

Conversation

rpgoldman
Copy link

@rpgoldman rpgoldman commented Jan 23, 2024

Running the tests/runtime-args-test.sh on this branch (after make) as

cd tests
BUILDAPP=../buildapp ./runtime-args-test.sh

will describe the dumper object after parsing the command line, demonstrating that the dynamic-space-size slot is unset.

This branch should not be merged, but checking it out and running the test will demonstrate #36 which is the rationale for #39

Running the `tests/runtime-args-test.sh` on this branch (after `make`)
as

    cd tests
    BUILDAPP=../buildapp ./runtime-args-test.sh

will `describe` the `dumper` object after parsing the command line,
demonstrating that the `dynamic-space-size` slot is unset.
@rpgoldman
Copy link
Author

@xach -- did you ever have a chance to look at this test?

I just re-ran it with SBCL 2.5.0 and it seems that SBCL is still swallowing runtime arguments it shouldn't:

$ BUILDAPP=../buildapp ./runtime-args-test.sh
#<BUILDAPP::DUMPER test-app cl-user::main>
  [standard-object]

Slots with :INSTANCE allocation:
  PACKAGE                        = #:DUMPER124
  ACTIONS                        = ((:LOAD-SYSTEM "test-system"))
  ENTRY                          = cl-user::main
  DISPATCHED-ENTRIES             = NIL
  ASDF-DIRECTIVES                = ((:ASDF-PATH "/Users/rpg/lisp/buildapp/tests/"))
  LOAD-PATHS                     = NIL
  SBCL                           = "sbcl"
  CCL                            = "ccl"
  OUTPUT                         = "test-app"
  LOGFILE                        = NIL
  DUMPFILE-COPY                  = "./dumpfile.lisp"
  CORE-ONLY                      = NIL
  COMPRESS-CORE                  = NIL
  DYNAMIC-SPACE-SIZE             = NIL
;; loading system "test-system"

It's hard for me to tell if this is really a problem: is the fact that the DUMPER is missing dynamic-space-size a problem? Or is it just handled by the :save-runtime-options? I do not think that is the correct explanation, though, since I made a version of my test-app that prints the value of (dynamic-space-size) both from inside buildapp (using --eval) and inside the application:

(defun main (argv)
  (declare (ignore argv))
  (format t "~&This is the test application~%")
  (format t "~&On restart, dynamic space size is ~d~%"
          (dynamic-space-size))
  (uiop:quit 0))

When I change the value I pass to --dynamic-space-size, neither print changes.

I am willing to help debug this, but to be honest, I have no idea where to begin, since I don't know much about the internals of SBCL.

@xach
Copy link
Owner

xach commented Jan 30, 2025 via email

@xach
Copy link
Owner

xach commented Jan 30, 2025 via email

@xach
Copy link
Owner

xach commented Jan 30, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants