Defect #1534
"Error 500" when creating a new task for a specific sprint
Added by Wesllen Queiroz almost 7 years ago. Updated over 6 years ago.
Description
I am dropping into an Internalerror 500 page when creating a new task, of type functionality for specific sprints. Apparently it is something related to the Scrum plugin, which is even in its latest stable version (0.18).
Files
log-redmine-eduzz.txt (4.28 KB) log-redmine-eduzz.txt | Log file | Wesllen Queiroz, 2018-01-24 12:38 | |
error-log-redmine.txt (4.07 KB) error-log-redmine.txt | Miroslw Burzynski, 2018-02-15 10:56 |
Updated by jfrlbn jfrlbn almost 7 years ago
Hello
We get a very similar error when updating an existing issue by adding a sprint :
Started PATCH "/issues/9606" for 127.0.0.1 at 2018-02-14 08:49:46 +0100 Processing by IssuesController#update as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"...", "form_update_triggered_by"=>"", "issue"=>{"is_private"=>"0", "project_id"=>"297", "tracker_id"=>"1", "subject"=>"...", "description"=>"...", "status_id"=>"1", "priority_id"=>"3", "assigned_to_id"=>"", "fixed_version_id"=>"", "parent_issue_id"=>"", "start_date"=>"2017-11-22", "due_date"=>"", "estimated_hours"=>"0.25", "done_ratio"=>"0", "sprint_id"=>"19", "pending_effort"=>"", "tag_list"=>"hpoo", "notes"=>"", "private_notes"=>"0", "lock_version"=>"2"}, "was_default_status"=>"1", "time_entry"=>{"hours"=>"", "activity_id"=>"", "comments"=>""}, "last_journal_id"=>"26585", "commit"=>"Submit", "prev_issue_id"=>"9621", "next_issue_id"=>"9585", "issue_position"=>"23", "issue_count"=>"36", "id"=>"9606"} Current user: ... (id=9) Completed 500 Internal Server Error in 115ms (ActiveRecord: 28.8ms) NoMethodError (undefined method `>' for nil:NilClass): plugins/scrum/lib/scrum/issue_patch.rb:564:in `block in max_position' plugins/scrum/lib/scrum/issue_patch.rb:563:in `each' plugins/scrum/lib/scrum/issue_patch.rb:563:in `max_position' plugins/scrum/lib/scrum/issue_patch.rb:576:in `move_issue_to_the_end_of_the_sprint' plugins/scrum/lib/scrum/issue_patch.rb:463:in `update_position' app/models/issue.rb:210:in `create_or_update' app/controllers/issues_controller.rb:558:in `block in save_issue_with_child_records' app/controllers/issues_controller.rb:546:in `save_issue_with_child_records' app/controllers/issues_controller.rb:168:in `update' lib/redmine/sudo_mode.rb:63:in `sudo_mode'
We use plugin version 0.18.1
Updated by Miroslw Burzynski almost 7 years ago
- File error-log-redmine.txt error-log-redmine.txt added
Hello,
We have "Internal error" when updating task (when we moving ticket to backlog).
We use plugin version 0.17.0
Updated by Yann Autissier over 6 years ago
Hi,
I got same issue with redmine v3.4.4 and scrum plugin v0.18.1.
Resolved by editing the file plugins/scrum/lib/scrum/issue_patch.rb on line 564 :
replace
max = pbi.position if max.nil? or (pbi.position > max)
by
max = pbi.position if max.nil? or (pbi.position || 0 > max)
Update the line 554 too.
PS. I cannot post a patch as I dont have git access to the repo.
Updated by Wesllen Queiroz over 6 years ago
Greetings Yann Autissier!
Thanks for the contribution. I will make the changes as mentioned and I will come back with the feedback.
Yann Autissier escribió:
Hi,
I got same issue with redmine v3.4.4 and scrum plugin v0.18.1.
Resolved by editing the file plugins/scrum/lib/scrum/issue_patch.rb on line 564 :
replace
[...]
by
[...]Update the line 554 too.
PS. I cannot post a patch as I dont have git access to the repo.
Updated by Emilio González Montaña over 6 years ago
I don't see the point of the proposed change... it seems an error, the only thing that you achieve is to disable the check...
Updated by Emilio González Montaña over 6 years ago
By the way, Wesllen GIT access is available for Patreon supporters:
Updated by Yann Autissier over 6 years ago
The error occurs when pbi.position is nil, then (pbi.position > max) throws NoMethodError (undefined method `>' for nil:NilClass) exception.
We should compare min/max with 0 when pbi.position is nil (on a parent task).
Is it better adding parenthesis : ((pbi.position || 0) > max) ?
Updated by Shreyas Moolya over 6 years ago
What happens when we use '||' operator here in this syntax? Does the 'pbi.position' render 'False' or 'True'?
Because in this case the pbi.position goes blank.
Kindly elaborate what you did here
replace
max = pbi.position if max.nil? or (pbi.position > max)
by
max = pbi.position if max.nil? or (pbi.position || 0 > max)
Updated by Emilio González Montaña over 6 years ago
- Blocked changed from No to Yes
- Target version set to Scrum v0.18.2
- Status changed from New to Resolved
- Category set to Issues list & form
Updated by Emilio González Montaña over 6 years ago
Support the plugin development at www.patreon.com/ociotec & gain access to the GIT repo! :)