Last modified: 2012-05-09 05:45:42 UTC
[07-May-2012 20:57:00 UTC] PHP Fatal error: Cannot access pro tected property ExportProgressFilter::$sink in w/maintenance/backupTextPass.inc on line 719 when running $ php -c "${HOME}/php.ini" tests/phpunit/phpunit.php --configuration tests/phpunit/suite.xml --exclude-group Broken,Stub,Maintenance,ParserFuzz --log-junit "${HOME}/tests/log/postgres-log.xml" PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from /usr/home/saper/public_html/pg/w/tests/phpunit/suite.xml ... F2012-05-07 21:12:26: minitest-unittest_ (ID 28743) 49 pages (337.9|337.9/sec all|curr), 100 revs (689.6|689.5/sec all|curr), ETA 2012-05-07 21:12:26 [max 564] 2012-05-07 21:12:26: minitest-unittest_ (ID 28743) 96 pages (346.8|728.4/sec all|curr), 192 revs (693.6|698.0/sec all|curr), ETA 2012-05-07 21:12:26 [max 564] 2012-05-07 21:12:26: minitest-unittest_ (ID 28743) 49 pages (340.6|340.6/sec all|curr), 100 revs (695.1|695.0/sec all|curr), ETA 2012-05-07 21:12:26 [max 564] 2012-05-07 21:12:26: minitest-unittest_ (ID 28743) 100 pages (349.1|701.2/sec all|curr), 200 revs (698.1|701.2/sec all|curr), ETA 2012-05-07 21:12:26 [max 564] 2012-05-07 21:12:26: minitest-unittest_ (ID 28743) 149 pages (347.3|1045.4/sec all|curr), 300 revs (699.3|701.6/sec all|curr), ETA 2012-05-07 21:12:26 [max 564] 2012-05-07 21:12:26: minitest-unittest_ (ID 28743) 199 pages (349.5|1417.0/sec all|curr), 400 revs (702.5|712.0/sec all|curr), ETA 2012-05-07 21:12:26 [max 564] 2012-05-07 21:12:26: minitest-unittest_ (ID 28743) 250 pages (351.2|1756.2/sec all|curr), 500 revs (702.5|702.5/sec all|curr), ETA 2012-05-07 21:12:26 [max 564] 2012-05-07 21:12:27: minitest-unittest_ (ID 28743) 299 pages (350.3|2109.4/sec all|curr), 600 revs (703.0|705.5/sec all|curr), ETA 2012-05-07 21:12:26 [max 564] 2012-05-07 21:12:27: minitest-unittest_ (ID 28743) 349 pages (345.5|2227.9/sec all|curr), 700 revs (693.0|638.4/sec all|curr), ETA 2012-05-07 21:12:27 [max 564] 2012-05-07 21:12:27: minitest-unittest_ (ID 28743) 400 pages (340.6|2434.8/sec all|curr), 800 revs (681.2|608.7/sec all|curr), ETA 2012-05-07 21:12:27 [max 564] 2012-05-07 21:12:27: minitest-unittest_ (ID 28743) 449 pages (339.4|3024.3/sec all|curr), 900 revs (680.3|673.6/sec all|curr), ETA 2012-05-07 21:12:27 [max 564] 2012-05-07 21:12:27: minitest-unittest_ (ID 28743) 499 pages (336.3|3102.5/sec all|curr), 1000 revs (674.0|621.7/sec all|curr), ETA 2012-05-07 21:12:27 [max 564] 2012-05-07 21:12:27: minitest-unittest_ (ID 28743) 550 pages (335.7|3552.9/sec all|curr), 1100 revs (671.3|646.0/sec all|curr), ETA 2012-05-07 21:12:27 [max 564] 2012-05-07 21:12:27: minitest-unittest_ (ID 28743) 599 pages (333.4|3782.6/sec all|curr), 1200 revs (667.8|631.5/sec all|curr), ETA 2012-05-07 21:12:27 [max 564] 2012-05-07 21:12:28: minitest-unittest_ (ID 28743) 649 pages (333.2|4306.8/sec all|curr), 1300 revs (667.5|663.6/sec all|curr), ETA 2012-05-07 21:12:27 [max 564] 2012-05-07 21:12:28: minitest-unittest_ (ID 28743) 700 pages (332.8|4484.0/sec all|curr), 1400 revs (665.5|640.6/sec all|curr), ETA 2012-05-07 21:12:27 [max 564]
https://gerrit.wikimedia.org/r/#/c/6877/
The change was introduced by commit ab6e54e0 https://gerrit.wikimedia.org/r/#/c/6089/ We will have to update the Dump tests to no more reference sink directly but use a proper accessing method that has yet to be written.
Will have to rebase any changes which have been failing because of that.
(In reply to comment #2) > The change was introduced > by commit ab6e54e0 https://gerrit.wikimedia.org/r/#/c/6089/ > > We will have to update the Dump tests to [...] Yes sure ... blame it on the messenger^Wtest ;) The code accessing ExportProgressFilter::$sink comes right from adding checkpoint files (git commit bc3caf7666385cd4b4238dbba64a8defb1732d03, lines 575ff of maintenance/dumpTextPass.php): # nasty hack, we can't just write the chardata after the # page tag, it will include leading blanks from the next line $this->egress->sink->write("\n"); which was split off into maintenance/backupTextPass.inc:717ff some time ago. No need to modify the tests. The culprit was setting the visibility of ExportProgressFilter::$sink to protected. Luckily enough the test caught this problem before it hit us on production. Yay for continuous integration and unit testing :D
Thanks for the nice explanation Christian!