fare / acmart

Racket Scribble package for the 2017 ACM Master Article Template
Other
5 stars 1 forks source link

Breakage #1

Closed epipping closed 7 years ago

epipping commented 7 years ago

While I can still install the package, I'm told that there were errors during the installation and in particular, I can no longer create a PDF. Here's what happens:

% /Applications/Racket\ v6.7/bin/raco pkg install      
Linking current directory as a package
raco setup: version: 6.7
raco setup: platform: x86_64-macosx [3m]
raco setup: installation name: 6.7
raco setup: variants: 3m
raco setup: main collects: /Applications/Racket v6.7/collects
raco setup: collects paths: 
raco setup:   /Users/pipping/Library/Racket/6.7/collects
raco setup:   /Applications/Racket v6.7/collects
raco setup: main pkgs: /Applications/Racket v6.7/share/pkgs
raco setup: pkgs paths: 
raco setup:   /Applications/Racket v6.7/share/pkgs
raco setup:   /Users/pipping/Library/Racket/6.7/pkgs
raco setup: links files: 
raco setup:   /Applications/Racket v6.7/share/links.rktd
raco setup:   /Users/pipping/Library/Racket/6.7/links.rktd
raco setup: main docs: /Applications/Racket v6.7/doc
raco setup: --- updating info-domain tables ---
raco setup: updating: /Users/pipping/Library/Racket/6.7/share/info-cache.rktd
raco setup: --- pre-installing collections ---
raco setup: --- installing foreign libraries ---
raco setup: --- installing shared files ---
raco setup: --- compiling collections ---
raco setup: --- parallel build using 4 jobs ---
raco setup: 3 making: <pkgs>/acmart
raco setup: 3 making: <pkgs>/acmart/acmart
?? 0
acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
  compilation context...:
   /Users/pipping/acmart/acmart.rkt
  context...:
   standard-module-name-resolver
   /Applications/Racket v6.7/collects/compiler/cm.rkt:363:0: compile-zo*
   /Applications/Racket v6.7/collects/compiler/cm.rkt:572:26
   /Applications/Racket v6.7/collects/compiler/cm.rkt:564:42
   /Applications/Racket v6.7/collects/compiler/cm.rkt:643:2: do-check
   /Applications/Racket v6.7/collects/compiler/cm.rkt:736:4
   /Applications/Racket v6.7/collects/setup/../racket/private/more-scheme.rkt:261:28
   /Applications/Racket v6.7/collects/setup/../racket/private/more-scheme.rkt:261:28
   /Applications/Racket v6.7/collects/setup/parallel-do.rkt:435:20: loop
?? 0
acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
  compilation context...:
   /Users/pipping/acmart/acmart.rkt
   /Users/pipping/acmart/acmart/example-bib.rkt
  context...:
   standard-module-name-resolver
   /Applications/Racket v6.7/collects/compiler/cm.rkt:363:0: compile-zo*
   /Applications/Racket v6.7/collects/compiler/cm.rkt:572:26
   /Applications/Racket v6.7/collects/compiler/cm.rkt:564:42
   /Applications/Racket v6.7/collects/compiler/cm.rkt:643:2: do-check
   /Applications/Racket v6.7/collects/compiler/cm.rkt:781:4: compilation-manager-load-handler
   standard-module-name-resolver
   /Applications/Racket v6.7/collects/racket/require-transform.rkt:266:2: expand-import
   /Applications/Racket v6.7/collects/racket/private/reqprov.rkt:439:5
   /Applications/Racket v6.7/collects/racket/require-transform.rkt:266:2: expand-import
   /Applications/Racket v6.7/collects/racket/private/reqprov.rkt:266:21: try-next
   /Applications/Racket v6.7/collects/racket/private/reqprov.rkt:243:2
   /Applications/Racket v6.7/collects/syntax/wrap-modbeg.rkt:46:4
   /Applications/Racket v6.7/collects/compiler/cm.rkt:363:0: compile-zo*
   /Applications/Racket v6.7/collects/compiler/cm.rkt:572:26
   /Applications/Racket v6.7/collects/compiler/cm.rkt:564:42
   ...
