Megatest

Check-in [9b63886415]
Login
Overview
Comment:special handler for strange configdat not defined issue. Updated to retry up to five times.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.64
Files: files | file ages | folders
SHA1: 9b638864153f44bd6ca746b9852aad711cd102c4
User & Date: matt on 2017-03-28 18:35:48
Other Links: branch diff | manifest | tags
Context
2017-03-28
18:46
Added signature for FATAL ERROR: to triage.rb check-in: 4e774e65ea user: matt tags: v1.64
18:35
special handler for strange configdat not defined issue. Updated to retry up to five times. check-in: 9b63886415 user: matt tags: v1.64
17:07
adding triage script check-in: 01756c020e user: bjbarcla tags: v1.64
Changes

Modified runs.scm from [6be506be73] to [5aecd0eb79].

80
81
82
83
84
85
86

87
88







89
90



91
92
93
94
95
96
97
98
99
     vals
     (lambda (key val)
       (debug:print 2 *default-log-port* "setenv " key " " val)
       (safe-setenv key val)))
    (if (not (get-environment-variable "MT_TARGET"))(setenv "MT_TARGET" target))
    ;; we had a case where there was an exception generated by the hash-table-ref
    ;; due to *configdat* being #f Adding a handle and exit

    (handle-exceptions
	exn







	(begin
	  (debug:print 0 *default-log-port* "FATAL: *configdat* was inaccessible! This should never happen.")



	  (exit 1))
      (alist->env-vars (hash-table-ref/default *configdat* "env-override" '())))
    ;; Lets use this as an opportunity to put MT_RUNNAME in the environment
    (let ((runname  (if inrunname inrunname (rmt:get-run-name-from-id run-id))))
      (if runname
	  (setenv "MT_RUNNAME" runname)
	  (debug:print-error 0 *default-log-port* "no value for runname for id " run-id)))
    (setenv "MT_RUN_AREA_HOME" *toppath*)
    ;; if a testname and itempath are available set the remaining appropriate variables







>
|
|
>
>
>
>
>
>
>
|
|
>
>
>
|
|







80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
     vals
     (lambda (key val)
       (debug:print 2 *default-log-port* "setenv " key " " val)
       (safe-setenv key val)))
    (if (not (get-environment-variable "MT_TARGET"))(setenv "MT_TARGET" target))
    ;; we had a case where there was an exception generated by the hash-table-ref
    ;; due to *configdat* being #f Adding a handle and exit
    (let fatal-loop ((count 0))
      (handle-exceptions
	  exn
	  (let ((call-chain (get-call-chain))
		(msg        ((condition-property-accessor 'exn 'message) exn)))
	    (if (< count 5)
		(begin ;; this call is colliding, do some crude stuff to fix it.
		  (debug:print 0 *default-log-port* "ERROR: *configdat* was inaccessible! This should never happen. Retry #" count)
		  (launch:setup force-reread: #t)
		  (fatal-loop (+ count 1)))
		(begin
		  (debug:print 0 *default-log-port* "FATAL: *configdat* was inaccessible! This should never happen. Retried " count " times. Message: " msg)
		  (debug:print 0 *default-log-port* "Call chain:")
		  (with-output-to-port *default-log-port*
		    (lambda ()(pp call-chain)))
		  (exit 1))))
	(alist->env-vars (hash-table-ref/default *configdat* "env-override" '()))))
    ;; Lets use this as an opportunity to put MT_RUNNAME in the environment
    (let ((runname  (if inrunname inrunname (rmt:get-run-name-from-id run-id))))
      (if runname
	  (setenv "MT_RUNNAME" runname)
	  (debug:print-error 0 *default-log-port* "no value for runname for id " run-id)))
    (setenv "MT_RUN_AREA_HOME" *toppath*)
    ;; if a testname and itempath are available set the remaining appropriate variables