adoptium / adoptium/aqa-test-tools

Exception in BuildProcessor "Cannot read properties of null"

Open
#891 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
33
Forks
97
Avg merge
7h 9m
Merged PRs (30d)
5

Description

Investigate the reason for the exception seen after a restart of TRSS in logs:

```
aqa-test-tools-client-1 | HTTP 7/13/2024 11:34:03 AM 172.20.0.3 GET /static/js/main.c8c0ae06.js
aqa-test-tools-client-1 | HTTP 7/13/2024 11:34:03 AM 172.20.0.3 Returned 200 in 5 ms
aqa-test-tools-client-1 | HTTP 7/13/2024 11:34:12 AM 172.20.0.3 GET /buildDetail?parentId=6428664517052c67158cc8d5&testSummaryResult=total&buildNameRegex=%5ETest.*
aqa-test-tools-client-1 | HTTP 7/13/2024 11:34:12 AM 172.20.0.3 Returned 200 in 1 ms
aqa-test-tools-client-1 | HTTP 7/13/2024 11:34:26 AM 172.20.0.3 GET /allTestsInfo?buildId=65d7428b43ff67006e7c5749&limit=1
aqa-test-tools-client-1 | HTTP 7/13/2024 11:34:26 AM 172.20.0.3 Returned 200 in 1 ms
aqa-test-tools-client-1 | HTTP 7/13/2024 11:34:27 AM 172.20.0.3 HEAD /
aqa-test-tools-client-1 | HTTP 7/13/2024 11:34:27 AM 172.20.0.3 Returned 200 in 1 ms
aqa-test-tools-server-1 | 11:34:50 AM - error: Exception in BuildProcessor: message=Cannot read properties of null (reading 'startsWith'), stack=TypeError: Cannot read properties of null (reading 'startsWith')
aqa-test-tools-server-1 | at addCredential (/usr/src/app/Utils.js:18:21)
aqa-test-tools-server-1 | at JenkinsInfo.getBuildInfo (/usr/src/app/JenkinsInfo.js:98:24)
aqa-test-tools-server-1 | at BuildProcessor.execute (/usr/src/app/BuildProcessor.js:18:45)
aqa-test-tools-server-1 | at EventHandler.processBuild (/usr/src/app/EventHandler.js:32:46)
aqa-test-tools-server-1 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
aqa-test-tools-server-1 | 11:34:52 AM - verbose: EventHandler: processBuild() is waiting for 120 secs before checking DB for builds != Done
aqa-test-tools-client-1 | HTTP 7/13/2024 11:35:07 AM 172.20.0.3 GET /buildDetail?parentId=65c6fe0343ff67006e9cf174
aqa-test-tools-client-1 | HTTP 7/13/2024 11:35:07 AM 172.20.0.3 Returned 200 in 1 ms
aqa-test-tools-client-1 | HTTP 7/13/2024 11:35:26 AM 172.20.0.3 GET /deepHistory?testId=65f4f86743ff67006ee2569e
aqa-test-tools-client-1 | HTTP 7/13/2024 11:35:26 AM 172.20.0.3 Returned 200 in 1 ms
aqa-test-tools-client-1 | HTTP 7/13/2024 11:35:27 AM 172.20.0.3 HEAD /
aqa-test-tools-client-1 | HTTP 7/13/2024 11:35:27 AM 172.20.0.3 Returned 200 in 1 ms
aqa-test-tools-client-1 | HTTP 7/13/2024 11:35:30 AM 172.20.0.3 GET /static/js/main.c8c0ae06.js
aqa-test-tools-client-1 | HTTP 7/13/2024 11:35:30 AM 172.20.0.3 Returned 200 in 0 ms
aqa-test-tools-mongo-1 | {"t":{"$date":"2024-07-13T11:35:34.547+00:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"conn4","msg":"Slow query","attr":{"type":"command","ns":"exampleDb.testResults","command":{"aggregate":"testResults","pipeline":[{"$match":{"tests._id":{"$oid":"65f4f86743ff67006ee2569e"}}},{"$unwind":"$tests"},{"$match":{"tests._id":{"$oid":"65f4f86743ff67006ee2569e"}}}],"cursor":{},"lsid":{"id":{"$uuid":"b7ec97a8-9ff8-4b00-ae13-033dbad21ff3"}},"$db":"exampleDb"},"planSummary":"COLLSCAN","keysExamined":0,"docsExamined":50202,"cursorExhausted":true,"numYields":50,"nreturned":1,"queryHash":"3DA02FF2","planCacheKey":"3DA02FF2","queryExecutionEngine":"classic","reslen":12514,"locks":{"FeatureCompatibilityVersion":{"acquireCount":{"r":52}},"Global":{"acquireCount":{"r":52}},"Mutex":{"acquireCount":{"r":2}}},"storage":{},"remote":"172.20.0.5:38014","protocol":"op_msg","durationMillis":284}}

```

Contributor guide

Open the contributing guide

Research direction

Start at addCredential in Utils.js:18 and trace how it is called from JenkinsInfo.js:98, BuildProcessor.js:18, and EventHandler.js:32. Reproduce the restart scenario and identify why a null value reaches startsWith; done means the exception no longer occurs during build processing.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.