Page MenuHomePhabricator

Profiles of users with private tasks time out when accessed by users without permissions to see them
Closed, ResolvedPublic

Description

https://phabricator.wikimedia.org/p/rtimport/ times out with the following error. Stack trace isn't identical each time, although the bottom 10 or so entries (up to PhabricatorApplicationTransactionTransactionPHIDType.php:70) are the same:

Request aborted by debug time limit after 30 seconds.

STACK TRACE
utils.php:43 PhabricatorStartup->onDebugTick()
LiskDAO.php:386 idx()
PhabricatorLiskDAO.php:218 LiskDAO->getConfigOption()
LiskDAO.php:584 PhabricatorLiskDAO->willReadData()
LiskDAO.php:628 LiskDAO->loadFromArray()
PhabricatorApplicationTransactionQuery.php:72 LiskDAO->loadAllFromArray()
PhabricatorPolicyAwareQuery.php:227 PhabricatorApplicationTransactionQuery->loadPage()
PhabricatorApplicationTransactionTransactionPHIDType.php:70 PhabricatorPolicyAwareQuery->execute()
PhabricatorObjectQuery.php:130 PhabricatorApplicationTransactionTransactionPHIDType->loadObjects()
PhabricatorObjectQuery.php:63 PhabricatorObjectQuery->loadObjectsByPHID()
PhabricatorPolicyAwareQuery.php:227 PhabricatorObjectQuery->loadPage()
PhabricatorFeedStory.php:83 PhabricatorPolicyAwareQuery->execute()
PhabricatorFeedQuery.php:37 PhabricatorFeedStory->loadAllFromRows()
PhabricatorPolicyAwareQuery.php:236 PhabricatorFeedQuery->willFilterPage()
PhabricatorPeopleProfileController.php:199 PhabricatorPolicyAwareQuery->execute()
PhabricatorPeopleProfileController.php:135 PhabricatorPeopleProfileController->renderUserFeed()
AphrontController.php:33 PhabricatorPeopleProfileController->processRequest()
index.php:103 AphrontController->handleRequest()

Event Timeline

TTO raised the priority of this task from to Needs Triage.
TTO updated the task description. (Show Details)
TTO added a project: Phabricator.
TTO changed Security from none to None.
TTO subscribed.

Strange. It's been behaving consistently this way for me for the past few days. I checked again just now and got the same error.

Maybe because you're in the WMF office, and I'm on the other side of the world? Although I don't know how that would affect a server timeout...

Makes sense that it would be different each time because it's not an exception. it's just the state when a timer happened to run out.

I can repro on one account but not the other. Depends on project membership? e.g. wmf-nda

In T85046#937563, @TTO wrote:

Maybe because you're in the WMF office, and I'm on the other side of the world? Although I don't know how that would affect a server timeout...

Nope, I'm not. I'm at home :)

I can repro on one account but not the other. Depends on project membership? e.g. wmf-nda

Seems more likely.

Qgil triaged this task as Low priority.Dec 20 2014, 3:18 PM
Qgil subscribed.

Most of the actions rtimport made were on objects that are visible for wmf-nda only. If you happen to be in that group, rendering the list of actions is trivial, but perhaps if the user is not in that group, Phabricator must scan rtimport's history to unexpected levels, trying to find 50 actions or so visible to the user.

Maybe upstream is interested in this bug from a code quality perspective. When it comes to the use case itself, there is little to see in rtimport's profile. This is such a corner case that perhaps we could Decline and move on.

In T85046#937828, @Qgil wrote:

Maybe upstream is interested in this bug from a code quality perspective.

Yes; timeouts like this should never happen, or at least should fail more gracefully than with a stack trace. Obviously I don't care hugely about this particular URL; I only reported this because it might be symptomatic of a greater underlying issue in the Phabricator code.

Qgil renamed this task from https://phabricator.wikimedia.org/p/rtimport/ times out to Profiles of users with private tasks time out when accessed by users without permissions to see them.Dec 22 2014, 9:48 AM
Qgil added a project: Phabricator (Upstream).

Cannot reproduce anymore. Solved?

Aklapper claimed this task.

I can access https://phabricator.wikimedia.org/p/rtimport/ and https://phabricator.wikimedia.org/p/rtimport/feed/ (previously part of the "main" user page) without any issues with my private, non-admin account.

Indeed looks resolved. Thanks for retesting.