[
https://issues.apache.org/jira/browse/THRIFT-4676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16704655#comment-16704655
]
Allen George commented on THRIFT-4676:
--------------------------------------
This is the clearest example of the problem I've found to date:
[Travis Build Log for Job
454293219|https://api.travis-ci.org/v3/job/454293219/log.txt]
Relevant section:
{noformat}
make[2]: Entering directory '/thrift/src/tutorial/cl'
/thrift/src/compiler/cpp/thrift --gen cl -r ../../tutorial/tutorial.thrift
/usr/local/bin/sbcl --script make-tutorial-client.lisp
/usr/local/bin/sbcl --script make-tutorial-server.lisp
WARNING: System definition file
#P"/thrift/src/lib/cl/externals/software/puri-20180228-git/puri.asd" contains
definition for system "puri-tests". Please only define "puri" and secondary
systems with a name starting with "puri/" (e.g. "puri/test") in that file.
WARNING: System definition file
#P"/thrift/src/lib/cl/externals/software/puri-20180228-git/puri.asd" contains
definition for system "puri-tests". Please only define "puri" and secondary
systems with a name starting with "puri/" (e.g. "puri/test") in that file.
WARNING: System definition file
#P"/thrift/src/lib/cl/externals/software/trivial-utf-8-20111001-darcs/trivial-utf-8.asd"
contains definition for system "trivial-utf-8-tests". Please only define
"trivial-utf-8" and secondary systems with a name starting with
"trivial-utf-8/" (e.g. "trivial-utf-8/test") in that file.
WARNING: System definition file
#P"/thrift/src/lib/cl/externals/software/ieee-floats-20170830-git/ieee-floats.asd"
contains definition for system "ieee-floats-tests". Please only define
"ieee-floats" and secondary systems with a name starting with "ieee-floats/"
(e.g. "ieee-floats/test") in that file.
WARNING: System definition file
#P"/thrift/src/lib/cl/externals/software/trivial-utf-8-20111001-darcs/trivial-utf-8.asd"
contains definition for system "trivial-utf-8-tests". Please only define
"trivial-utf-8" and secondary systems with a name starting with
"trivial-utf-8/" (e.g. "trivial-utf-8/test") in that file.
WARNING: System definition file
#P"/thrift/src/lib/cl/externals/software/ieee-floats-20170830-git/ieee-floats.asd"
contains definition for system "ieee-floats-tests". Please only define
"ieee-floats" and secondary systems with a name starting with "ieee-floats/"
(e.g. "ieee-floats/test") in that file.
WARNING: Deprecated recursive use of (OPERATE 'LOAD-OP '("sb-grovel")) while
visiting (LOAD-OP "net.didierverna.clon.setup/termio") - please use proper
dependencies instead
WARNING: Deprecated recursive use of (OPERATE 'LOAD-OP '("sb-grovel")) while
visiting (LOAD-OP "net.didierverna.clon.setup/termio") - please use proper
dependencies instead
WARNING: PARSE-VERSION: "1.0b24" doesn't follow asdf version numbering
convention
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/net.didierverna.clon.asd",
using NIL instead
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/net.didierverna.clon.asd",
using NIL instead
WARNING: PARSE-VERSION: "1.0b24" doesn't follow asdf version numbering
convention
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/net.didierverna.clon.asd",
using NIL instead
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/net.didierverna.clon.asd",
using NIL instead
WARNING: PARSE-VERSION: "1.0b24" doesn't follow asdf version numbering
convention
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon.core" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/core/net.didierverna.clon.core.asd",
using NIL instead
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon.core" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/core/net.didierverna.clon.core.asd",
using NIL instead
WARNING: PARSE-VERSION: "1.0b24" doesn't follow asdf version numbering
convention
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon.core" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/core/net.didierverna.clon.core.asd",
using NIL instead
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon.core" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/core/net.didierverna.clon.core.asd",
using NIL instead
WARNING: PARSE-VERSION: "1.0b24" doesn't follow asdf version numbering
convention
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon.termio" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/termio/net.didierverna.clon.termio.asd",
using NIL instead
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon.termio" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/termio/net.didierverna.clon.termio.asd",
using NIL instead
WARNING: PARSE-VERSION: "1.0b24" doesn't follow asdf version numbering
convention
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon.termio" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/termio/net.didierverna.clon.termio.asd",
using NIL instead
WARNING: Invalid :version specifier "1.0b24" for component
"net.didierverna.clon.termio" from file
#P"/thrift/src/lib/cl/externals/software/clon-1.0b24/termio/net.didierverna.clon.termio.asd",
using NIL instead
; compiling file "/thrift/src/tutorial/cl/gen-cl/shared/shared-types.lisp"
(written 13 NOV 2018 05:04:47 AM):
; compiling file "/thrift/src/tutorial/cl/gen-cl/shared/shared-types.lisp"
(written 13 NOV 2018 05:04:47 AM):
; compiling (ORG.APACHE.THRIFT:DEF-PACKAGE :SHARED); compiling
(ORG.APACHE.THRIFT:DEF-PACKAGE :SHARED)
; compiling (IN-PACKAGE :SHARED)
; compiling (IN-PACKAGE :SHARED)
; compiling (DEF-STRUCT "sharedstruct" ...)
; compiling (DEF-STRUCT "sharedstruct" ...)
; compiling (DEF-SERVICE "SharedService" ...); compiling (DEF-SERVICE
"SharedService" ...)
;
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-types-tmpGHU3ALSW.fasl
written
;
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-types-tmpGHU3ALSV.fasl
written
; compilation finished in 0:00:00.145
; compilation finished in 0:00:00.145
; compiling file "/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.lisp"
(written 13 NOV 2018 05:04:47 AM):
; compiling (IN-PACKAGE :SHARED); compiling file
"/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.lisp" (written 13 NOV 2018
05:04:47 AM):
; compiling (IN-PACKAGE :SHARED)
;
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars-tmpAAURSO2.fasl
written
; compilation finished in 0:00:00.002
;
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars-tmpAAURSO1.fasl
written
; compilation finished in 0:00:00.002
Unhandled SB-INT:SIMPLE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread"
RUNNING
{10005285B3}>:
Failed to find the TRUENAME of
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.fasl:
Unknown error 2049
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005285B3}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-INT:SIMPLE-FILE-ERROR "~@<~?~@[:
~2I~_~A~]~:>" {10044D0DF3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<SB-INT:SIMPLE-FILE-ERROR
"~@<~?~@[: ~2I~_~A~]~:>" {10044D0DF3}>)
2: (INVOKE-DEBUGGER #<SB-INT:SIMPLE-FILE-ERROR "~@<~?~@[: ~2I~_~A~]~:>"
{10044D0DF3}>)
3: (ERROR SB-INT:SIMPLE-FILE-ERROR :PATHNAME
#P"/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.fasl"
:FORMAT-CONTROL "~@<~?~@[: ~2I~_~A~]~:>" :FORMAT-ARGUMENTS ("Failed to find
the ~*~A~2:* of ~A"
(#P"/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.fasl"
:TRUENAME) "Unknown error 2049"))
4: ((LABELS SB-IMPL::RESOLVE-PROBLEMATIC-SYMLINK :IN
SB-IMPL::%QUERY-FILE-SYSTEM)
"/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.fasl"
2049 T)
5: (SB-IMPL::%QUERY-FILE-SYSTEM
#P"/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.fasl"
:TRUENAME T)
6: (TRUENAME
#P"/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.fasl")
7: (RENAME-FILE
#P"/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars-tmpAAURSO2.fasl"
#P"/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.fasl")
8: (UIOP/LISP-BUILD:COMPILE-FILE*
#P"/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.lisp" :OUTPUT-FILE
#P"/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/shared/shared-vars.fasl"
:EXTERNAL-FORMAT :UTF-8 :WARNINGS-FILE NIL)
9: (ASDF/LISP-ACTION:PERFORM-LISP-COMPILATION #<ASDF/LISP-ACTION:COMPILE-OP >
#<ASDF/LISP-ACTION:CL-SOURCE-FILE "thrift-gen-shared" "shared-vars">)
10: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument>
#<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE
"thrift-gen-shared" "shared-vars">)
; compiling file "/thrift/src/tutorial/cl/gen-cl/tutorial/tutorial-types.lisp"
(written 13 NOV 2018 05:04:47 AM):
11: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
; compiling (ORG.APACHE.THRIFT:DEF-PACKAGE :TUTORIAL ...)12: ((:METHOD
ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP
> #<ASDF/LISP-ACTION:CL-SOURCE-FILE "thrift-gen-shared" "shared-vars">)
[fast-method]
13: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN
{10021A6F23}>) [fast-method]
14: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
15: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN
{10021A6F23}>) [fast-method]
; compiling (IN-PACKAGE :TUTORIAL)16: ((:METHOD ASDF/OPERATE:OPERATE
(ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP
> #<ASDF/SYSTEM:SYSTEM "thrift-tutorial"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL)
[fast-method]
17: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument>
#<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "thrift-tutorial">)
18: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
19: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP >
#<ASDF/SYSTEM:SYSTEM "thrift-tutorial">) [fast-method]
20: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument>
ASDF/LISP-ACTION:LOAD-OP :THRIFT-TUTORIAL)
21: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
22: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP
:THRIFT-TUTORIAL) [fast-method]
; compiling (DEF-ENUM "Operation" ...)23: (ASDF/SESSION:CALL-WITH-ASDF-SESSION
#<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {10021A33DB}> :OVERRIDE T :KEY
NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
24: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
25: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN
ASDF/OPERATE:OPERATE) {10021A03CB}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL
:OVERRIDE-FORCING NIL)
26: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP
:THRIFT-TUTORIAL) [fast-method]
27: (ASDF/OPERATE:LOAD-SYSTEM :THRIFT-TUTORIAL)
28: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:LOAD-SYSTEM :THRIFT-TUTORIAL)
#<NULL-LEXENV>)
29: (EVAL-TLF (ASDF/OPERATE:LOAD-SYSTEM :THRIFT-TUTORIAL) 7 NIL)
30: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE)
(ASDF/OPERATE:LOAD-SYSTEM :THRIFT-TUTORIAL) 7)
31: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN
SB-INT:LOAD-AS-SOURCE) (ASDF/OPERATE:LOAD-SYSTEM :THRIFT-TUTORIAL)
:CURRENT-INDEX 7)
; compiling (DEF-STRUCT "work" ...)32: (SB-C::%DO-FORMS-FROM-INFO #<CLOSURE
(LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN
SB-INT:LOAD-AS-SOURCE) {100182DD3B}> #<SB-C::SOURCE-INFO {100182DCF3}>
SB-C::INPUT-ERROR-IN-LOAD)
33: (SB-INT:LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file
/thrift/src/tutorial/cl/make-tutorial-server.lisp" {100181EB93}> :VERBOSE NIL
:PRINT NIL :CONTEXT "loading")
34: ((FLET SB-FASL::THUNK :IN LOAD))
35: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<CLOSURE (FLET SB-FASL::THUNK :IN LOAD)
{7F79E080F69B}> #<SB-SYS:FD-STREAM for "file
/thrift/src/tutorial/cl/make-tutorial-server.lisp" {100181EB93}>)
36: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-SYS:FD-STREAM for "file
/thrift/src/tutorial/cl/make-tutorial-server.lisp" {100181EB93}> NIL)
37: (LOAD #<SB-SYS:FD-STREAM for "file
/thrift/src/tutorial/cl/make-tutorial-server.lisp" {100181EB93}> :VERBOSE NIL
:PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
38: ((FLET SB-IMPL::LOAD-SCRIPT :IN SB-IMPL::PROCESS-SCRIPT) #<SB-SYS:FD-STREAM
for "file /thrift/src/tutorial/cl/make-tutorial-server.lisp" {100181EB93}>)
39: ((FLET SB-UNIX::BODY :IN SB-IMPL::PROCESS-SCRIPT))
40: ((FLET "WITHOUT-INTERRUPTS-BODY-2" :IN SB-IMPL::PROCESS-SCRIPT))
41: (SB-IMPL::PROCESS-SCRIPT "make-tutorial-server.lisp")
42: (SB-IMPL::TOPLEVEL-INIT)
43: ((FLET SB-UNIX::BODY :IN SAVE-LISP-AND-DIE))
44: ((FLET "WITHOUT-INTERRUPTS-BODY-27" :IN SAVE-LISP-AND-DIE))
45: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))
unhandled condition in --disable-debugger mode, quitting
;
; compilation unit aborted
; caught 1 fatal ERROR condition
Makefile:634: recipe for target 'TutorialServer' failed
make[2]: *** [TutorialServer] Error 1
make[2]: *** Waiting for unfinished jobs....
; compiling (DEF-EXCEPTION "invalidoperation" ...)
; compiling (DEF-SERVICE "Calculator" ...)
;
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/tutorial/tutorial-types-tmp5GEXGEG5.fasl
written
; compilation finished in 0:00:00.307
; compiling file "/thrift/src/tutorial/cl/gen-cl/tutorial/tutorial-vars.lisp"
(written 13 NOV 2018 05:04:47 AM):
; compiling (IN-PACKAGE :TUTORIAL)
; compiling (DEF-CONSTANT "INT32CONSTANT" ...)
; compiling (DEF-CONSTANT "MAPCONSTANT" ...)
;
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/gen-cl/tutorial/tutorial-vars-tmpAR3FSGEY.fasl
written
; compilation finished in 0:00:00.002
; compiling file "/thrift/src/tutorial/cl/shared-implementation.lisp" (written
13 NOV 2018 04:23:34 AM):
; compiling (IN-PACKAGE #:SHARED-IMPLEMENTATION)
; compiling (DEFVAR *STRUCTS* ...)
; compiling (DEFUN SHARED.SHARED-SERVICE-IMPLEMENTATION:GET-STRUCT ...)
; compiling (DEFUN ADD-LOG ...)
;
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/shared-implementation-tmpJAIDFZTC.fasl
written
; compilation finished in 0:00:00.005
; compiling file "/thrift/src/tutorial/cl/tutorial-implementation.lisp"
(written 13 NOV 2018 04:23:34 AM):
; compiling (IN-PACKAGE #:TUTORIAL-IMPLEMENTATION)
; compiling (DEFUN TUTORIAL.CALCULATOR-IMPLEMENTATION:PING ...)
; compiling (DEFUN TUTORIAL.CALCULATOR-IMPLEMENTATION:ADD ...)
; compiling (DEFUN TUTORIAL.CALCULATOR-IMPLEMENTATION:CALCULATE ...)
; compiling (DEFUN TUTORIAL.CALCULATOR-IMPLEMENTATION:ZIP ...)
;
/root/.cache/common-lisp/sbcl-1.4.12-linux-x64/thrift/src/tutorial/cl/tutorial-implementation-tmp8V3J6PE9.fasl
written
; compilation finished in 0:00:00.008
make[2]: Leaving directory '/thrift/src/tutorial/cl'
Makefile:570: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/thrift/src/tutorial'
Makefile:662: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
travis_time:end:03b6ef86:start=1542083240931428939,finish=1542085491864210580,duration=2250932781641
[0K[31;1mThe command "build/docker/run.sh" exited with 2.[0m
Done. Your build exited with 1.
{noformat}
Notice that although there's only one make job, both {{TutorialServer}} and
{{TutorialClient}} seem to be executed one after another _without waiting for
the first compile to finish_. I'm pretty sure this is the source of our
problems, because shared files for the two binaries appear to be created at the
same time. It's almost like the {{make-tutorial-client.lisp}} and
{{make-tutorial-server.lisp}} are async, and return before finishing, which is
bizarre.
> CL tutorial build fails sporadically
> ------------------------------------
>
> Key: THRIFT-4676
> URL: https://issues.apache.org/jira/browse/THRIFT-4676
> Project: Thrift
> Issue Type: Task
> Components: Build Process
> Reporter: Allen George
> Assignee: Allen George
> Priority: Minor
>
> Many of the CI failures are caused by the CL tutorial build failing. This
> isn't because the CL code is wrong, it's simply because of a race condition
> _somewhere_.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)