gitlab-fluent-plugin-detect-exceptions 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CONTRIBUTING +24 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +67 -0
- data/LICENSE +201 -0
- data/README.rdoc +130 -0
- data/Rakefile +48 -0
- data/gitlab-fluent-plugin-detect-exceptions.gemspec +29 -0
- data/lib/fluent/plugin/exception_detector.rb +428 -0
- data/lib/fluent/plugin/out_detect_exceptions.rb +143 -0
- data/test/helper.rb +46 -0
- data/test/plugin/bench_exception_detector.rb +73 -0
- data/test/plugin/test_exception_detector.rb +1115 -0
- data/test/plugin/test_out_detect_exceptions.rb +350 -0
- metadata +134 -0
@@ -0,0 +1,1115 @@
|
|
1
|
+
# Copyright 2016 Google Inc. All rights reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require_relative '../helper'
|
16
|
+
require 'fluent/plugin/exception_detector'
|
17
|
+
|
18
|
+
class ExceptionDetectorTest < Test::Unit::TestCase
|
19
|
+
JAVA_EXC_PART1 = <<END.freeze
|
20
|
+
Jul 09, 2015 3:23:29 PM com.google.devtools.search.cloud.feeder.MakeLog: RuntimeException: Run from this message!
|
21
|
+
at com.my.app.Object.do$a1(MakeLog.java:50)
|
22
|
+
at java.lang.Thing.call(Thing.java:10)
|
23
|
+
END
|
24
|
+
|
25
|
+
JAVA_EXC_PART2 = <<END.freeze
|
26
|
+
at com.my.app.Object.help(MakeLog.java:40)
|
27
|
+
at sun.javax.API.method(API.java:100)
|
28
|
+
at com.jetty.Framework.main(MakeLog.java:30)
|
29
|
+
END
|
30
|
+
|
31
|
+
JAVA_EXC = (JAVA_EXC_PART1 + JAVA_EXC_PART2).freeze
|
32
|
+
|
33
|
+
COMPLEX_JAVA_EXC = <<END.freeze
|
34
|
+
javax.servlet.ServletException: Something bad happened
|
35
|
+
at com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:60)
|
36
|
+
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
|
37
|
+
at com.example.myproject.ExceptionHandlerFilter.doFilter(ExceptionHandlerFilter.java:28)
|
38
|
+
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
|
39
|
+
at com.example.myproject.OutputBufferFilter.doFilter(OutputBufferFilter.java:33)
|
40
|
+
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
|
41
|
+
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
|
42
|
+
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
|
43
|
+
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
|
44
|
+
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
|
45
|
+
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
|
46
|
+
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
|
47
|
+
at org.mortbay.jetty.Server.handle(Server.java:326)
|
48
|
+
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
|
49
|
+
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
|
50
|
+
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
|
51
|
+
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
|
52
|
+
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
|
53
|
+
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
|
54
|
+
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
|
55
|
+
Caused by: com.example.myproject.MyProjectServletException
|
56
|
+
at com.example.myproject.MyServlet.doPost(MyServlet.java:169)
|
57
|
+
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
|
58
|
+
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
|
59
|
+
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
|
60
|
+
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
|
61
|
+
at com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:30)
|
62
|
+
... 27 common frames omitted
|
63
|
+
END
|
64
|
+
|
65
|
+
NESTED_JAVA_EXC = <<END.freeze
|
66
|
+
java.lang.RuntimeException: javax.mail.SendFailedException: Invalid Addresses;
|
67
|
+
nested exception is:
|
68
|
+
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 <[REDACTED_EMAIL_ADDRESS]>... Relaying denied
|
69
|
+
|
70
|
+
at com.nethunt.crm.api.server.adminsync.AutomaticEmailFacade.sendWithSmtp(AutomaticEmailFacade.java:236)
|
71
|
+
at com.nethunt.crm.api.server.adminsync.AutomaticEmailFacade.sendSingleEmail(AutomaticEmailFacade.java:285)
|
72
|
+
at com.nethunt.crm.api.server.adminsync.AutomaticEmailFacade.lambda$sendSingleEmail$3(AutomaticEmailFacade.java:254)
|
73
|
+
at java.util.Optional.ifPresent(Optional.java:159)
|
74
|
+
at com.nethunt.crm.api.server.adminsync.AutomaticEmailFacade.sendSingleEmail(AutomaticEmailFacade.java:253)
|
75
|
+
at com.nethunt.crm.api.server.adminsync.AutomaticEmailFacade.sendSingleEmail(AutomaticEmailFacade.java:249)
|
76
|
+
at com.nethunt.crm.api.email.EmailSender.lambda$notifyPerson$0(EmailSender.java:80)
|
77
|
+
at com.nethunt.crm.api.util.ManagedExecutor.lambda$execute$0(ManagedExecutor.java:36)
|
78
|
+
at com.nethunt.crm.api.util.RequestContextActivator.lambda$withRequestContext$0(RequestContextActivator.java:36)
|
79
|
+
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
|
80
|
+
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
|
81
|
+
at java.base/java.lang.Thread.run(Thread.java:748)
|
82
|
+
Caused by: javax.mail.SendFailedException: Invalid Addresses;
|
83
|
+
nested exception is:
|
84
|
+
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 <[REDACTED_EMAIL_ADDRESS]>... Relaying denied
|
85
|
+
|
86
|
+
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:2064)
|
87
|
+
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1286)
|
88
|
+
at com.nethunt.crm.api.server.adminsync.AutomaticEmailFacade.sendWithSmtp(AutomaticEmailFacade.java:229)
|
89
|
+
... 12 more
|
90
|
+
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 <[REDACTED_EMAIL_ADDRESS]>... Relaying denied
|
91
|
+
END
|
92
|
+
|
93
|
+
NODE_JS_EXC = <<END.freeze
|
94
|
+
ReferenceError: myArray is not defined
|
95
|
+
at next (/app/node_modules/express/lib/router/index.js:256:14)
|
96
|
+
at /app/node_modules/express/lib/router/index.js:615:15
|
97
|
+
at next (/app/node_modules/express/lib/router/index.js:271:10)
|
98
|
+
at Function.process_params (/app/node_modules/express/lib/router/index.js:330:12)
|
99
|
+
at /app/node_modules/express/lib/router/index.js:277:22
|
100
|
+
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
|
101
|
+
at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)
|
102
|
+
at next (/app/node_modules/express/lib/router/route.js:131:13)
|
103
|
+
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
|
104
|
+
at /app/app.js:52:3
|
105
|
+
END
|
106
|
+
|
107
|
+
CLIENT_JS_EXC = <<END.freeze
|
108
|
+
Error
|
109
|
+
at bls (<anonymous>:3:9)
|
110
|
+
at <anonymous>:6:4
|
111
|
+
at a_function_name
|
112
|
+
at Object.InjectedScript._evaluateOn (http://<anonymous>/file.js?foo=bar:875:140)
|
113
|
+
at Object.InjectedScript.evaluate (<anonymous>)
|
114
|
+
END
|
115
|
+
|
116
|
+
V8_JS_EXC = <<END.freeze
|
117
|
+
V8 errors stack trace
|
118
|
+
eval at Foo.a (eval at Bar.z (myscript.js:10:3))
|
119
|
+
at new Contructor.Name (native)
|
120
|
+
at new FunctionName (unknown location)
|
121
|
+
at Type.functionName [as methodName] (file(copy).js?query='yes':12:9)
|
122
|
+
at functionName [as methodName] (native)
|
123
|
+
at Type.main(sample(copy).js:6:4)
|
124
|
+
END
|
125
|
+
|
126
|
+
PYTHON_EXC = <<END.freeze
|
127
|
+
Traceback (most recent call last):
|
128
|
+
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1535, in __call__
|
129
|
+
rv = self.handle_exception(request, response, e)
|
130
|
+
File "/base/data/home/apps/s~nearfieldspy/1.378705245900539993/nearfieldspy.py", line 17, in start
|
131
|
+
return get()
|
132
|
+
File "/base/data/home/apps/s~nearfieldspy/1.378705245900539993/nearfieldspy.py", line 5, in get
|
133
|
+
raise Exception('spam', 'eggs')
|
134
|
+
Exception: ('spam', 'eggs')
|
135
|
+
END
|
136
|
+
|
137
|
+
PHP_EXC = <<END.freeze
|
138
|
+
exception 'Exception' with message 'Custom exception' in /home/joe/work/test-php/test.php:5
|
139
|
+
Stack trace:
|
140
|
+
#0 /home/joe/work/test-php/test.php(9): func1()
|
141
|
+
#1 /home/joe/work/test-php/test.php(13): func2()
|
142
|
+
#2 {main}
|
143
|
+
END
|
144
|
+
|
145
|
+
PHP_ON_GAE_EXC = <<END.freeze
|
146
|
+
PHP Fatal error: Uncaught exception 'Exception' with message 'message' in /base/data/home/apps/s~crash-example-php/1.388306779641080894/errors.php:60
|
147
|
+
Stack trace:
|
148
|
+
#0 [internal function]: ErrorEntryGenerator::{closure}()
|
149
|
+
#1 /base/data/home/apps/s~crash-example-php/1.388306779641080894/errors.php(20): call_user_func_array(Object(Closure), Array)
|
150
|
+
#2 /base/data/home/apps/s~crash-example-php/1.388306779641080894/index.php(36): ErrorEntry->__call('raise', Array)
|
151
|
+
#3 /base/data/home/apps/s~crash-example-php/1.388306779641080894/index.php(36): ErrorEntry->raise()
|
152
|
+
#4 {main}
|
153
|
+
thrown in /base/data/home/apps/s~crash-example-php/1.388306779641080894/errors.php on line 60
|
154
|
+
END
|
155
|
+
|
156
|
+
GO_EXC = <<END.freeze
|
157
|
+
panic: my panic
|
158
|
+
|
159
|
+
goroutine 4 [running]:
|
160
|
+
panic(0x45cb40, 0x47ad70)
|
161
|
+
/usr/local/go/src/runtime/panic.go:542 +0x46c fp=0xc42003f7b8 sp=0xc42003f710 pc=0x422f7c
|
162
|
+
main.main.func1(0xc420024120)
|
163
|
+
foo.go:6 +0x39 fp=0xc42003f7d8 sp=0xc42003f7b8 pc=0x451339
|
164
|
+
runtime.goexit()
|
165
|
+
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42003f7e0 sp=0xc42003f7d8 pc=0x44b4d1
|
166
|
+
created by main.main
|
167
|
+
foo.go:5 +0x58
|
168
|
+
|
169
|
+
goroutine 1 [chan receive]:
|
170
|
+
runtime.gopark(0x4739b8, 0xc420024178, 0x46fcd7, 0xc, 0xc420028e17, 0x3)
|
171
|
+
/usr/local/go/src/runtime/proc.go:280 +0x12c fp=0xc420053e30 sp=0xc420053e00 pc=0x42503c
|
172
|
+
runtime.goparkunlock(0xc420024178, 0x46fcd7, 0xc, 0x1000f010040c217, 0x3)
|
173
|
+
/usr/local/go/src/runtime/proc.go:286 +0x5e fp=0xc420053e70 sp=0xc420053e30 pc=0x42512e
|
174
|
+
runtime.chanrecv(0xc420024120, 0x0, 0xc420053f01, 0x4512d8)
|
175
|
+
/usr/local/go/src/runtime/chan.go:506 +0x304 fp=0xc420053f20 sp=0xc420053e70 pc=0x4046b4
|
176
|
+
runtime.chanrecv1(0xc420024120, 0x0)
|
177
|
+
/usr/local/go/src/runtime/chan.go:388 +0x2b fp=0xc420053f50 sp=0xc420053f20 pc=0x40439b
|
178
|
+
main.main()
|
179
|
+
foo.go:9 +0x6f fp=0xc420053f80 sp=0xc420053f50 pc=0x4512ef
|
180
|
+
runtime.main()
|
181
|
+
/usr/local/go/src/runtime/proc.go:185 +0x20d fp=0xc420053fe0 sp=0xc420053f80 pc=0x424bad
|
182
|
+
runtime.goexit()
|
183
|
+
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420053fe8 sp=0xc420053fe0 pc=0x44b4d1
|
184
|
+
|
185
|
+
goroutine 2 [force gc (idle)]:
|
186
|
+
runtime.gopark(0x4739b8, 0x4ad720, 0x47001e, 0xf, 0x14, 0x1)
|
187
|
+
/usr/local/go/src/runtime/proc.go:280 +0x12c fp=0xc42003e768 sp=0xc42003e738 pc=0x42503c
|
188
|
+
runtime.goparkunlock(0x4ad720, 0x47001e, 0xf, 0xc420000114, 0x1)
|
189
|
+
/usr/local/go/src/runtime/proc.go:286 +0x5e fp=0xc42003e7a8 sp=0xc42003e768 pc=0x42512e
|
190
|
+
runtime.forcegchelper()
|
191
|
+
/usr/local/go/src/runtime/proc.go:238 +0xcc fp=0xc42003e7e0 sp=0xc42003e7a8 pc=0x424e5c
|
192
|
+
runtime.goexit()
|
193
|
+
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42003e7e8 sp=0xc42003e7e0 pc=0x44b4d1
|
194
|
+
created by runtime.init.4
|
195
|
+
/usr/local/go/src/runtime/proc.go:227 +0x35
|
196
|
+
|
197
|
+
goroutine 3 [GC sweep wait]:
|
198
|
+
runtime.gopark(0x4739b8, 0x4ad7e0, 0x46fdd2, 0xd, 0x419914, 0x1)
|
199
|
+
/usr/local/go/src/runtime/proc.go:280 +0x12c fp=0xc42003ef60 sp=0xc42003ef30 pc=0x42503c
|
200
|
+
runtime.goparkunlock(0x4ad7e0, 0x46fdd2, 0xd, 0x14, 0x1)
|
201
|
+
/usr/local/go/src/runtime/proc.go:286 +0x5e fp=0xc42003efa0 sp=0xc42003ef60 pc=0x42512e
|
202
|
+
runtime.bgsweep(0xc42001e150)
|
203
|
+
/usr/local/go/src/runtime/mgcsweep.go:52 +0xa3 fp=0xc42003efd8 sp=0xc42003efa0 pc=0x419973
|
204
|
+
runtime.goexit()
|
205
|
+
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42003efe0 sp=0xc42003efd8 pc=0x44b4d1
|
206
|
+
created by runtime.gcenable
|
207
|
+
/usr/local/go/src/runtime/mgc.go:216 +0x58
|
208
|
+
END
|
209
|
+
|
210
|
+
GO_ON_GAE_EXC = <<END.freeze
|
211
|
+
panic: runtime error: index out of range
|
212
|
+
|
213
|
+
goroutine 12 [running]:
|
214
|
+
main88989.memoryAccessException()
|
215
|
+
crash_example_go.go:58 +0x12a
|
216
|
+
main88989.handler(0x2afb7042a408, 0xc01042f880, 0xc0104d3450)
|
217
|
+
crash_example_go.go:36 +0x7ec
|
218
|
+
net/http.HandlerFunc.ServeHTTP(0x13e5128, 0x2afb7042a408, 0xc01042f880, 0xc0104d3450)
|
219
|
+
go/src/net/http/server.go:1265 +0x56
|
220
|
+
net/http.(*ServeMux).ServeHTTP(0xc01045cab0, 0x2afb7042a408, 0xc01042f880, 0xc0104d3450)
|
221
|
+
go/src/net/http/server.go:1541 +0x1b4
|
222
|
+
appengine_internal.executeRequestSafely(0xc01042f880, 0xc0104d3450)
|
223
|
+
go/src/appengine_internal/api_prod.go:288 +0xb7
|
224
|
+
appengine_internal.(*server).HandleRequest(0x15819b0, 0xc010401560, 0xc0104c8180, 0xc010431380, 0x0, 0x0)
|
225
|
+
go/src/appengine_internal/api_prod.go:222 +0x102b
|
226
|
+
reflect.Value.call(0x1243fe0, 0x15819b0, 0x113, 0x12c8a20, 0x4, 0xc010485f78, 0x3, 0x3, 0x0, 0x0, ...)
|
227
|
+
/tmp/appengine/go/src/reflect/value.go:419 +0x10fd
|
228
|
+
reflect.Value.Call(0x1243fe0, 0x15819b0, 0x113, 0xc010485f78, 0x3, 0x3, 0x0, 0x0, 0x0)
|
229
|
+
/tmp/ap
|
230
|
+
END
|
231
|
+
|
232
|
+
GO_SIGNAL_EXC = <<END.freeze
|
233
|
+
panic: runtime error: invalid memory address or nil pointer dereference
|
234
|
+
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7fd34f]
|
235
|
+
|
236
|
+
goroutine 5 [running]:
|
237
|
+
panics.nilPtrDereference()
|
238
|
+
panics/panics.go:33 +0x1f
|
239
|
+
panics.Wait()
|
240
|
+
panics/panics.go:16 +0x3b
|
241
|
+
created by main.main
|
242
|
+
server.go:20 +0x91
|
243
|
+
END
|
244
|
+
|
245
|
+
GO_HTTP = <<END.freeze
|
246
|
+
2019/01/15 07:48:05 http: panic serving [::1]:54143: test panic
|
247
|
+
goroutine 24 [running]:
|
248
|
+
net/http.(*conn).serve.func1(0xc00007eaa0)
|
249
|
+
/usr/local/go/src/net/http/server.go:1746 +0xd0
|
250
|
+
panic(0x12472a0, 0x12ece10)
|
251
|
+
/usr/local/go/src/runtime/panic.go:513 +0x1b9
|
252
|
+
main.doPanic(0x12f0ea0, 0xc00010e1c0, 0xc000104400)
|
253
|
+
/Users/ingvar/src/go/src/httppanic.go:8 +0x39
|
254
|
+
net/http.HandlerFunc.ServeHTTP(0x12be2e8, 0x12f0ea0, 0xc00010e1c0, 0xc000104400)
|
255
|
+
/usr/local/go/src/net/http/server.go:1964 +0x44
|
256
|
+
net/http.(*ServeMux).ServeHTTP(0x14a17a0, 0x12f0ea0, 0xc00010e1c0, 0xc000104400)
|
257
|
+
/usr/local/go/src/net/http/server.go:2361 +0x127
|
258
|
+
net/http.serverHandler.ServeHTTP(0xc000085040, 0x12f0ea0, 0xc00010e1c0, 0xc000104400)
|
259
|
+
/usr/local/go/src/net/http/server.go:2741 +0xab
|
260
|
+
net/http.(*conn).serve(0xc00007eaa0, 0x12f10a0, 0xc00008a780)
|
261
|
+
/usr/local/go/src/net/http/server.go:1847 +0x646
|
262
|
+
created by net/http.(*Server).Serve
|
263
|
+
/usr/local/go/src/net/http/server.go:2851 +0x2f5
|
264
|
+
END
|
265
|
+
CSHARP_EXC = <<END.freeze
|
266
|
+
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
|
267
|
+
at System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.Dictionary`2[System.Int32,System.Double]].get_Item (System.String key) [0x00000] in <filename unknown>:0
|
268
|
+
at File3.Consolidator_Class.Function5 (System.Collections.Generic.Dictionary`2 names, System.Text.StringBuilder param_4) [0x00007] in /usr/local/google/home/Csharp/another file.csharp:9
|
269
|
+
at File3.Consolidator_Class.Function4 (System.Text.StringBuilder param_4, System.Double[,,] array) [0x00013] in /usr/local/google/home/Csharp/another file.csharp:23
|
270
|
+
at File3.Consolidator_Class.Function3 (Int32 param_3) [0x0000f] in /usr/local/google/home/Csharp/another file.csharp:27
|
271
|
+
at File3.Consolidator_Class.Function3 (System.Text.StringBuilder param_3) [0x00007] in /usr/local/google/home/Csharp/another file.csharp:32
|
272
|
+
at File2.Processor.Function2 (System.Int32& param_2, System.Collections.Generic.Stack`1& numbers) [0x00003] in /usr/local/google/home/Csharp/File2.csharp:19
|
273
|
+
at File2.Processor.Random2 () [0x00037] in /usr/local/google/home/Csharp/File2.csharp:28
|
274
|
+
at File2.Processor.Function1 (Int32 param_1, System.Collections.Generic.Dictionary`2 map) [0x00007] in /usr/local/google/home/Csharp/File2.csharp:34
|
275
|
+
at Main.Welcome+<Main>c__AnonStorey0.<>m__0 () [0x00006] in /usr/local/google/home/Csharp/hello.csharp:48
|
276
|
+
at System.Threading.Thread.StartInternal () [0x00000] in <filename unknown>:0
|
277
|
+
END
|
278
|
+
|
279
|
+
CSHARP_NESTED_EXC = <<END.freeze
|
280
|
+
System.InvalidOperationException: This is the outer exception ---> System.InvalidOperationException: This is the inner exception
|
281
|
+
at ExampleApp.NestedExceptionExample.LowestLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 33
|
282
|
+
at ExampleApp.NestedExceptionExample.ThirdLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 28
|
283
|
+
at ExampleApp.NestedExceptionExample.SecondLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 18
|
284
|
+
--- End of inner exception stack trace ---
|
285
|
+
at ExampleApp.NestedExceptionExample.SecondLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 22
|
286
|
+
at ExampleApp.NestedExceptionExample.TopLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 11
|
287
|
+
at ExampleApp.Program.Main(String[] args) in c:/ExampleApp/ExampleApp/Program.cs:line 11
|
288
|
+
END
|
289
|
+
|
290
|
+
CSHARP_ASYNC_EXC = <<END.freeze
|
291
|
+
System.InvalidOperationException: This is an exception
|
292
|
+
at ExampleApp2.AsyncExceptionExample.LowestLevelMethod() in c:/ExampleApp/ExampleApp/AsyncExceptionExample.cs:line 36
|
293
|
+
at ExampleApp2.AsyncExceptionExample.<ThirdLevelMethod>d__2.MoveNext() in c:/ExampleApp/ExampleApp/AsyncExceptionExample.cs:line 31
|
294
|
+
--- End of stack trace from previous location where exception was thrown ---
|
295
|
+
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
|
296
|
+
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
|
297
|
+
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
|
298
|
+
at ExampleApp2.AsyncExceptionExample.<SecondLevelMethod>d__1.MoveNext() in c:/ExampleApp/ExampleApp/AsyncExceptionExample.cs:line 25
|
299
|
+
--- End of stack trace from previous location where exception was thrown ---
|
300
|
+
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
|
301
|
+
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
|
302
|
+
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
|
303
|
+
at ExampleApp2.AsyncExceptionExample.<TopLevelMethod>d__0.MoveNext() in c:/ExampleApp/ExampleApp/AsyncExceptionExample.cs:line 14
|
304
|
+
END
|
305
|
+
|
306
|
+
RUBY_EXC = <<END.freeze
|
307
|
+
NoMethodError (undefined method `resursivewordload' for #<BooksController:0x007f8dd9a0c738>):
|
308
|
+
app/controllers/books_controller.rb:69:in `recursivewordload'
|
309
|
+
app/controllers/books_controller.rb:75:in `loadword'
|
310
|
+
app/controllers/books_controller.rb:79:in `loadline'
|
311
|
+
app/controllers/books_controller.rb:83:in `loadparagraph'
|
312
|
+
app/controllers/books_controller.rb:87:in `loadpage'
|
313
|
+
app/controllers/books_controller.rb:91:in `onload'
|
314
|
+
app/controllers/books_controller.rb:95:in `loadrecursive'
|
315
|
+
app/controllers/books_controller.rb:99:in `requestload'
|
316
|
+
app/controllers/books_controller.rb:118:in `generror'
|
317
|
+
config/error_reporting_logger.rb:62:in `tagged'
|
318
|
+
END
|
319
|
+
|
320
|
+
RUBY_SEGFAULT_EXC = <<END.freeze
|
321
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly/repository-service_pb.rb:362: [BUG] Segmentation fault at 0x0000000000000089
|
322
|
+
ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
|
323
|
+
|
324
|
+
-- Control frame information -----------------------------------------------
|
325
|
+
c:0048 p:---- s:0264 e:000263 CFUNC :lookup
|
326
|
+
c:0047 p:1416 s:0259 e:000258 CLASS /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly/repository-service_pb.rb:362
|
327
|
+
c:0046 p:0049 s:0256 e:000255 TOP /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly/repository-service_pb.rb:318 [FINISH]
|
328
|
+
c:0045 p:---- s:0253 e:000252 CFUNC :require
|
329
|
+
c:0044 p:0007 s:0248 e:000247 BLOCK /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332
|
330
|
+
c:0043 p:0068 s:0245 e:000244 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299
|
331
|
+
c:0042 p:0010 s:0238 e:000237 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332
|
332
|
+
c:0041 p:0011 s:0232 e:000231 TOP /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly/repository-service_services_pb.rb:5 [FINISH]
|
333
|
+
c:0040 p:---- s:0229 e:000228 CFUNC :require
|
334
|
+
c:0039 p:0007 s:0224 e:000223 BLOCK /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332
|
335
|
+
c:0038 p:0068 s:0221 e:000220 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299
|
336
|
+
c:0037 p:0010 s:0214 e:000213 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332
|
337
|
+
c:0036 p:0109 s:0208 e:000207 TOP /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly.rb:32 [FINISH]
|
338
|
+
c:0035 p:---- s:0205 e:000204 CFUNC :require
|
339
|
+
c:0034 p:0032 s:0200 e:000199 BLOCK /usr/local/lib/ruby/2.7.0/bundler/runtime.rb:74 [FINISH]
|
340
|
+
c:0033 p:---- s:0195 e:000194 CFUNC :each
|
341
|
+
c:0032 p:0042 s:0191 e:000190 BLOCK /usr/local/lib/ruby/2.7.0/bundler/runtime.rb:69 [FINISH]
|
342
|
+
c:0031 p:---- s:0184 e:000183 CFUNC :each
|
343
|
+
c:0030 p:0026 s:0180 e:000179 METHOD /usr/local/lib/ruby/2.7.0/bundler/runtime.rb:58
|
344
|
+
c:0029 p:0013 s:0175 e:000174 METHOD /usr/local/lib/ruby/2.7.0/bundler.rb:174
|
345
|
+
c:0028 p:0016 s:0170 e:000169 BLOCK /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/derailed_benchmarks-1.8.1/bin/derailed:53
|
346
|
+
c:0027 p:0006 s:0167 e:000166 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/memory_profiler-0.9.14/lib/memory_profiler/reporter.rb:74
|
347
|
+
c:0026 p:0015 s:0162 e:000161 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/memory_profiler-0.9.14/lib/memory_profiler/reporter.rb:33
|
348
|
+
c:0025 p:0021 s:0156 e:000155 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/memory_profiler-0.9.14/lib/memory_profiler.rb:15
|
349
|
+
c:0024 p:0062 s:0150 e:000149 BLOCK /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/derailed_benchmarks-1.8.1/bin/derailed:52 [FINISH]
|
350
|
+
c:0023 p:0054 s:0145 e:000144 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27
|
351
|
+
c:0022 p:0040 s:0137 e:000136 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127
|
352
|
+
c:0021 p:0235 s:0130 e:000129 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/thor-1.1.0/lib/thor.rb:392
|
353
|
+
c:0020 p:0062 s:0117 e:000116 METHOD /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485
|
354
|
+
c:0019 p:0144 s:0110 e:000109 TOP /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/derailed_benchmarks-1.8.1/bin/derailed:93 [FINISH]
|
355
|
+
c:0018 p:---- s:0106 e:000105 CFUNC :load
|
356
|
+
c:0017 p:0112 s:0101 e:000100 TOP /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/derailed:23 [FINISH]
|
357
|
+
c:0016 p:---- s:0096 e:000095 CFUNC :load
|
358
|
+
c:0015 p:0107 s:0091 e:000090 METHOD /usr/local/lib/ruby/2.7.0/bundler/cli/exec.rb:63
|
359
|
+
c:0014 p:0071 s:0083 e:000082 METHOD /usr/local/lib/ruby/2.7.0/bundler/cli/exec.rb:28
|
360
|
+
c:0013 p:0024 s:0078 e:000077 METHOD /usr/local/lib/ruby/2.7.0/bundler/cli.rb:476
|
361
|
+
c:0012 p:0054 s:0073 e:000072 METHOD /usr/local/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/command.rb:27
|
362
|
+
c:0011 p:0040 s:0065 e:000064 METHOD /usr/local/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/invocation.rb:127
|
363
|
+
c:0010 p:0239 s:0058 e:000057 METHOD /usr/local/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor.rb:399
|
364
|
+
c:0009 p:0008 s:0045 e:000044 METHOD /usr/local/lib/ruby/2.7.0/bundler/cli.rb:30
|
365
|
+
c:0008 p:0066 s:0040 e:000039 METHOD /usr/local/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/base.rb:476
|
366
|
+
c:0007 p:0008 s:0033 e:000032 METHOD /usr/local/lib/ruby/2.7.0/bundler/cli.rb:24
|
367
|
+
c:0006 p:0109 s:0028 e:000027 BLOCK /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:46
|
368
|
+
c:0005 p:0002 s:0022 e:000021 METHOD /usr/local/lib/ruby/2.7.0/bundler/friendly_errors.rb:123
|
369
|
+
c:0004 p:0111 s:0017 E:001058 TOP /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:34 [FINISH]
|
370
|
+
c:0003 p:---- s:0013 e:000012 CFUNC :load
|
371
|
+
c:0002 p:0112 s:0008 E:002460 EVAL /usr/local/bin/bundle:23 [FINISH]
|
372
|
+
c:0001 p:0000 s:0003 E:0023a0 (none) [FINISH]
|
373
|
+
|
374
|
+
-- Ruby level backtrace information ----------------------------------------
|
375
|
+
/usr/local/bin/bundle:23:in `<main>'
|
376
|
+
/usr/local/bin/bundle:23:in `load'
|
377
|
+
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:34:in `<top (required)>'
|
378
|
+
/usr/local/lib/ruby/2.7.0/bundler/friendly_errors.rb:123:in `with_friendly_errors'
|
379
|
+
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:46:in `block in <top (required)>'
|
380
|
+
/usr/local/lib/ruby/2.7.0/bundler/cli.rb:24:in `start'
|
381
|
+
/usr/local/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
|
382
|
+
/usr/local/lib/ruby/2.7.0/bundler/cli.rb:30:in `dispatch'
|
383
|
+
/usr/local/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
|
384
|
+
/usr/local/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
|
385
|
+
/usr/local/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
|
386
|
+
/usr/local/lib/ruby/2.7.0/bundler/cli.rb:476:in `exec'
|
387
|
+
/usr/local/lib/ruby/2.7.0/bundler/cli/exec.rb:28:in `run'
|
388
|
+
/usr/local/lib/ruby/2.7.0/bundler/cli/exec.rb:63:in `kernel_load'
|
389
|
+
/usr/local/lib/ruby/2.7.0/bundler/cli/exec.rb:63:in `load'
|
390
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/derailed:23:in `<top (required)>'
|
391
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/derailed:23:in `load'
|
392
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/derailed_benchmarks-1.8.1/bin/derailed:93:in `<top (required)>'
|
393
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
|
394
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
|
395
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
|
396
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
|
397
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/derailed_benchmarks-1.8.1/bin/derailed:52:in `block in <class:DerailedBenchmarkCLI>'
|
398
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/memory_profiler-0.9.14/lib/memory_profiler.rb:15:in `report'
|
399
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/memory_profiler-0.9.14/lib/memory_profiler/reporter.rb:33:in `report'
|
400
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/memory_profiler-0.9.14/lib/memory_profiler/reporter.rb:74:in `run'
|
401
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/derailed_benchmarks-1.8.1/bin/derailed:53:in `block (2 levels) in <class:DerailedBenchmarkCLI>'
|
402
|
+
/usr/local/lib/ruby/2.7.0/bundler.rb:174:in `require'
|
403
|
+
/usr/local/lib/ruby/2.7.0/bundler/runtime.rb:58:in `require'
|
404
|
+
/usr/local/lib/ruby/2.7.0/bundler/runtime.rb:58:in `each'
|
405
|
+
/usr/local/lib/ruby/2.7.0/bundler/runtime.rb:69:in `block in require'
|
406
|
+
/usr/local/lib/ruby/2.7.0/bundler/runtime.rb:69:in `each'
|
407
|
+
/usr/local/lib/ruby/2.7.0/bundler/runtime.rb:74:in `block (2 levels) in require'
|
408
|
+
/usr/local/lib/ruby/2.7.0/bundler/runtime.rb:74:in `require'
|
409
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly.rb:32:in `<top (required)>'
|
410
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
|
411
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
|
412
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
|
413
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
|
414
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly/repository-service_services_pb.rb:5:in `<top (required)>'
|
415
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
|
416
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
|
417
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
|
418
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
|
419
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly/repository-service_pb.rb:318:in `<top (required)>'
|
420
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly/repository-service_pb.rb:362:in `<module:Gitaly>'
|
421
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/gitaly-14.6.0.pre.rc1/ruby/proto/gitaly/repository-service_pb.rb:362:in `lookup'
|
422
|
+
|
423
|
+
-- Machine register context ------------------------------------------------
|
424
|
+
RIP: 0x00007fd8f45f40a2 RBP: 0x00007fd8f3655000 RSP: 0x00007fff198dd030
|
425
|
+
RAX: 0x0000000000000003 RBX: 0x00007fd8da7a2790 RCX: 0x0000000000000089
|
426
|
+
RDX: 0x000000000000003d RDI: 0x00007fd8f3655000 RSI: 0xcccccccccccccccd
|
427
|
+
R8: 0x0000000000000001 R9: 0x0000000000000000 R10: 0x00007fd8e238b680
|
428
|
+
R11: 0x0000000000000082 R12: 0x000000000008ff3a R13: 0xcccccccccccccccd
|
429
|
+
R14: 0x000000000000000d R15: 0x0003f134e098c94f EFL: 0x0000000000010202
|
430
|
+
|
431
|
+
-- C level backtrace information -------------------------------------------
|
432
|
+
/usr/local/lib/libruby.so.2.7(rb_vm_bugreport+0x555) [0x7fd8f4799605] vm_dump.c:755
|
433
|
+
[0x7fd8f45d6d17]
|
434
|
+
/usr/local/lib/libruby.so.2.7(sigsegv+0x4b) [0x7fd8f4704d2b] signal.c:946
|
435
|
+
/lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7fd8f42db730]
|
436
|
+
[0x7fd8f45f40a2]
|
437
|
+
/usr/local/lib/libruby.so.2.7(gc_marks_rest+0x80) [0x7fd8f45f9380] gc.c:5526
|
438
|
+
/usr/local/lib/libruby.so.2.7(gc_rest+0x7a) [0x7fd8f45fa09a] gc.c:7382
|
439
|
+
/usr/local/lib/libruby.so.2.7(garbage_collect_with_gvl+0x98) [0x7fd8f45fb7a8] gc.c:7514
|
440
|
+
/usr/local/lib/libruby.so.2.7(objspace_malloc_fixup+0x17) gc.c:9854
|
441
|
+
/usr/local/lib/libruby.so.2.7(rb_st_init_table_with_size+0x89) [0x7fd8f470eac9] st.c:620
|
442
|
+
/usr/local/lib/libruby.so.2.7(rebuild_table+0x1df) [0x7fd8f470ed5f] st.c:801
|
443
|
+
/usr/local/lib/libruby.so.2.7(rb_st_insert+0x1d8) [0x7fd8f470f398] st.c:1163
|
444
|
+
/usr/local/lib/ruby/2.7.0/x86_64-linux/objspace.so(newobj_i+0x206) [0x7fd8f2c37276] object_tracing.c:112
|
445
|
+
/usr/local/lib/libruby.so.2.7(tp_call_trace+0x29) [0x7fd8f4799ff9] vm_trace.c:1111
|
446
|
+
/usr/local/lib/libruby.so.2.7(exec_hooks_body+0x86) [0x7fd8f479a6b6] vm_trace.c:301
|
447
|
+
[0x7fd8f479c29d]
|
448
|
+
[0x7fd8f45ee2f3]
|
449
|
+
[0x7fd8f45fcdc7]
|
450
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/google-protobuf-3.19.1-x86_64-linux/lib/google/2.7/protobuf_c.so(0x7fd8d98943c9) [0x7fd8d98943c9]
|
451
|
+
/usr/local/lib/libruby.so.2.7(rb_class_new_instance+0x36) [0x7fd8f467f1c6] object.c:2099
|
452
|
+
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/google-protobuf-3.19.1-x86_64-linux/lib/google/2.7/protobuf_c.so(0x7fd8d9895f84) [0x7fd8d9895f84]
|
453
|
+
[0x7fd8f47785c9]
|
454
|
+
[0x7fd8f479117c]
|
455
|
+
/usr/local/lib/libruby.so.2.7(vm_call_method+0x55) [0x7fd8f4791915] vm_insnhelper.c:3026
|
456
|
+
[0x7fd8f4783ae2]
|
457
|
+
[0x7fd8f47895fc]
|
458
|
+
[0x7fd8f46359a5]
|
459
|
+
/usr/local/lib/libruby.so.2.7(rb_require_string+0x23) [0x7fd8f4636113] load.c:1148
|
460
|
+
[0x7fd8f47785c9]
|
461
|
+
[0x7fd8f479117c]
|
462
|
+
/usr/local/lib/libruby.so.2.7(vm_call_method+0x55) [0x7fd8f4791915] vm_insnhelper.c:3026
|
463
|
+
[0x7fd8f478569a]
|
464
|
+
[0x7fd8f47895fc]
|
465
|
+
[0x7fd8f46359a5]
|
466
|
+
/usr/local/lib/libruby.so.2.7(rb_require_string+0x23) [0x7fd8f4636113] load.c:1148
|
467
|
+
[0x7fd8f47785c9]
|
468
|
+
[0x7fd8f479117c]
|
469
|
+
/usr/local/lib/libruby.so.2.7(vm_call_method+0x55) [0x7fd8f4791915] vm_insnhelper.c:3026
|
470
|
+
[0x7fd8f478569a]
|
471
|
+
[0x7fd8f47895fc]
|
472
|
+
[0x7fd8f46359a5]
|
473
|
+
/usr/local/lib/libruby.so.2.7(rb_require_string+0x23) [0x7fd8f4636113] load.c:1148
|
474
|
+
[0x7fd8f47785c9]
|
475
|
+
[0x7fd8f4783ae2]
|
476
|
+
[0x7fd8f47895fc]
|
477
|
+
/usr/local/lib/libruby.so.2.7(rb_yield+0x253) [0x7fd8f47953e3] vm.c:1044
|
478
|
+
/usr/local/lib/libruby.so.2.7(rb_ary_each+0x3c) [0x7fd8f45491ac] array.c:2135
|
479
|
+
[0x7fd8f47785c9]
|
480
|
+
[0x7fd8f4783ba0]
|
481
|
+
[0x7fd8f47895fc]
|
482
|
+
/usr/local/lib/libruby.so.2.7(rb_yield+0x253) [0x7fd8f47953e3] vm.c:1044
|
483
|
+
/usr/local/lib/libruby.so.2.7(rb_ary_each+0x3c) [0x7fd8f45491ac] array.c:2135
|
484
|
+
[0x7fd8f47785c9]
|
485
|
+
[0x7fd8f479117c]
|
486
|
+
/usr/local/lib/libruby.so.2.7(vm_call_method+0x55) [0x7fd8f4791915] vm_insnhelper.c:3026
|
487
|
+
[0x7fd8f4783ba0]
|
488
|
+
[0x7fd8f47895fc]
|
489
|
+
[0x7fd8f478a468]
|
490
|
+
[0x7fd8f4783ae2]
|
491
|
+
[0x7fd8f4789db5]
|
492
|
+
/usr/local/lib/libruby.so.2.7(rb_ec_exec_node+0xaa) [0x7fd8f45db70a] eval.c:278
|
493
|
+
/usr/local/lib/libruby.so.2.7(ruby_run_node+0x49) [0x7fd8f45e0999] eval.c:336
|
494
|
+
/usr/local/bin/ruby(main+0x5b) [0x55bc6cf0910b] ./main.c:50
|
495
|
+
|
496
|
+
-- Other runtime information -----------------------------------------------
|
497
|
+
|
498
|
+
* Loaded script: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/derailed
|
499
|
+
|
500
|
+
* Loaded features:
|
501
|
+
|
502
|
+
0 enumerator.so
|
503
|
+
1 thread.rb
|
504
|
+
2 rational.so
|
505
|
+
3 complex.so
|
506
|
+
4 ruby2_keywords.rb
|
507
|
+
5 /usr/local/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
|
508
|
+
6 /usr/local/lib/ruby/2.7.0/x86_64-linux/enc/trans/transdb.so
|
509
|
+
7 /usr/local/lib/ruby/2.7.0/x86_64-linux/rbconfig.rb
|
510
|
+
8 /usr/local/lib/ruby/2.7.0/rubygems/compatibility.rb
|
511
|
+
9 /usr/local/lib/ruby/2.7.0/rubygems/defaults.rb
|
512
|
+
10 /usr/local/lib/ruby/2.7.0/rubygems/deprecate.rb
|
513
|
+
11 /usr/local/lib/ruby/2.7.0/rubygems/errors.rb
|
514
|
+
12 /usr/local/lib/ruby/2.7.0/rubygems/version.rb
|
515
|
+
13 /usr/local/lib/ruby/2.7.0/rubygems/requirement.rb
|
516
|
+
14 /usr/local/lib/ruby/2.7.0/rubygems/platform.rb
|
517
|
+
15 /usr/local/lib/ruby/2.7.0/rubygems/basic_specification.rb
|
518
|
+
16 /usr/local/lib/ruby/2.7.0/rubygems/stub_specification.rb
|
519
|
+
17 /usr/local/lib/ruby/2.7.0/rubygems/util.rb
|
520
|
+
18 /usr/local/lib/ruby/2.7.0/rubygems/text.rb
|
521
|
+
19 /usr/local/lib/ruby/2.7.0/rubygems/user_interaction.rb
|
522
|
+
20 /usr/local/lib/ruby/2.7.0/rubygems/specification_policy.rb
|
523
|
+
21 /usr/local/lib/ruby/2.7.0/rubygems/util/list.rb
|
524
|
+
22 /usr/local/lib/ruby/2.7.0/rubygems/specification.rb
|
525
|
+
23 /usr/local/lib/ruby/2.7.0/rubygems/exceptions.rb
|
526
|
+
24 /usr/local/lib/ruby/2.7.0/rubygems/bundler_version_finder.rb
|
527
|
+
25 /usr/local/lib/ruby/2.7.0/rubygems/dependency.rb
|
528
|
+
26 /usr/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_gem.rb
|
529
|
+
27 /usr/local/lib/ruby/2.7.0/x86_64-linux/monitor.so
|
530
|
+
28 /usr/local/lib/ruby/2.7.0/monitor.rb
|
531
|
+
29 /usr/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb
|
532
|
+
30 /usr/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_warn.rb
|
533
|
+
31 /usr/local/lib/ruby/2.7.0/rubygems.rb
|
534
|
+
32 /usr/local/lib/ruby/2.7.0/rubygems/path_support.rb
|
535
|
+
33 /usr/local/lib/ruby/2.7.0/did_you_mean/version.rb
|
536
|
+
34 /usr/local/lib/ruby/2.7.0/did_you_mean/core_ext/name_error.rb
|
537
|
+
35 /usr/local/lib/ruby/2.7.0/did_you_mean/levenshtein.rb
|
538
|
+
36 /usr/local/lib/ruby/2.7.0/did_you_mean/jaro_winkler.rb
|
539
|
+
37 /usr/local/lib/ruby/2.7.0/did_you_mean/spell_checker.rb
|
540
|
+
38 /usr/local/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
|
541
|
+
39 /usr/local/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
|
542
|
+
40 /usr/local/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers.rb
|
543
|
+
41 /usr/local/lib/ruby/2.7.0/did_you_mean/spell_checkers/method_name_checker.rb
|
544
|
+
42 /usr/local/lib/ruby/2.7.0/did_you_mean/spell_checkers/key_error_checker.rb
|
545
|
+
43 /usr/local/lib/ruby/2.7.0/did_you_mean/spell_checkers/null_checker.rb
|
546
|
+
44 /usr/local/lib/ruby/2.7.0/did_you_mean/formatters/plain_formatter.rb
|
547
|
+
45 /usr/local/lib/ruby/2.7.0/did_you_mean/tree_spell_checker.rb
|
548
|
+
46 /usr/local/lib/ruby/2.7.0/did_you_mean.rb
|
549
|
+
47 /usr/local/lib/ruby/2.7.0/tsort.rb
|
550
|
+
48 /usr/local/lib/ruby/2.7.0/rubygems/request_set/gem_dependency_api.rb
|
551
|
+
49 /usr/local/lib/ruby/2.7.0/rubygems/request_set/lockfile/parser.rb
|
552
|
+
50 /usr/local/lib/ruby/2.7.0/rubygems/request_set/lockfile/tokenizer.rb
|
553
|
+
51 /usr/local/lib/ruby/2.7.0/rubygems/request_set/lockfile.rb
|
554
|
+
52 /usr/local/lib/ruby/2.7.0/rubygems/request_set.rb
|
555
|
+
53 /usr/local/lib/ruby/2.7.0/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb
|
556
|
+
54 /usr/local/lib/ruby/2.7.0/rubygems/resolver/molinillo/lib/molinillo/errors.rb
|
557
|
+
55 /usr/local/lib/ruby/2.7.0/set.rb
|
558
|
+
56 /usr/local/lib/ruby/2.7.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb
|
559
|
+
57 /usr/local/lib/ruby/2.7.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb
|
560
|
+
|
561
|
+
* Process memory map:
|
562
|
+
|
563
|
+
55bc6cf08000-55bc6cf09000 r--p 00000000 08:01 2234292 /usr/local/bin/ruby
|
564
|
+
55bc6cf09000-55bc6cf0a000 r-xp 00001000 08:01 2234292 /usr/local/bin/ruby
|
565
|
+
55bc6cf0a000-55bc6cf0b000 r--p 00002000 08:01 2234292 /usr/local/bin/ruby
|
566
|
+
55bc6cf0b000-55bc6cf0c000 r--p 00002000 08:01 2234292 /usr/local/bin/ruby
|
567
|
+
55bc6cf0c000-55bc6cf0d000 rw-p 00003000 08:01 2234292 /usr/local/bin/ruby
|
568
|
+
7fd8cdb83000-7fd8cdd41000 r--s 00000000 08:01 2089303 /lib/x86_64-linux-gnu/libc-2.28.so
|
569
|
+
7fd8cdd41000-7fd8cdd72000 r--s 00000000 08:01 1068321 /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/google-protobuf-3.19.1-x86_64-linux/lib/google/2.7/protobuf_c.so
|
570
|
+
7fd8cdd72000-7fd8cdda9000 r--s 00000000 08:01 2351143 /usr/local/lib/ruby/2.7.0/x86_64-linux/objspace.so
|
571
|
+
7fd8cdda9000-7fd8cddcd000 r--s 00000000 08:01 2089362 /lib/x86_64-linux-gnu/libpthread-2.28.so
|
572
|
+
7fd8cddcd000-7fd8ce760000 r--s 00000000 08:01 2234335 /usr/local/lib/libruby.so.2.7.5
|
573
|
+
7fd8ce760000-7fd8ce791000 r--s 00000000 08:01 2234292 /usr/local/bin/ruby
|
574
|
+
7fd8ce791000-7fd8d5f91000 rw-p 00000000 00:00 0
|
575
|
+
7fd8d5f91000-7fd8d5ff0000 r--p 00000000 08:01 1069884 /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/2.7/grpc_c.so
|
576
|
+
7fd8d5ff0000-7fd8d6411000 r-xp 0005f000 08:01 1069884 /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/2.7/grpc_c.so
|
577
|
+
7fd8d6411000-7fd8d6592000 r--p 00480000 08:01 1069884 /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/2.7/grpc_c.so
|
578
|
+
7fd8d6592000-7fd8d6593000 ---p 00601000 08:01 1069884 /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/2.7/grpc_c.so
|
579
|
+
7fd8d6593000-7fd8d65be000 r--p 00601000 08:01 1069884 /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/2.7/grpc_c.so
|
580
|
+
7fd8d65be000-7fd8d65c4000 rw-p 0062c000 08:01 1069884 /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/2.7/grpc_c.so
|
581
|
+
7fd8d65c4000-7fd8d65d3000 rw-p 00000000 00:00 0
|
582
|
+
|
583
|
+
END
|
584
|
+
|
585
|
+
# The whitespace on the second line is significant.
|
586
|
+
# rubocop:disable TrailingWhitespace
|
587
|
+
RAILS_EXC = <<END.freeze
|
588
|
+
ActionController::RoutingError (No route matches [GET] "/settings"):
|
589
|
+
|
590
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call'
|
591
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
|
592
|
+
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
|
593
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
|
594
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
|
595
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
|
596
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
|
597
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
|
598
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
|
599
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
|
600
|
+
rack (2.0.3) lib/rack/method_override.rb:22:in `call'
|
601
|
+
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
|
602
|
+
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
|
603
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
604
|
+
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
|
605
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
606
|
+
puma (3.10.0) lib/puma/configuration.rb:225:in `call'
|
607
|
+
puma (3.10.0) lib/puma/server.rb:605:in `handle_request'
|
608
|
+
puma (3.10.0) lib/puma/server.rb:437:in `process_client'
|
609
|
+
puma (3.10.0) lib/puma/server.rb:301:in `block in run'
|
610
|
+
puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'
|
611
|
+
END
|
612
|
+
|
613
|
+
DART_ERR = <<END.freeze
|
614
|
+
Unhandled exception:
|
615
|
+
Instance of 'MyError'
|
616
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:15:20)
|
617
|
+
#1 printError (file:///path/to/code/dartFile.dart:37:13)
|
618
|
+
#2 main (file:///path/to/code/dartFile.dart:15:3)
|
619
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
620
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
621
|
+
END
|
622
|
+
|
623
|
+
DART_EXC = <<END.freeze
|
624
|
+
Unhandled exception:
|
625
|
+
Exception: exception message
|
626
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:17:20)
|
627
|
+
#1 printError (file:///path/to/code/dartFile.dart:37:13)
|
628
|
+
#2 main (file:///path/to/code/dartFile.dart:17:3)
|
629
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
630
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
631
|
+
END
|
632
|
+
|
633
|
+
DART_ASYNC_ERR = <<END.freeze
|
634
|
+
Unhandled exception:
|
635
|
+
Bad state: oops
|
636
|
+
#0 handleFailure (file:///test/example/http/handling_an_httprequest_error.dart:16:3)
|
637
|
+
#1 main (file:///test/example/http/handling_an_httprequest_error.dart:24:5)
|
638
|
+
<asynchronous suspension>
|
639
|
+
#2 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
640
|
+
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
641
|
+
END
|
642
|
+
|
643
|
+
DART_DIVIDE_BY_ZERO_ERR = <<END.freeze
|
644
|
+
Unhandled exception:
|
645
|
+
IntegerDivisionByZeroException
|
646
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:27:20)
|
647
|
+
#1 printError (file:///path/to/code/dartFile.dart:42:13)
|
648
|
+
#2 main (file:///path/to/code/dartFile.dart:27:3)
|
649
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
650
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
651
|
+
END
|
652
|
+
|
653
|
+
DART_ARGUMENT_ERR = <<END.freeze
|
654
|
+
Unhandled exception:
|
655
|
+
Invalid argument(s): invalid argument
|
656
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:23:20)
|
657
|
+
#1 printError (file:///path/to/code/dartFile.dart:42:13)
|
658
|
+
#2 main (file:///path/to/code/dartFile.dart:23:3)
|
659
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
660
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
661
|
+
END
|
662
|
+
|
663
|
+
DART_RANGE_ERR = <<END.freeze
|
664
|
+
Unhandled exception:
|
665
|
+
RangeError (index): Invalid value: Valid value range is empty: 1
|
666
|
+
#0 List.[] (dart:core-patch/growable_array.dart:151)
|
667
|
+
#1 main.<anonymous closure> (file:///path/to/code/dartFile.dart:31:23)
|
668
|
+
#2 printError (file:///path/to/code/dartFile.dart:42:13)
|
669
|
+
#3 main (file:///path/to/code/dartFile.dart:29:3)
|
670
|
+
#4 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
671
|
+
#5 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
672
|
+
END
|
673
|
+
|
674
|
+
DART_ASSERTION_ERR = <<END.freeze
|
675
|
+
Unhandled exception:
|
676
|
+
Assertion failed
|
677
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:9:20)
|
678
|
+
#1 printError (file:///path/to/code/dartFile.dart:36:13)
|
679
|
+
#2 main (file:///path/to/code/dartFile.dart:9:3)
|
680
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
681
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
682
|
+
END
|
683
|
+
|
684
|
+
DART_ABSTRACT_CLASS_ERR = <<END.freeze
|
685
|
+
Unhandled exception:
|
686
|
+
Cannot instantiate abstract class LNClassName: _url 'null' line null
|
687
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:12:20)
|
688
|
+
#1 printError (file:///path/to/code/dartFile.dart:36:13)
|
689
|
+
#2 main (file:///path/to/code/dartFile.dart:12:3)
|
690
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
691
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
692
|
+
END
|
693
|
+
|
694
|
+
DART_READ_STATIC_ERR = <<END.freeze
|
695
|
+
Unhandled exception:
|
696
|
+
Reading static variable 'variable' during its initialization
|
697
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:28:20)
|
698
|
+
#1 printError (file:///path/to/code/dartFile.dart:43:13)
|
699
|
+
#2 main (file:///path/to/code/dartFile.dart:28:3)
|
700
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
701
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
702
|
+
END
|
703
|
+
|
704
|
+
DART_UNIMPLEMENTED_ERROR = <<END.freeze
|
705
|
+
Unhandled exception:
|
706
|
+
UnimplementedError: unimplemented
|
707
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:38:20)
|
708
|
+
#1 printError (file:///path/to/code/dartFile.dart:61:13)
|
709
|
+
#2 main (file:///path/to/code/dartFile.dart:38:3)
|
710
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
711
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
712
|
+
END
|
713
|
+
|
714
|
+
DART_UNSUPPORTED_ERR = <<END.freeze
|
715
|
+
Unhandled exception:
|
716
|
+
Unsupported operation: unsupported
|
717
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:36:20)
|
718
|
+
#1 printError (file:///path/to/code/dartFile.dart:61:13)
|
719
|
+
#2 main (file:///path/to/code/dartFile.dart:36:3)
|
720
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
721
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
722
|
+
END
|
723
|
+
|
724
|
+
DART_CONCURRENT_MODIFICATION_ERR = <<END.freeze
|
725
|
+
Unhandled exception:
|
726
|
+
Concurrent modification during iteration.
|
727
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:35:20)
|
728
|
+
#1 printError (file:///path/to/code/dartFile.dart:61:13)
|
729
|
+
#2 main (file:///path/to/code/dartFile.dart:35:3)
|
730
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
731
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
732
|
+
END
|
733
|
+
|
734
|
+
DART_OOM_ERR = <<END.freeze
|
735
|
+
Unhandled exception:
|
736
|
+
Out of Memory
|
737
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:34:20)
|
738
|
+
#1 printError (file:///path/to/code/dartFile.dart:61:13)
|
739
|
+
#2 main (file:///path/to/code/dartFile.dart:34:3)
|
740
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
741
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
742
|
+
END
|
743
|
+
|
744
|
+
DART_STACK_OVERFLOW_ERR = <<END.freeze
|
745
|
+
Unhandled exception:
|
746
|
+
Stack Overflow
|
747
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:33:20)
|
748
|
+
#1 printError (file:///path/to/code/dartFile.dart:61:13)
|
749
|
+
#2 main (file:///path/to/code/dartFile.dart:33:3)
|
750
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
751
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
752
|
+
END
|
753
|
+
|
754
|
+
DART_FALLTHROUGH_ERR = <<END.freeze
|
755
|
+
Unhandled exception:
|
756
|
+
'null': Switch case fall-through at line null.
|
757
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:39:20)
|
758
|
+
#1 printError (file:///path/to/code/dartFile.dart:51:13)
|
759
|
+
#2 main (file:///path/to/code/dartFile.dart:39:3)
|
760
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
761
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
762
|
+
END
|
763
|
+
|
764
|
+
DART_TYPE_ERR = <<END.freeze
|
765
|
+
Unhandled exception:
|
766
|
+
'file:///path/to/code/dartFile.dart': malformed type: line 7 pos 24: cannot resolve class 'NoType' from '::'
|
767
|
+
printError( () { new NoType(); } );
|
768
|
+
^
|
769
|
+
|
770
|
+
|
771
|
+
#0 _TypeError._throwNew (dart:core-patch/errors_patch.dart:82)
|
772
|
+
#1 main.<anonymous closure> (file:///path/to/code/dartFile.dart:7:24)
|
773
|
+
#2 printError (file:///path/to/code/dartFile.dart:36:13)
|
774
|
+
#3 main (file:///path/to/code/dartFile.dart:7:3)
|
775
|
+
#4 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
776
|
+
#5 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
777
|
+
END
|
778
|
+
|
779
|
+
DART_FORMAT_ERR = <<END.freeze
|
780
|
+
Unhandled exception:
|
781
|
+
FormatException: format exception
|
782
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:25:20)
|
783
|
+
#1 printError (file:///path/to/code/dartFile.dart:42:13)
|
784
|
+
#2 main (file:///path/to/code/dartFile.dart:25:3)
|
785
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
786
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
787
|
+
END
|
788
|
+
|
789
|
+
DART_FORMAT_WITH_CODE_ERR = <<END.freeze
|
790
|
+
Unhandled exception:
|
791
|
+
FormatException: Invalid base64 data (at line 3, character 8)
|
792
|
+
this is not valid
|
793
|
+
^
|
794
|
+
|
795
|
+
#0 main.<anonymous closure> (file:///path/to/code/dartFile.dart:24:20)
|
796
|
+
#1 printError (file:///path/to/code/dartFile.dart:42:13)
|
797
|
+
#2 main (file:///path/to/code/dartFile.dart:24:3)
|
798
|
+
#3 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
799
|
+
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
800
|
+
END
|
801
|
+
|
802
|
+
DART_NO_METHOD_ERR = <<END.freeze
|
803
|
+
Unhandled exception:
|
804
|
+
NoSuchMethodError: No constructor 'TypeError' with matching arguments declared in class 'TypeError'.
|
805
|
+
Receiver: Type: class 'TypeError'
|
806
|
+
Tried calling: new TypeError("Invalid base64 data", "invalid", 36)
|
807
|
+
Found: new TypeError()
|
808
|
+
#0 NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:196)
|
809
|
+
#1 main.<anonymous closure> (file:///path/to/code/dartFile.dart:8:39)
|
810
|
+
#2 printError (file:///path/to/code/dartFile.dart:36:13)
|
811
|
+
#3 main (file:///path/to/code/dartFile.dart:8:3)
|
812
|
+
#4 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
813
|
+
#5 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
814
|
+
END
|
815
|
+
|
816
|
+
DART_NO_METHOD_GLOBAL_ERR = <<END.freeze
|
817
|
+
Unhandled exception:
|
818
|
+
NoSuchMethodError: No top-level method 'noMethod' declared.
|
819
|
+
Receiver: top-level
|
820
|
+
Tried calling: noMethod()
|
821
|
+
#0 NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:196)
|
822
|
+
#1 main.<anonymous closure> (file:///path/to/code/dartFile.dart:10:20)
|
823
|
+
#2 printError (file:///path/to/code/dartFile.dart:36:13)
|
824
|
+
#3 main (file:///path/to/code/dartFile.dart:10:3)
|
825
|
+
#4 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
|
826
|
+
#5 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
|
827
|
+
END
|
828
|
+
|
829
|
+
ARBITRARY_TEXT = <<END.freeze
|
830
|
+
This arbitrary text.
|
831
|
+
It sounds tympanic: a word which means like a drum.
|
832
|
+
|
833
|
+
I am glad it contains no exception.
|
834
|
+
END
|
835
|
+
|
836
|
+
def check_multiline(detector, expected_first, expected_last, multiline)
|
837
|
+
lines = multiline.lines
|
838
|
+
lines.each_with_index do |line, index|
|
839
|
+
action = detector.update(line)
|
840
|
+
case index
|
841
|
+
when 0
|
842
|
+
assert_equal(expected_first, action,
|
843
|
+
"unexpected action on first line: #{line}")
|
844
|
+
when lines.length - 1
|
845
|
+
assert_equal(expected_last, action,
|
846
|
+
"unexpected action on last line: #{line}")
|
847
|
+
else
|
848
|
+
assert_equal(:inside_trace, action, "line not buffered: #{line}")
|
849
|
+
end
|
850
|
+
end
|
851
|
+
end
|
852
|
+
|
853
|
+
def check_no_multiline(detector, text)
|
854
|
+
text.lines.each do |line|
|
855
|
+
action = detector.update(line)
|
856
|
+
assert_equal(:no_trace, action, "unexpected action on line: #{line}")
|
857
|
+
end
|
858
|
+
end
|
859
|
+
|
860
|
+
def check_exception(exception, detects_end)
|
861
|
+
detector = Fluent::ExceptionDetector.new
|
862
|
+
after_exc = detects_end ? :end_trace : :inside_trace
|
863
|
+
before_second_exc = detects_end ? :inside_trace : :start_trace
|
864
|
+
check_multiline(detector, :no_trace, :no_trace, 'This is not an exception.')
|
865
|
+
check_multiline(detector, :inside_trace, after_exc, exception)
|
866
|
+
check_multiline(detector, :no_trace, :no_trace, 'This is not an exception.')
|
867
|
+
check_multiline(detector, :inside_trace, after_exc, exception)
|
868
|
+
check_multiline(detector, before_second_exc, after_exc, exception)
|
869
|
+
end
|
870
|
+
|
871
|
+
def test_java
|
872
|
+
check_exception(JAVA_EXC, false)
|
873
|
+
check_exception(COMPLEX_JAVA_EXC, false)
|
874
|
+
check_exception(NESTED_JAVA_EXC, false)
|
875
|
+
end
|
876
|
+
|
877
|
+
def test_js
|
878
|
+
check_exception(NODE_JS_EXC, false)
|
879
|
+
check_exception(CLIENT_JS_EXC, false)
|
880
|
+
check_exception(V8_JS_EXC, false)
|
881
|
+
end
|
882
|
+
|
883
|
+
def test_csharp
|
884
|
+
check_exception(CSHARP_EXC, false)
|
885
|
+
check_exception(CSHARP_NESTED_EXC, false)
|
886
|
+
check_exception(CSHARP_ASYNC_EXC, false)
|
887
|
+
end
|
888
|
+
|
889
|
+
def test_python
|
890
|
+
check_exception(PYTHON_EXC, true)
|
891
|
+
end
|
892
|
+
|
893
|
+
def test_php
|
894
|
+
check_exception(PHP_EXC, false)
|
895
|
+
check_exception(PHP_ON_GAE_EXC, true)
|
896
|
+
end
|
897
|
+
|
898
|
+
def test_go
|
899
|
+
check_exception(GO_EXC, false)
|
900
|
+
check_exception(GO_ON_GAE_EXC, false)
|
901
|
+
check_exception(GO_SIGNAL_EXC, false)
|
902
|
+
check_exception(GO_HTTP, false)
|
903
|
+
end
|
904
|
+
|
905
|
+
def test_ruby
|
906
|
+
check_exception(RUBY_EXC, false)
|
907
|
+
check_exception(RUBY_SEGFAULT_EXC, true)
|
908
|
+
check_exception(RAILS_EXC, false)
|
909
|
+
end
|
910
|
+
|
911
|
+
def test_dart
|
912
|
+
check_exception(DART_ERR, false)
|
913
|
+
check_exception(DART_EXC, false)
|
914
|
+
check_exception(DART_ASYNC_ERR, false)
|
915
|
+
check_exception(DART_DIVIDE_BY_ZERO_ERR, false)
|
916
|
+
check_exception(DART_ARGUMENT_ERR, false)
|
917
|
+
check_exception(DART_RANGE_ERR, false)
|
918
|
+
check_exception(DART_READ_STATIC_ERR, false)
|
919
|
+
check_exception(DART_UNIMPLEMENTED_ERROR, false)
|
920
|
+
check_exception(DART_UNSUPPORTED_ERR, false)
|
921
|
+
check_exception(DART_CONCURRENT_MODIFICATION_ERR, false)
|
922
|
+
check_exception(DART_OOM_ERR, false)
|
923
|
+
check_exception(DART_STACK_OVERFLOW_ERR, false)
|
924
|
+
check_exception(DART_FALLTHROUGH_ERR, false)
|
925
|
+
check_exception(DART_TYPE_ERR, false)
|
926
|
+
check_exception(DART_FORMAT_ERR, false)
|
927
|
+
check_exception(DART_FORMAT_WITH_CODE_ERR, false)
|
928
|
+
check_exception(DART_NO_METHOD_ERR, false)
|
929
|
+
check_exception(DART_NO_METHOD_GLOBAL_ERR, false)
|
930
|
+
check_exception(DART_ASSERTION_ERR, false)
|
931
|
+
check_exception(DART_ABSTRACT_CLASS_ERR, false)
|
932
|
+
end
|
933
|
+
|
934
|
+
def test_mixed_languages
|
935
|
+
check_exception(JAVA_EXC, false)
|
936
|
+
check_exception(PYTHON_EXC, true)
|
937
|
+
check_exception(COMPLEX_JAVA_EXC, false)
|
938
|
+
check_exception(NODE_JS_EXC, false)
|
939
|
+
check_exception(PHP_EXC, false)
|
940
|
+
check_exception(PHP_ON_GAE_EXC, true)
|
941
|
+
check_exception(CLIENT_JS_EXC, false)
|
942
|
+
check_exception(GO_EXC, false)
|
943
|
+
check_exception(GO_ON_GAE_EXC, false)
|
944
|
+
check_exception(GO_SIGNAL_EXC, false)
|
945
|
+
check_exception(CSHARP_EXC, false)
|
946
|
+
check_exception(CSHARP_NESTED_EXC, false)
|
947
|
+
check_exception(CSHARP_ASYNC_EXC, false)
|
948
|
+
check_exception(V8_JS_EXC, false)
|
949
|
+
check_exception(RUBY_EXC, false)
|
950
|
+
check_exception(DART_ERR, false)
|
951
|
+
check_exception(DART_EXC, false)
|
952
|
+
check_exception(DART_ASYNC_ERR, false)
|
953
|
+
check_exception(DART_DIVIDE_BY_ZERO_ERR, false)
|
954
|
+
check_exception(DART_ARGUMENT_ERR, false)
|
955
|
+
check_exception(DART_RANGE_ERR, false)
|
956
|
+
check_exception(DART_READ_STATIC_ERR, false)
|
957
|
+
check_exception(DART_UNIMPLEMENTED_ERROR, false)
|
958
|
+
check_exception(DART_UNSUPPORTED_ERR, false)
|
959
|
+
check_exception(DART_CONCURRENT_MODIFICATION_ERR, false)
|
960
|
+
check_exception(DART_OOM_ERR, false)
|
961
|
+
check_exception(DART_STACK_OVERFLOW_ERR, false)
|
962
|
+
check_exception(DART_FALLTHROUGH_ERR, false)
|
963
|
+
check_exception(DART_TYPE_ERR, false)
|
964
|
+
check_exception(DART_FORMAT_ERR, false)
|
965
|
+
check_exception(DART_FORMAT_WITH_CODE_ERR, false)
|
966
|
+
check_exception(DART_NO_METHOD_ERR, false)
|
967
|
+
check_exception(DART_NO_METHOD_GLOBAL_ERR, false)
|
968
|
+
check_exception(DART_ASSERTION_ERR, false)
|
969
|
+
check_exception(DART_ABSTRACT_CLASS_ERR, false)
|
970
|
+
end
|
971
|
+
|
972
|
+
def test_reset
|
973
|
+
detector = Fluent::ExceptionDetector.new
|
974
|
+
|
975
|
+
check_multiline(detector, :inside_trace, :inside_trace, JAVA_EXC_PART1)
|
976
|
+
check_multiline(detector, :inside_trace, :inside_trace, JAVA_EXC_PART2)
|
977
|
+
|
978
|
+
check_multiline(detector, :start_trace, :inside_trace, JAVA_EXC_PART1)
|
979
|
+
detector.reset
|
980
|
+
check_no_multiline(detector, JAVA_EXC_PART2)
|
981
|
+
end
|
982
|
+
|
983
|
+
def feed_lines(buffer, *messages)
|
984
|
+
messages.each do |m|
|
985
|
+
m.each_line do |line|
|
986
|
+
buffer.push(0, line)
|
987
|
+
end
|
988
|
+
buffer.flush
|
989
|
+
end
|
990
|
+
end
|
991
|
+
|
992
|
+
Struct.new('TestBufferScenario', :desc, :languages, :input, :expected)
|
993
|
+
|
994
|
+
def buffer_scenario(desc, languages, input, expected)
|
995
|
+
Struct::TestBufferScenario.new(desc, languages, input, expected)
|
996
|
+
end
|
997
|
+
|
998
|
+
def test_buffer
|
999
|
+
[
|
1000
|
+
buffer_scenario('mixed languages',
|
1001
|
+
[:all],
|
1002
|
+
[JAVA_EXC, ARBITRARY_TEXT, PYTHON_EXC, GO_EXC],
|
1003
|
+
[JAVA_EXC] + ARBITRARY_TEXT.lines + [PYTHON_EXC, GO_EXC]),
|
1004
|
+
buffer_scenario('single language',
|
1005
|
+
[:go],
|
1006
|
+
[JAVA_EXC, ARBITRARY_TEXT, GO_EXC],
|
1007
|
+
JAVA_EXC.lines + ARBITRARY_TEXT.lines + [GO_EXC]),
|
1008
|
+
buffer_scenario('some exceptions from non-configured languages',
|
1009
|
+
[:python],
|
1010
|
+
[JAVA_EXC, PYTHON_EXC, GO_EXC],
|
1011
|
+
JAVA_EXC.lines + [PYTHON_EXC] + GO_EXC.lines),
|
1012
|
+
buffer_scenario('all exceptions from non-configured languages',
|
1013
|
+
[:ruby],
|
1014
|
+
[JAVA_EXC, PYTHON_EXC, GO_EXC],
|
1015
|
+
JAVA_EXC.lines + PYTHON_EXC.lines + GO_EXC.lines)
|
1016
|
+
].each do |s|
|
1017
|
+
out = []
|
1018
|
+
buffer = Fluent::TraceAccumulator.new(nil,
|
1019
|
+
s.languages) { |_, m| out << m }
|
1020
|
+
feed_lines(buffer, *s.input)
|
1021
|
+
assert_equal(s.expected, out, s.desc)
|
1022
|
+
end
|
1023
|
+
end
|
1024
|
+
|
1025
|
+
def feed_json(buffer, message_field, messages)
|
1026
|
+
messages.each do |m|
|
1027
|
+
m.each_line do |line|
|
1028
|
+
buffer.push(0, message_field => line)
|
1029
|
+
end
|
1030
|
+
buffer.flush
|
1031
|
+
end
|
1032
|
+
end
|
1033
|
+
|
1034
|
+
def expected_json(message_field, messages)
|
1035
|
+
messages.collect { |m| { message_field => [m].flatten.join } }
|
1036
|
+
end
|
1037
|
+
|
1038
|
+
Struct.new('TestJsonScenario',
|
1039
|
+
:desc, :configured_field, :actual_field, :input, :output)
|
1040
|
+
|
1041
|
+
def json_scenario(desc, configured_field, actual_field, input, output)
|
1042
|
+
Struct::TestJsonScenario.new(desc, configured_field, actual_field,
|
1043
|
+
input, output)
|
1044
|
+
end
|
1045
|
+
|
1046
|
+
def test_json_messages
|
1047
|
+
[
|
1048
|
+
json_scenario('User-defined message field', 'mydata', 'mydata',
|
1049
|
+
[PYTHON_EXC, ARBITRARY_TEXT, GO_EXC],
|
1050
|
+
[PYTHON_EXC] + ARBITRARY_TEXT.lines + [GO_EXC]),
|
1051
|
+
json_scenario('Default message field "message"', '', 'message',
|
1052
|
+
[PYTHON_EXC, ARBITRARY_TEXT, GO_EXC],
|
1053
|
+
[PYTHON_EXC] + ARBITRARY_TEXT.lines + [GO_EXC]),
|
1054
|
+
json_scenario('Default message field "log"', '', 'log',
|
1055
|
+
[PYTHON_EXC, ARBITRARY_TEXT, GO_EXC],
|
1056
|
+
[PYTHON_EXC] + ARBITRARY_TEXT.lines + [GO_EXC]),
|
1057
|
+
json_scenario('Wrongly defined message field', 'doesnotexist', 'mydata',
|
1058
|
+
[PYTHON_EXC, ARBITRARY_TEXT, GO_EXC],
|
1059
|
+
PYTHON_EXC.lines + ARBITRARY_TEXT.lines + GO_EXC.lines),
|
1060
|
+
json_scenario('Undefined message field', '', 'mydata',
|
1061
|
+
[PYTHON_EXC, ARBITRARY_TEXT, GO_EXC],
|
1062
|
+
PYTHON_EXC.lines + ARBITRARY_TEXT.lines + GO_EXC.lines)
|
1063
|
+
].each do |s|
|
1064
|
+
out = []
|
1065
|
+
buffer = Fluent::TraceAccumulator.new(s.configured_field,
|
1066
|
+
[:all]) { |_, m| out << m }
|
1067
|
+
feed_json(buffer, s.actual_field, s.input)
|
1068
|
+
assert_equal(expected_json(s.actual_field, s.output), out, s.desc)
|
1069
|
+
end
|
1070
|
+
end
|
1071
|
+
|
1072
|
+
def test_max_lines_limit
|
1073
|
+
# Limit is equal to the first part of the exception and forces it to be
|
1074
|
+
# flushed before the rest of the exception is processed.
|
1075
|
+
max_lines = JAVA_EXC_PART1.lines.length
|
1076
|
+
out = []
|
1077
|
+
buffer = Fluent::TraceAccumulator.new(nil,
|
1078
|
+
[:all],
|
1079
|
+
max_lines: max_lines) do |_, m|
|
1080
|
+
out << m
|
1081
|
+
end
|
1082
|
+
feed_lines(buffer, JAVA_EXC)
|
1083
|
+
assert_equal([JAVA_EXC_PART1] + JAVA_EXC_PART2.lines, out)
|
1084
|
+
end
|
1085
|
+
|
1086
|
+
def test_high_max_bytes_limit
|
1087
|
+
# Limit is just too small to add one more line to the buffered first part of
|
1088
|
+
# the exception.
|
1089
|
+
max_bytes = JAVA_EXC_PART1.length + JAVA_EXC_PART2.lines[0].length - 1
|
1090
|
+
out = []
|
1091
|
+
buffer = Fluent::TraceAccumulator.new(nil,
|
1092
|
+
[:all],
|
1093
|
+
max_bytes: max_bytes) do |_, m|
|
1094
|
+
out << m
|
1095
|
+
end
|
1096
|
+
feed_lines(buffer, JAVA_EXC)
|
1097
|
+
# Check that the trace is flushed after the first part.
|
1098
|
+
assert_equal([JAVA_EXC_PART1] + JAVA_EXC_PART2.lines, out)
|
1099
|
+
end
|
1100
|
+
|
1101
|
+
def test_low_max_bytes_limit
|
1102
|
+
# Limit is exceeded by the character that follows the buffered first part of
|
1103
|
+
# the exception.
|
1104
|
+
max_bytes = JAVA_EXC_PART1.length
|
1105
|
+
out = []
|
1106
|
+
buffer = Fluent::TraceAccumulator.new(nil,
|
1107
|
+
[:all],
|
1108
|
+
max_bytes: max_bytes) do |_, m|
|
1109
|
+
out << m
|
1110
|
+
end
|
1111
|
+
feed_lines(buffer, JAVA_EXC)
|
1112
|
+
# Check that the trace is flushed after the first part.
|
1113
|
+
assert_equal([JAVA_EXC_PART1] + JAVA_EXC_PART2.lines, out)
|
1114
|
+
end
|
1115
|
+
end
|