?? 0
acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
  compilation context...:
   /Users/pipping/acmart/acmart.rkt
   /Users/pipping/acmart/acmart/acmart.scrbl
  context...:
   standard-module-name-resolver
   /Applications/Racket v6.7/collects/compiler/cm.rkt:363:0: compile-zo*
   /Applications/Racket v6.7/collects/compiler/cm.rkt:572:26
   /Applications/Racket v6.7/collects/compiler/cm.rkt:564:42
   /Applications/Racket v6.7/collects/compiler/cm.rkt:643:2: do-check
   /Applications/Racket v6.7/collects/compiler/cm.rkt:781:4: compilation-manager-load-handler
   standard-module-name-resolver
   /Applications/Racket v6.7/collects/compiler/cm.rkt:363:0: compile-zo*
   /Applications/Racket v6.7/collects/compiler/cm.rkt:572:26
   /Applications/Racket v6.7/collects/compiler/cm.rkt:564:42
   /Applications/Racket v6.7/collects/compiler/cm.rkt:643:2: do-check
   /Applications/Racket v6.7/collects/compiler/cm.rkt:736:4
   /Applications/Racket v6.7/collects/setup/../racket/private/more-scheme.rkt:261:28
   /Applications/Racket v6.7/collects/setup/../racket/private/more-scheme.rkt:261:28
   /Applications/Racket v6.7/collects/setup/parallel-do.rkt:435:20: loop
raco setup: --- creating launchers ---
raco setup: --- installing man pages ---
raco setup: --- building documentation ---
raco setup: 0 running: <pkgs>/acmart/acmart/acmart.scrbl
?? 0
acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
  context...:
   standard-module-name-resolver
   standard-module-name-resolver
   standard-module-name-resolver
   /Applications/Racket v6.7/share/pkgs/racket-index/setup/scribble.rkt:1517:27
   /Applications/Racket v6.7/share/pkgs/racket-index/setup/scribble.rkt:901:0: load-doc/ensure-prefix
   /Applications/Racket v6.7/share/pkgs/racket-index/setup/scribble.rkt:1159:13
   .../parallel-do.rkt:390:17
   /Applications/Racket v6.7/collects/setup/../racket/private/more-scheme.rkt:261:28
   /Applications/Racket v6.7/collects/setup/parallel-do.rkt:435:20: loop

  context...:
   /Applications/Racket v6.7/collects/setup/parallel-do.rkt:334:4: work-done method in list-queue%
   /Applications/Racket v6.7/collects/setup/parallel-do.rkt:284:17
   /Applications/Racket v6.7/collects/setup/parallel-do.rkt:238:4
   /Applications/Racket v6.7/share/pkgs/racket-index/setup/scribble.rkt:138:0: setup-scribblings
   /Applications/Racket v6.7/collects/setup/setup-core.rkt:70:0: setup-core
   /Applications/Racket v6.7/collects/setup/setup.rkt:65:3
   /Applications/Racket v6.7/collects/pkg/main.rkt:17:0: setup
   (submod /Applications/Racket v6.7/collects/pkg/main.rkt main): [running body]
   /Applications/Racket v6.7/collects/pkg/raco.rkt: [traversing imports]
   /Applications/Racket v6.7/collects/raco/raco.rkt: [running body]
   /Applications/Racket v6.7/collects/raco/main.rkt: [running body]
raco setup: --- installing collections ---
raco setup: --- post-installing collections ---
raco setup: --- summary of errors ---
raco setup: error: during making for <pkgs>/acmart
raco setup:   acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
raco setup:     compiling: <pkgs>/acmart/acmart.rkt
raco setup: error: during making for <pkgs>/acmart/acmart
raco setup:   acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
raco setup:     compiling: <pkgs>/acmart/acmart.rkt
raco setup: error: during making for <pkgs>/acmart/acmart
raco setup:   acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
raco setup:     compiling: <pkgs>/acmart/acmart.rkt
raco setup: error: during building docs for <pkgs>/acmart/acmart/acmart.scrbl
raco setup:   acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
raco setup:     context...:
raco setup:      standard-module-name-resolver
raco setup:      standard-module-name-resolver
raco setup:      standard-module-name-resolver
raco setup:      /Applications/Racket v6.7/share/pkgs/racket-index/setup/scribble.rkt:1517:27
raco setup:      /Applications/Racket v6.7/share/pkgs/racket-index/setup/scribble.rkt:901:0: load-doc/ensure-prefix
raco setup:      /Applications/Racket v6.7/share/pkgs/racket-index/setup/scribble.rkt:1159:13
raco setup:      .../parallel-do.rkt:390:17
raco setup:      /Applications/Racket v6.7/collects/setup/../racket/private/more-scheme.rkt:261:28
raco setup:      /Applications/Racket v6.7/collects/setup/parallel-do.rkt:435:20: loop
raco setup:   
raco pkg install: packages installed, although setup reported errors
%

