Details
Details
- Reviewers
valerio.bozzolan - Group Reviewers
O1: Blessed Committers - Maniphest Tasks
- T15554: Handling PHP deprecations: convert to Setup Issues
- Commits
- rARCd343be59269a: Error handling: send Deprecation messages as explicit Event
Hitting a strlen(null) before This Change:
- Web:
- PhutilAggregateException - white boxes with red border.
- Daemons:
- trace in daemon log, task fails. Daemon sleeps for 5 seconds.
- Arcanist and Scripts in phorge/bin/ and phorge/scripts:
- execution blows up with error trace.
- SSH server-side scripts (ssh-auth and ssh-exec):
- trace in configured log, execution fails
- SSH client-side scripts (ssh-connect):
- execution blows up with error trace.
After this change:
- Web:
- Before D25386: Nothing on screen, errors show in log.
- With D25386: logs + dark console.
- Daemons:
- trace in daemon log, task completes successfully.
- Arcanist and Scripts in phorge/bin/ and phorge/scripts/ :
- Error trace printed to STDERR, execution continues.
- SSH server-side scripts (ssh-auth and ssh-exec):
- trace in configured log, execution continues.
- SSH client-side scripts (ssh-connect):
- Error trace printed to STDERR, execution continues.
Diff Detail
Diff Detail
- Repository
- rARC Arcanist
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
SUPER NICE \o/ THANKS
Tested putting random deprecated things there and there like array_key_exists('asd', new stdclass()) and now the page just works without any nuclear implosion, and DarkConsole just nicely reports the issue to dear developers \o/ super super super nice.
Comment Actions
I'm thinking of adding similar handling for E_USER_NOTICE and E_USER_WARNING - to allow using them in extension code and in things like T15316 (Right now, we treat those as fatal errors too).