Last modified: 2014-09-12 10:38:35 UTC
For sometime now SMW runs successfully all its unit tests [0] on Travis-CI/HHVM nightly except those that involve the `Import.php`. When our regression tests try to import some XML via `Import.php`, the importer chokes on line 53 (`$this->reader->open( "uploadsource://$id" );`) with "Unable to open source data". (By normal standard the import runs without a problem for the same tests that do not involve HHVM). Travis-CI test environment: PHPUnit 4.1.4 PHP 5.6.99-hhvm / HipHop VM 3.2.0-dev+2014.07.17 (rel) MW master (1.24+) DB-type sqlite [0] https://travis-ci.org/SemanticMediaWiki/SemanticMediaWiki/jobs/30308020
*** This bug has been marked as a duplicate of bug 66023 ***
the issue seems to be related to the custom stream that is created in Import.php using $id = UploadSourceAdapter::registerSource( $source ); and then $this->reader->open( "uploadsource://$id" ); GWToolset uses XMLReader->open() with uploaded XML files without a custom stream and has no problem. so i'm not sure the issue lies in how hhvm implements XMLReader, but how it handles custom streams or how mw is creating the custom stream.
As noted in [0], HipHop VM 3.3.0-dev+2014.08.10 (rel) solved the issue for us. [0] https://bugzilla.wikimedia.org/show_bug.cgi?id=66023#c5