digg_de's picture

Hi,

i use phantomjs to shot many website screens. Since 22/06/2016 sometimes phantomjs hangs and is waiting for incoming data. I don't know why? After killing phantomjs and restarting everything works fine until the next hanging.

From 21/06/2016 to 22/06/2016 the followings packages are updated:

base-files:amd64 7.1wheezy10 => 7.1wheezy11
dpkg-dev:all 1.16.17 => 1.16.18
dpkg:amd64 1.16.17 => 1.16.18
libdpkg-perl:all 1.16.17 => 1.16.18
libldap-2.4-2:amd64 2.4.31-2+deb7u1 => 2.4.31-2+deb7u2
libldap2-dev:amd64 2.4.31-2+deb7u1 => 2.4.31-2+deb7u2
libpython2.7:amd64 2.7.3-6+deb7u2 => 2.7.3-6+deb7u3
python2.7-minimal:amd64 2.7.3-6+deb7u2 => 2.7.3-6+deb7u3
python2.7:amd64 2.7.3-6+deb7u2 => 2.7.3-6+deb7u3
tzdata:all 2016c-0+deb7u1 => 2016d-0+deb7u1

Does everybody know, if can be there a connection between the updates and the hanging of phantomjs?

How can i install an older package and disable the automatic update service in the turnkey lamp for testing?

Thanks g.g.

 

 

Forum: 
Jeremy Davis's picture

I have no idea on troubleshooting PhantomJS but none of those packages look like they would be responsible for causing your issues (at least not directly).

Also according to the PhantomJS downloads page it is a static built binary that is self-contained so should not depend on any system files (beyond fonts; and except at build time).

Having said that, it does note a dependence on some specific glibc versions - IIRC relatively recently there have been security updates to libc. Considering that it's such a fundamental package to the system having security flaws in that would have wide ranging consequences so downgrading would be a very short term last resort and I wouldn't do it on an internet facing machine...

Have you updated PhantonJS at all? If so perhaps that's your issue? If not, perhaps that's your issue!? Personally the first thing I would do is migrate your server to a v14.x base and update PhantomJS to the latest version. If that doesn't work or you continue to have issues, then I would contact the PhantomJS community to assist troubleshooting. Perhaps there is even a known issue (with a workaround)!? Or perhaps it's just broken on the old version of Debian (TurnKey v13.x is based on Debian Wheezy which is pretty old)?

Personally I wouldn't do what you are suggesting (at least not until you've upgraded to v14.x and updating PhantomJS). Regardless, to explicitly answer your questions; you can install an older version of a package easily with apt, e.g.:

apt-get install <package-name>=<version>
Using dpkg as an example:
apt-get install dpkg=1.16.17

If you want to disable auto security updates. Do that by commenting out (adding a '#' at the start of) the line in /etc/cron.d/cron-apt that looks something like this:

40 14 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt
and then restart cron:
service cron restart
I would not recommend holding a version of a package with a security updates available until you fully understand the consequences of leaving the security issues unpatched. I.e. read the DSA (Debian Security Announcement) to get an understanding of what the security risk is, how critical it is, how you may be able to mitigate or workaround it. If you decide you are ok with pinning an insecure version then the currently installed version of a package can be held with apt like this:
apt-mark hold <package-name>
Then to undo:
apt-mark unhold <package-name>
Note, dpkg can do the same thing:
echo "<package-name> hold" | dpkg --set-selections
Undo:
echo "<package-name> install" | dpkg --set-selections
digg_de's picture

Thanks for your fast response. You are right, to disable update service is not a pretty solution.

At first i will restore an older snapshot to check if the problem cause with the updates. The next test will be after an upgrade to the 14.1 turnkey lamp.

Thanks!

Add new comment