[Labs-l] Problem with running PHP CLI in cron/jsub

Tim Landscheidt tim at tim-landscheidt.de
Sun May 11 23:58:56 UTC 2014


Maciej Jaros <egil at wp.pl> wrote:

>>> I have a problem with my cron job. The job is running
>>> bash script that cd into my tool directory and run
>>> index.php. The bash script works perfectly fine when I
>>> run it through SHH/PuTTy.

>>> The problem seem to be with running through cron/jsub. I
>>> get an error message like so:
>>>     libgcc_s.so.1 must be installed for pthread_cancel to work
>>>     /data/project/dna/dna_refresh.sh: line 8:  2652
>>> Aborted                 (core dumped) php ./index.php >>
>>> $logFile
>> This is covered in the FAQ:
>> <https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/Help#Why_am_I_getting_errors_about_libgcc_s.so.1_must_be_installed_for_pthread_cancel_to_work.3F>

> Thanks.

> How do I make sure I get a notification of job failure?

You can tell jsub or more precisely the underlying qsub with
the option "-m e" to send a notification on several occa-
sions (cf. "man qsub"):

| [...]

|        -m b|e|a|s|n,...
|               Available  for  qsub,  qsh, qrsh, qlogin and
|               qalter only.

|               Defines or  redefines  under  which  circum‐
|               stances  mail is to be sent to the job owner
|               or to the users defined with the  -M  option
|               described  below.  The option arguments have
|               the following meaning:

|               `b'     Mail is sent at the beginning of the job.
|               `e'     Mail is sent at the end of the job.
|               `a'     Mail is sent when the job is aborted or
|                       rescheduled.
|               `s'     Mail is sent when the job is suspended.
|               `n'     No mail is sent.

|               Currently no mail is sent when a job is sus‐
|               pended.

| [...]

For example, "jsub -mem 10m -m a php" leads to:

| Job 821685 (php5) Aborted
|  Exit Status      = 139
|  Signal           = SEGV
|  User             = tools.wikilint
|  Queue            = task at tools-exec-07.eqiad.wmflabs
|  Host             = tools-exec-07.eqiad.wmflabs
|  Start Time       = 05/11/2014 23:49:56
|  End Time         = 05/11/2014 23:49:56
|  CPU              = 00:00:00
|  Max vmem         = NA
| failed assumedly after job because:
| job 821685.1 died through signal SEGV (11)

NB: "Aborted" means aborted in the grid sense.  "jsub -mem
10m -m a false" will not generate a mail for example.  So
you might want to use "-m aes" and filter notifications
about successful jobs in your mail client.

Tim




More information about the Labs-l mailing list