Bugzilla "report upstream" script causes conflicts with ABRT reports #475
Labels
No labels
a11y
btrfs
Closed As
Can't fix
Closed As
Deferred to upstream
Closed As
Fixed
Closed As
Won't fix
default-apps
easyfix
experience
help-wanted
installation
meeting
meeting-request
nvidia
packaging
pending-action
qa
testing
user-docs
wg-docs
wg-meta
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
workstation/tickets#475
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Today I wanted to report a crash in Nautilus using ABRT. However, I received this error during ABRT reporting:
The important part is:
The bug was only partially reported, with the most important attachments missing:
https://bugzilla.redhat.com/show_bug.cgi?id=2353858
I believe the problem is in comment 4, which is a "report upstream" script that Workstation runs for most/selected GNOME components.
The immediate response of the script, before the bug was fully reported, caused a request conflict in Bugzilla, and prevented ABRT from fully reporting it.
I see this as a problem, because important attachments (e.g. a full stacktrace) are missing. That severely limits the usefulness, if the user wanted to report the crash upstream.
The easiest solution is probably not to trigger the script immediately, but delayed (a minute or two should be enough). Or make it run in batches (e.g. every 30 minutes, every hour) on all bugs detected during that interval. This would not eliminate, but minimize the likelihood of such issues.
@blc do you know it it's possible to add some timeout as Kamil is suggesting? This is about the following Bugzilla rule - https://bugzilla.redhat.com/page.cgi?id=ruleengine%2Fdetails%2Findex.html&rule_name=Further%20Upstream%20First%3A%20GNOME
I think Kamil is right and this is a multi-update situation.
There is no "sleep" feature in BRE, but I could change the rule to run once per day instead of at time of bug update. I'm loathe to do this though because it would mean that whoever files a bug will get the feedback they filed in the wrong place as late as 24 hours after, long since they thought they'd done their part.
Currently this rule runs first in BRE. I could have it run later.... but there are only 3 rules total so I don't think it would slow down a lot.
Probably the best solution would be to split the rule in 2, allowing a different behavior depending on some characteristic of the initial bug report. As a bad example, I could have the current rule only trigger when anybody but Kamil files the issue, and a second rule that causes the rule to run once a day when it's Kamil who files the issue. This isn't actually a good solution, but it's basically the kind of capability that BRE has.
A more realistic rule would be to check something like the "QA Whiteboard" for something like "PauseBRE", then the tool that this issue is being filed with would set "QA Whiteboard" to "PauseBRE" on creation, attach any files, add any comments, then clear the "PauseBRE" value from "QA Whiteboard". All the rules that might cause a problem would then look for this value and not trigger on update if the value is there. Or we could use a flag. In this circumstance I would add a rule that runs every day that automatically clear the "PauseBRE" value. Or a flag. You get the idea. Let me know if there is or easily could be some value in the initial BZ that we could use to pause the rules engine and I can take it from there.
All ABRT-reported bugs have
[abrt]in the Summary (title). They also haveabrt_hash:in the Whiteboard. Can we use one of these to move the rule to the "update once per day" bucket?For manual bug submission, I think the immediate response is not a big problem, the reporter can deal with it even if a conflict is encountered (Bugzilla offers you several options to continue). We just need to handle automatic reports better, which means ABRT (and I'm not aware of anything else). So detecting ABRT keywords could be a good enough solution.
This sounds like an excellent short-term solution.
And this sounds like an excellent long-term solution. This would need an ABRT bug report.
Hi @blc, since you maintain the Bugzilla rules, I wonder how you would prefer to move forward here. Maybe we could start with checking for
abrt_hash:, process it once daily, and hope that users don't submit bug reports at the time it processes?This is going to be a terrible user experience regardless, but so long as ABRT is reporting issues only on Red Hat Bugzilla, and we want to receive issues only on GNOME GitLab, the user experience is not going to be good. Also, it requires a Bugzilla API key, which will block all but the most advanced users from using the tool, so I think we don't have to worry too much about the user experience.
Ping @blc and @tpopela, would be nice to fix this regardless of future plans to move away from Red Hat Bugzilla.
I wouldn't invest more time into improving the current BRE if it will go away anyway.
Then let's disable it globally and declare it a failure. We shouldn't break ABRT for people who choose to install and use it.
I tried reporting a (fake) gnome-text-editor crash today, and it broke the reporting in exactly the same way. It looks like this access conflict is quite reliable, there's low chance that all the attachments are uploaded before the BRE kicks in.
OTOH with ABRT being gone from Workstation, this is going to bother much fewer people than before. And it has been at least a year already.
I had the exactly same thoughts. Also if we will switch over to use templates (see https://pagure.io/fesco/issue/3568#comment-1015514) then that will also resolve this issue.
Ping again @blc. We would like to disable the autoresponder entirely: just completely delete it. Can you do that please? This is necessary regardless of the above problem with ABRT due to: https://pagure.io/fesco/issue/3568
From what I see is that you would like to disable it.
Agreed:
We also agreed to keep the autoresponder enabled for reports created by ABRT if the incompatibility with ABRT can be fixed, but after reviewing the previous discussion, I don't think it's worth attempting to do this so long as ABRT remains unmaintained. So let's not worry about that.
Hey folks, I have disabled the BRE rule for now. Sadly the system largely only works with current ticket state. More sophisticated transition comparisons aren't available.
OK, that's fine. Thank you! We will rely on the issue template only, then. Closing.