Test that buildapp does not see --dynamic-space-size#41
Test that buildapp does not see --dynamic-space-size#41rpgoldman wants to merge 1 commit intoxach:masterfrom
--dynamic-space-size#41Conversation
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.
|
@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: It's hard for me to tell if this is really a problem: is the fact that the DUMPER is missing When I change the value I pass to 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. |
|
I took a look and it seems to me like the SBCL binary saved with
:save-runtime-options t is improperly eating the command-line argument even
when memory options are saved in the core.
I can distill this down to a simple test (not involving buildapp) and ask
about it on the SBCL list.
…On Wed, Jan 29, 2025 at 5:46 PM rpgoldman ***@***.***> wrote:
@xach <https://github.com/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.
—
Reply to this email directly, view it on GitHub
<#41 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAEB767O3TIJGNT6GZJS432NFK37AVCNFSM6AAAAABWD6MS2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRTGA2DMNRQHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
Reported on https://bugs.launchpad.net/sbcl/+bug/2096995
…On Thu, Jan 30, 2025 at 6:24 AM Zach Beane ***@***.***> wrote:
I took a look and it seems to me like the SBCL binary saved with
:save-runtime-options t is improperly eating the command-line argument even
when memory options are saved in the core.
I can distill this down to a simple test (not involving buildapp) and ask
about it on the SBCL list.
On Wed, Jan 29, 2025 at 5:46 PM rpgoldman ***@***.***>
wrote:
> @xach <https://github.com/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.
>
> —
> Reply to this email directly, view it on GitHub
> <#41 (comment)>, or
> unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAAEB767O3TIJGNT6GZJS432NFK37AVCNFSM6AAAAABWD6MS2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRTGA2DMNRQHA>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
|
You can follow along on the launchpad page, but it looks like SBCL changed
how it handles dynamic-space-size in 2021 and I didn't notice. There wasn't
an update to the SBCL documentation to match the change.
Either I can persuade someone to revert to the original behavior or I'll
have to update buildapp to not advertise/support this option (and update
the SBCL docs too).
…On Thu, Jan 30, 2025 at 7:06 AM Zach Beane ***@***.***> wrote:
Reported on https://bugs.launchpad.net/sbcl/+bug/2096995
On Thu, Jan 30, 2025 at 6:24 AM Zach Beane ***@***.***> wrote:
> I took a look and it seems to me like the SBCL binary saved with
> :save-runtime-options t is improperly eating the command-line argument even
> when memory options are saved in the core.
>
> I can distill this down to a simple test (not involving buildapp) and ask
> about it on the SBCL list.
>
> On Wed, Jan 29, 2025 at 5:46 PM rpgoldman ***@***.***>
> wrote:
>
>> @xach <https://github.com/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.
>>
>> —
>> Reply to this email directly, view it on GitHub
>> <#41 (comment)>, or
>> unsubscribe
>> <https://github.com/notifications/unsubscribe-auth/AAAEB767O3TIJGNT6GZJS432NFK37AVCNFSM6AAAAABWD6MS2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRTGA2DMNRQHA>
>> .
>> You are receiving this because you were mentioned.Message ID:
>> ***@***.***>
>>
>
|
Running the
tests/runtime-args-test.shon this branch (aftermake) aswill
describethedumperobject after parsing the command line, demonstrating that thedynamic-space-sizeslot 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