Page MenuHomePhabricator

Remove suppression of PhanPossiblyUndeclaredVariable issue in core
Closed, ResolvedPublic

Description

The PhanPossiblyUndeclaredVariable issue is suppressed in mediawiki/core with comment "too spammy"

This issue can hide some possible bugs and should be enabled.
It has many false positives which needs to be suppressed inline

You can find some bug fixes with https://gerrit.wikimedia.org/r/q/(topic:%22PhanPossiblyUndeclaredVariable%22%20OR%20topic:%22undeclared%22)+(status:open%20OR%20status:merged)+project:mediawiki/core

Event Timeline

Change 616291 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@master] build: Remove suppression of PhanPossiblyUndeclaredVariable

https://gerrit.wikimedia.org/r/616291

Just confirming that the issue was suppressed in order for the upgrade commit to be easier to review (and because I didn't check all the new issues). I also agree that this is a useful sniff to have enabled.

Change 616291 abandoned by Umherirrender:
[mediawiki/core@master] build: Remove suppression of PhanPossiblyUndeclaredVariable

Reason:
outdated

https://gerrit.wikimedia.org/r/616291

@Umherirrender Would you like to give this another go?

Yes, I will take a look

Change 774965 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] phan: Remove PhanPossiblyUndeclaredVariable suppression

https://gerrit.wikimedia.org/r/774965

I have used parts of my old patch set and suppressed some new issues to upload a new patch set.
I have uploaded some extra patch set as suggestion to avoid the possibly undeclared variable.

Change 774529 had a related patch set uploaded (by Krinkle; author: Umherirrender):

[mediawiki/core@master] logger: Add fallback message for unknown version in LogstashFormatter

https://gerrit.wikimedia.org/r/774529

Change 774531 had a related patch set uploaded (by Krinkle; author: Umherirrender):

[mediawiki/core@master] logentry: Make use getUnknownActor visible in getPerformerIdentity

https://gerrit.wikimedia.org/r/774531

Change 774533 had a related patch set uploaded (by Krinkle; author: Umherirrender):

[mediawiki/core@master] snapshot: Simplify count() after explode() in BackupDumper

https://gerrit.wikimedia.org/r/774533

Change 773950 had a related patch set uploaded (by Krinkle; author: Umherirrender):

[mediawiki/core@master] api: Simplify param handling for undoafter on action=edit

https://gerrit.wikimedia.org/r/773950

Change 774945 had a related patch set uploaded (by Krinkle; author: Umherirrender):

[mediawiki/core@master] profiler: Adjust variable names in SectionProfiler::collateData

https://gerrit.wikimedia.org/r/774945

Change 774529 merged by jenkins-bot:

[mediawiki/core@master] logger: Add fallback message for unknown version in LogstashFormatter

https://gerrit.wikimedia.org/r/774529

Change 774531 merged by jenkins-bot:

[mediawiki/core@master] logentry: Make use getUnknownActor visible in getPerformerIdentity

https://gerrit.wikimedia.org/r/774531

Change 773950 merged by jenkins-bot:

[mediawiki/core@master] api: Simplify param handling for undoafter on action=edit

https://gerrit.wikimedia.org/r/773950

Change 774945 merged by jenkins-bot:

[mediawiki/core@master] profiler: Adjust variable names in SectionProfiler::collateData

https://gerrit.wikimedia.org/r/774945

Change 774958 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] parser: Set init value for some variables in Parser

https://gerrit.wikimedia.org/r/774958

Change 774946 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] scripts: Swap order of code in jsparse.php

https://gerrit.wikimedia.org/r/774946

Change 774533 merged by jenkins-bot:

[mediawiki/core@master] snapshot: Simplify count() after explode() in BackupDumper

https://gerrit.wikimedia.org/r/774533

Change 774946 merged by jenkins-bot:

[mediawiki/core@master] maintenance: Swap order of code in jsparse.php

https://gerrit.wikimedia.org/r/774946

Change 774958 merged by jenkins-bot:

[mediawiki/core@master] parser: Set init value for some variables in Parser

https://gerrit.wikimedia.org/r/774958

Change 774965 merged by jenkins-bot:

[mediawiki/core@master] phan: Remove PhanPossiblyUndeclaredVariable suppression

https://gerrit.wikimedia.org/r/774965

Thanks for the reviews. The global suppression is now removed.
To achieve this some inline suppression are added to the code. I hope that the new phan version from T298576 would remove some of these suppression. It also possible with further refactoring to get rid of other suppressions.