nkofficial-1005 opened a new issue, #8848:
URL: https://github.com/apache/incubator-devlake/issues/8848
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
## Explanation of the Issue:
Environment
DevLake Version: v1.0.4-alpha@7e7baa2
Deployment: Docker Compose
OS: macOS
Plugin: github_graphql
Description
Pipeline consistently fails at Stage 2, Task 62
(github_graphql:SWP-Cayman/swp-mono) during the "Convert Releases" subtask with
a panic error:
```
run task failed with panic
(github.com/apache/incubator-devlake/plugins/github/tasks.ConvertRelease.func1:76)
Wraps: (2) runtime error: invalid memory address or nil pointer dereference
Error types: (1) *hintdetail.withDetail (2) runtime.errorString
```
Status shown: Partial Success (9/8 tasks completed)
Stage that fails: Stage 2
Failed task: Task62 github_graphql:SWP-Cayman/swp-mono
What Actually Works
Despite the UI showing failure:
All previous subtasks complete successfully (Task54 org, Task56
gitextractor, Task57 Jira, Task58 refdiff)
Data collection is successful - all data appears in MySQL
The failure only occurs during the "Convert Releases" subtask
Other stages (1, 3, 4) were completed successfully
Checking MySQL confirms the data was collected:
```
SELECT COUNT(*) FROM pull_requests; -- Returns full count
SELECT COUNT(*) FROM cicd_tasks; -- Returns full count
SELECT COUNT(*) FROM issues; -- Returns full count
```
Workaround
Skipping the release-related subtasks allows the pipeline to complete
successfully:
```
curl -sS 'http://127.0.0.1:8090/blueprints/1' | python3 -c "
import json, sys, urllib.request
bp = json.load(sys.stdin)
# Remove release subtasks from github_graphql
release_tasks = {'Collect Releases', 'Extract Releases', 'Convert Releases'}
for stage in bp['plan']:
for task in stage:
if task.get('plugin') == 'github_graphql' and task.get('subtasks'):
task['subtasks'] = [s for s in task['subtasks'] if s not in
release_tasks]
# Trigger a one-off pipeline with this plan (not saving to blueprint)
payload = json.dumps({'name': 'manual-no-releases', 'plan':
bp['plan']}).encode()
req = urllib.request.Request('http://127.0.0.1:8090/pipelines',
data=payload, method='POST')
req.add_header('Content-Type', 'application/json')
resp = urllib.request.urlopen(req)
result = json.loads(resp.read())
print('Pipeline ID:', result.get('id'), '| Status:', result.get('status'))
```
This creates a pipeline without the release subtasks and runs successfully.
Expected Behavior
The "Convert Releases" subtask should either:
Complete successfully, or
Handle the nil pointer gracefully without causing a panic
Actual Behavior
Pipeline fails with panic, showing "Partial Success" status even though all
other data collection completed successfully.
## Questions
1. Is this a known issue with the release conversion process?
2. Should releases be optional/skippable in the UI configuration?
3. Is the nil pointer dereference at line 76 in ConvertRelease.func1 related
to malformed release data?
4. Is it safe to run DevLake without release collection, or will this break
DORA metrics?
## Screenshot
<img width="1036" height="615" alt="Image"
src="https://github.com/user-attachments/assets/e177882b-a5a2-48ca-96ae-28becad5e424"
/>
## Additional Context
This issue prevents using the UI "Run Now" button reliably
The workaround requires API access and custom scripting
Makes it difficult to set up DevLake for non-technical users
All other data (PRs, commits, issues, deployments, workflows) is collected
successfully
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]