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]

Reply via email to