Here's an example run for fare/asdf2017:

% PATH=/Applications/Racket\ v6.7/bin/:$PATH make asdf2017.pdf
time scribble --dest-name asdf2017.pdf --pdf asdf2017.scrbl
?? 0
/Users/pipping/acmart/acmart/compiled/download_rkt.zo::6383: read (compiled): ill-formed code [../../../racket/gc2/../src/validate.c:1424]
  context...:
   standard-module-name-resolver
   standard-module-name-resolver
   standard-module-name-resolver
   /Applications/Racket v6.7/share/pkgs/scribble-lib/scribble/run.rkt:143:24
   ...cket/cmdline.rkt:179:51
   /Applications/Racket v6.7/share/pkgs/scribble-lib/scribble/run.rkt: [running body]
        0.49 real         0.37 user         0.11 sys
make: *** [asdf2017.pdf] Error 1
% 
fare commented 7 years ago

Leif Andersen 3:02 PM, Jan 24th OHOHOHOH Okay, yes. I talked to @mflatt and that bug is fixed. That’s actually an internal Racket bug. (oddly enough we only noticed it because of a commit you made a while back. So thanks for helping us find it. :smile: ) Anyway, the bug didn’t exist in racket 6.6. (Its only in 6.7) Alternatively, if you want to use one of the nightly releases, the bug is fixed there. Or 6.8 should come out in a few days. Here are some snapshot builds that are likely going to be very similar to 2.8: https://www.cs.utah.edu/plt/snapshots/

fare commented 7 years ago

fahree [4:20 PM] I committed something???

leif [4:23 PM] oh, ya, but it wasn’t your fault, it just uncovered a bug in racket. Here is a link to the mailing list post:

[4:24]
https://groups.google.com/forum/#!topic/racket-dev/pSOgcAhQ4zo

[4:25]
And here is the commit that uncovered the bug: https://github.com/fare/acmart/commit/84702ed64d2c2c3a1694e82afeaa673027aa067a GitHub Download latest acmart, fix settopmatter. · fare/acmart@84702ed · GitHub printccs was misspelled in the v1.25 distributed by ACM, but fixed in v1.28. Also use (pretitle ...) so it appears early enough.

[4:25]
(Again, this is not a bug in our package, but in core racket.)

[4:26]
And it only shows up in Racket 6.7

fahree [4:26 PM] is there a workaround? use format instead of string-append?

leif [4:26 PM] If you use 6.8 (just been released) it should be gone

fahree [4:26 PM] not sure I can tell my two co-authors to upgrade their racket...

leif [4:26 PM] Ah, okay

fahree [4:26 PM] oh my own, on nixos

leif [4:27 PM] Ah…hmmph, okay

[4:27]
Well one thing you can do is remove the compiled/ directories in the acmart package.

[4:28]
Because this bug only happens when code has been previously compiled. (Which happens automatically when a package is installed.)

[4:28]
As for format vs string-append, I have no idea if that will make a difference.

[4:29]
The other thing you can do is just inline the function by hand. Its ugly, but it doesn’t trigger the optimization that confuses the verifier.

fahree [4:31 PM] should I add acmart/doc to .gitignore?

[4:31]
format looks like it works

leif [4:33 PM] Why do you say that? (I don’t see acmart/doc anywhere in the repo)

[4:33]
Also cool, changing it to that works for me.

fahree [4:34 PM] I did a raco pkg install and it generated stuff there

new messages leif [4:35 PM] very odd…(it didn’t do it for me.)