Last modified: 2014-07-26 22:41:56 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T69831, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 67831 - luasandbox.so: undefined symbol: zend_objects_destroy_object
luasandbox.so: undefined symbol: zend_objects_destroy_object
Status: RESOLVED FIXED
Product: MediaWiki-Vagrant
Classification: Unclassified
General (Other open bugs)
unspecified
All All
: Unprioritized normal
: ---
Assigned To: Bryan Davis
: hhvm
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-07-11 00:30 UTC by Max Semenik
Modified: 2014-07-26 22:41 UTC (History)
5 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Max Semenik 2014-07-11 00:30:46 UTC
$ hhvm
Uncaught exception: Could not open extension /usr/lib/hphp/extensions/20131007/luasandbox.so: /usr/lib/hphp/extensions/20131007/luasandbox.so: undefined symbol: zend_objects_destroy_object

Tried to upgrade everything that moves, etc.
Comment 1 Bryan Davis 2014-07-13 18:48:36 UTC
Works for me:

$ ls -l /usr/lib/hphp/extensions/20131007/luasandbox.so
-rw-r--r-- 1 root root 108936 Jul  2 00:54 /usr/lib/hphp/extensions/20131007/luasandbox.so

$ dpkg -S /usr/lib/hphp/extensions/20131007/luasandbox.so
hhvm-luasandbox: /usr/lib/hphp/extensions/20131007/luasandbox.so

$ dpkg -s hhvm-luasandbox
Package: hhvm-luasandbox
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 149
Maintainer: Tim Starling <tstarling@wikimedia.org>
Architecture: amd64
Source: php-luasandbox
Version: 2.0-1
Depends: hhvm, libc6 (>= 2.17), libgcc1 (>= 1:4.1.1), liblua5.1-0, libstdc++6 (>= 4.1.1)
Description: Lua extension for HHVM
 A HHVM extension providing a sandboxed Lua environment which can be used to run
 untrusted code.
Homepage: https://www.mediawiki.org/wiki/Extension:Scribunto
Comment 2 Matthew Flaschen 2014-07-14 19:50:23 UTC
I was able to reproduce it (see last part below).  After some git pulls into MediaWiki-Vagrant, role toggling, and halt/up, I can't reproduce it any more.

I ran the commands Bryan provided, and got the same output.

---
2014-07-14 19:24:35 +0000 Puppet (notice): Compiled catalog for mediawiki-vagrant in environment production in 5.58 seconds
2014-07-14 19:24:41 +0000 Puppet (info): Applying configuration version '1405365870.ace5817'
2014-07-14 19:24:41 +0000 mount[files] (info): allowing mediawiki-vagrant access
2014-07-14 19:24:52 +0000 /Stage[main]/Apt/Exec[/usr/bin/apt-get update]/returns (notice): executed successfully
2014-07-14 19:24:55 +0000 /Stage[main]/Hhvm/Service[hhvm]/ensure (notice): ensure changed 'stopped' to 'running'
2014-07-14 19:24:55 +0000 /Stage[main]/Hhvm/Service[hhvm] (info): Unscheduling refresh on Service[hhvm]
2014-07-14 19:24:56 +0000 /Stage[main]/Mediawiki/Exec[install composer deps]/returns (notice): Uncaught exception: Could not open extension /usr/lib/hphp/extensions/20131007/luasandbox.so: /usr/lib/hphp/extensions/20131007/luasandbox.so: undefined symbol: zend_objects_destroy_object
2014-07-14 19:24:56 +0000 Puppet (err): /usr/bin/composer install --no-interaction --quiet --optimize-autoloader returned 255 instead of one of [0]
2014-07-14 19:24:56 +0000 /Stage[main]/Mediawiki/Exec[install composer deps]/returns (err): change from notrun to 0 failed: /usr/bin/composer install --no-interaction --quiet --optimize-autoloader returned 255 instead of one of [0]
2014-07-14 19:24:59 +0000 Puppet (notice): Finished catalog run in 21.27 seconds
---
Comment 3 Bryan Davis 2014-07-14 20:30:09 UTC
Service[hhvm] requires all of the hhvm packages to be installed (see ::hhvm). That log shows Service[hhvm] being started, so luasandbox.so should be present, but obviously it wasn't.

One thing we could do for this particular problem would be to change the command used to run composer to use /usr/bin/php5 instead of /usr/bin/php. We have done something similar for most puppet execution of maintenance scripts because of other issues with hhvm for short running command line scripts.

I'm more and more inclined to ask Ori to revert the code in ::hhvm that sets /usr/bin/php to be a symlink to /usr/bin/hhvm. I think running the wiki under hhvm is a great idea, but it seems like there is still quite a bit of instability with running random php scripts using it.
Comment 4 Max Semenik 2014-07-16 21:52:47 UTC
Gone after nuking the VM and reprovisioning. Apparently, the initial upgrade screwed up deb sources order.
Comment 5 Nik Everett 2014-07-23 21:05:18 UTC
I'm getting this after nuking and reprovisioning:

Uncaught exception: Could not open extension /usr/lib/hphp/extensions/20131007/luasandbox.so: /usr/lib/hphp/extensions/20131007/luasandbox.so: cannot open shared object file: No such file or directory


I can work around the problem with:
sudo ln -s /usr/lib/hphp/extensions/20140702/ /usr/lib/hphp/extensions/20131007
Comment 6 Nik Everett 2014-07-23 21:07:04 UTC
Apache wasn't working either....
Comment 7 Ori Livneh 2014-07-26 22:41:56 UTC
Fixed by Bryan in I986205e0c

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links