[ 
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
The command "build/docker/run.sh" exited with 2.



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)

Reply via email to