Page MenuHomePhorge

Report Warnings
Updated 265 Days AgoPublic

Deprecation issues and How to Report Them

You probably got to this page after seeing a "Setup Issue" telling you about a deprecated code.

What is a Deprection Issue

Phorge is written in PHP. The PHP language is being updated very rapidly, and it's sometimes hard to make these changes without making old code stop working. But since there's so much old code in the world, that just making the change can be hard.
In those cases, the PHP team declares that some functionality is deprecated; That means it still works today, but is planned to fail at some point in the future. Meanwhile, a notice is noted in the logs every time this functionality is used, warning developers about it.

Since Phorge is a bug software and is used in many places, we - The Phorge Team - can't find all these notices ourselves. We also don't have any telemetry collection tools in the code to collect this information directly from installs. Instead, we collect them in this Setup Issue and ask you to report it to us.

Should I report this?

Probably yes.

To limit the workload, the list only contains a few items (about 5) where a notice was raised, along with the count of how many times this particular notice has happened, by all users, since the last time the server was restarted.

Unless your install is very old, you should probably report all the items you see.

The exception would be if the error is triggerred from custom code that isn't maintained by the Phorge team (if you have any such code) - we naturally can't fix those.

You can go over the recent reports to see if a similar report was already made.

How to actually report

First, please copy the whole thing and save it in some file locally - the list gets reset when you restart the server. Make sure to open all the little arrows, so it actually selects the stack trace!
  1. To report an issue, you'll need to register for an account here, and log in.
  2. Head over to Ponder and Create a new "Question". That's the common way we ask for bug reports (and support requests).
  3. Paste the entire content in the Details section, including the PHP version and the filename, and use the title "Deprecation Notice" and the tag Deprecation Notice.

That's it. A team member will eventually see it and follow up from there. It might take a little while to triage and resolve each issue.

What information is included in the report

Here's an example report:

PHP version: 8.2.10-2ubuntu1

Recorded items (sample):

> PhabricatorPeopleListController.php:23, occurrences: 2
strlen(): Passing null to parameter #1 ($string) of type string is deprecated
arcanist(head=no-deprect-death, ref.master=5bc53cfe53d0, ref.no-deprect-death=9a5383b8b3ca), phorge(head=no-deprect-death, ref.master=cf8d5d60a594, ref.no-deprect-death=66eda9b916b4, custom=4)
#0 PhabricatorPeopleListController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284]
#1 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203]
#2 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]

It includes:

  • short notice about what is being wrong (strlen(): passing null...)
  • the stack-trace of the invocation
  • branch names and commit hashes of Phorge, Arcanist, and any loaded custom library you loaded.
  • the server's PHP version
Last Author
avivey
Last Edited
Mar 13 2024, 08:08

Event Timeline

avivey created this object with edit policy "All Users".
avivey changed the title from Report-warnings to Report Warnings.Nov 24 2023, 18:27
avivey edited the content of this document. (Show Details)