Page MenuHomePhabricator

fpruis (Ferdy Pruis)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Sunday

  • Clear sailing ahead.

User Details

User Since
Mar 13 2014, 8:36 AM (528 w, 1 d)
Availability
Available

Recent Activity

Apr 9 2014

fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

That is too bad. Allthough my change does fix the problem, checkLease() is now completly disabled, and I am not sure what its purpose is.

Apr 9 2014, 6:42 AM · Daemons

Mar 26 2014

fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

I have added a "return" on the first line of function checkLease() in ./src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php. Daemon has been behaving better now

Mar 26 2014, 7:20 AM · Daemons

Mar 24 2014

fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

I have ran the task manually.
In DiffusionPathChangeQuery::executeQuery() at line 55 the query (the one in my post above) returns 2.470.422 rows and uses over 4 gigabyte of memory.
The call to isort() on this array takes 25 seconds and costs 930MB additional memory. Then even more time is spent with the three foreach() loops that come next, taking additional gigabytes of memory.
During this CPU is around 98% most of the time, only sometimes hitting 100% for short periods.

Mar 24 2014, 10:52 AM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

When I add the echo inside ExecFuture::isReady() the output becomes this;

isready
1395651103.4699
isready
isready
isready
1395651103.471
isready
1395651104.4709
isready
isready
isready
1395651104.472
isready
1395651105.4719
isready
isready
isready
1395651105.473
...
Mar 24 2014, 8:53 AM · Daemons

Mar 19 2014

fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

Nope, that one works correctly
I see one select() that pauses untill the sleep is finished, and no CPU usage.

Mar 19 2014, 2:49 PM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

Yes, we are getting close.

Mar 19 2014, 1:57 PM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

That one doesn't reproduce the issue either
CPU stays idle and strace shows a single select() while waiting and finishes with;

select() took 29999794 us to return.
Mar 19 2014, 12:51 PM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

Setting the timeout to 1 or 60 in libphutil/src/future/Future.php:146 does not make any difference. Allthough the brk() and rt_sigprocmask() calls in strace now both seem to occur.

Mar 19 2014, 12:25 PM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

I am trying to debug ./libphutil/src/future/Future.php where the stream_select() call is;

Mar 19 2014, 8:58 AM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

You were right, that works.

Mar 19 2014, 8:42 AM · Daemons

Mar 18 2014

fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

I've generated an xhprof outfile from a launch up untill execution pauses. I ^C'd it when it was about to continue
The time seems to be spent with calling proc_close(), called from PhutilExecPassthru::execute().

Mar 18 2014, 2:31 PM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

The query itself doesn't seem the problem

Mar 18 2014, 1:06 PM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

I sometimes notice other pauses in the debug output for example after this;

Mar 18 2014, 8:14 AM · Daemons
fpruis added a comment to T4627: PhabricatorTaskmasterDaemon 100% CPU load.

Thank you for your reply epriestley.

Mar 18 2014, 8:00 AM · Daemons

Mar 17 2014

fpruis added a project to T4627: PhabricatorTaskmasterDaemon 100% CPU load: Daemons.
Mar 17 2014, 1:31 PM · Daemons