Version 1 vs 4
Version 1 vs 4
Edits
Edits
- Edit by avivey, Version 4
- Mar 13 2024 08:08
- ·prefill "create question" link
- Edit by avivey, Version 1
- Sep 22 2023 19:02
- ·for T15554, placeholder for more details
Edit Older Version 1... | Edit Current Version 4... |
Content Changes
Content Changes
TBD - how to report Deprecation issues.
= 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 [[https://we.phorge.it/ponder/query/_RxQhj_cxHeq/ | recent reports]] to see if a similar report was already made.
=== How to actually report
(NOTE) 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 [[https://we.phorge.it/ponder/question/create/?projects=deprecation_notice&title=Deprecation Notice | 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
TBD - how to report Deprecation issues.= 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 [[https://we.phorge.it/ponder/query/_RxQhj_cxHeq/ | recent reports]] to see if a similar report was already made.
=== How to actually report
(NOTE) 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 [[https://we.phorge.it/ponder/question/create/?projects=deprecation_notice&title=Deprecation Notice | 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
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0