Some shell jobs are causing Checkbox Converged to crash

Bug #1490533 reported by Ara Pulido
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox Converged
Fix Released
Critical
Maciej Kisielewski

Bug Description

Example, running graphics/xorg-version

INFO:checkbox.touch.qml:invoking get_next_test on object created withcheckbox_touch.create_app_object, with args: [] ...
INFO:checkbox.touch.qml:get_next_test on object created withcheckbox_touch.create_app_object, with args: [] returned: {"code":200,"result":{"command":"xdpyinfo | grep \"^X.Org version\" | cut -d ':' -f 2 | tr -d ' '","description":"Test to output the Xorg version","flags":[],"id":"2013.com.canonical.certification::graphics/xorg-version","name":"Test Xorg version","partial_id":"graphics/xorg-version","plugin":"shell","start_time":1441023126.8001122,"test_number":1,"tests_count":3,"verificationDescription":"Test to output the Xorg version"}}
INFO:checkbox.touch.qml:invoking run_test_activity on object created withcheckbox_touch.create_app_object, with args: [{"command":"xdpyinfo | grep \"^X.Org version\" | cut -d ':' -f 2 | tr -d ' '","description":"Test to output the Xorg version","flags":[],"id":"2013.com.canonical.certification::graphics/xorg-version","name":"Test Xorg version","partial_id":"graphics/xorg-version","plugin":"shell","start_time":1441023126.8001122,"test_number":1,"tests_count":3,"verificationDescription":"Test to output the Xorg version"}] ...
INFO:plainbox.runner:Running <JobDefinition id:'2013.com.canonical.certification::graphics/xorg-version' plugin:'shell'>
ERROR:checkbox.touch:run_test_activity(...) raised TypeError('no such field: comment',)
Traceback (most recent call last):
  File "/usr/share/checkbox-converged/py/checkbox_touch.py", line 524, in run_test_activity
    result = self.runner.run_job(job, job_state, self.config, self.ui)
  File "/usr/lib/python3/dist-packages/plainbox/impl/runner.py", line 434, in run_job
    return runner(job, job_state, config)
  File "/usr/lib/python3/dist-packages/plainbox/impl/runner.py", line 460, in run_shell_job
    return self._just_run_command(job, job_state, config).get_result()
  File "/usr/lib/python3/dist-packages/plainbox/impl/runner.py", line 801, in _just_run_command
    job, job_state, config, ctrl)
  File "/usr/lib/python3/dist-packages/plainbox/impl/runner.py", line 903, in _run_command
    job, job_state, config, extcmd_popen, ctrl)
  File "/usr/lib/python3/dist-packages/plainbox/impl/runner.py", line 914, in _run_extcmd
    extcmd_popen)
  File "/usr/lib/python3/dist-packages/plainbox/impl/ctrl.py", line 538, in execute_job
    return_code = extcmd_popen.call(cmd, env=env, cwd=cwd_dir)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/extcmd/__init__.py", line 493, in call
    proc = self._popen(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/extcmd/__init__.py", line 276, in _popen
    return subprocess.Popen(*args, **kwargs)
  File "/usr/lib/python3.4/subprocess.py", line 848, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.4/subprocess.py", line 1384, in _execute_child
    restore_signals, start_new_session, preexec_fn)
OSError: [Errno 12] Cannot allocate memory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/checkbox-converged/py/checkbox_touch.py", line 110, in wrapper
    result = func(*args, **kwargs)
  File "/usr/share/checkbox-converged/py/checkbox_touch.py", line 529, in run_test_activity
    ).get_result()
  File "/usr/lib/python3/dist-packages/plainbox/impl/pod.py", line 405, in __init__
    raise TypeError("no such field: {}".format(field_name))
TypeError: no such field: comment
INFO:checkbox.touch.qml:run_test_activity on object created withcheckbox_touch.create_app_object, with args: [{"command":"xdpyinfo | grep \"^X.Org version\" | cut -d ':' -f 2 | tr -d ' '","description":"Test to output the Xorg version","flags":[],"id":"2013.com.canonical.certification::graphics/xorg-version","name":"Test Xorg version","partial_id":"graphics/xorg-version","plugin":"shell","start_time":1441023126.8001122,"test_number":1,"tests_count":3,"verificationDescription":"Test to output the Xorg version"}] returned: {"code":500,"error":"no such field: comment","traceback":"Traceback (most recent call last):\n File \"/usr/share/checkbox-converged/py/checkbox_touch.py\", line 524, in run_test_activity\n result = self.runner.run_job(job, job_state, self.config, self.ui)\n File \"/usr/lib/python3/dist-packages/plainbox/impl/runner.py\", line 434, in run_job\n return runner(job, job_state, config)\n File \"/usr/lib/python3/dist-packages/plainbox/impl/runner.py\", line 460, in run_shell_job\n return self._just_run_command(job, job_state, config).get_result()\n File \"/usr/lib/python3/dist-packages/plainbox/impl/runner.py\", line 801, in _just_run_command\n job, job_state, config, ctrl)\n File \"/usr/lib/python3/dist-packages/plainbox/impl/runner.py\", line 903, in _run_command\n job, job_state, config, extcmd_popen, ctrl)\n File \"/usr/lib/python3/dist-packages/plainbox/impl/runner.py\", line 914, in _run_extcmd\n extcmd_popen)\n File \"/usr/lib/python3/dist-packages/plainbox/impl/ctrl.py\", line 538, in execute_job\n return_code = extcmd_popen.call(cmd, env=env, cwd=cwd_dir)\n File \"/usr/lib/python3/dist-packages/plainbox/vendor/extcmd/__init__.py\", line 493, in call\n proc = self._popen(*args, **kwargs)\n File \"/usr/lib/python3/dist-packages/plainbox/vendor/extcmd/__init__.py\", line 276, in _popen\n return subprocess.Popen(*args, **kwargs)\n File \"/usr/lib/python3.4/subprocess.py\", line 848, in __init__\n restore_signals, start_new_session)\n File \"/usr/lib/python3.4/subprocess.py\", line 1384, in _execute_child\n restore_signals, start_new_session, preexec_fn)\nOSError: [Errno 12] Cannot allocate memory\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/usr/share/checkbox-converged/py/checkbox_touch.py\", line 110, in wrapper\n result = func(*args, **kwargs)\n File \"/usr/share/checkbox-converged/py/checkbox_touch.py\", line 529, in run_test_activity\n ).get_result()\n File \"/usr/lib/python3/dist-packages/plainbox/impl/pod.py\", line 405, in __init__\n raise TypeError(\"no such field: {}\".format(field_name))\nTypeError: no such field: comment\n"}
ERROR:checkbox.touch.qml:Unable to run test activity
Stacktrace:
#0 @file:///usr/share/checkbox-converged/components/PythonLogger.qml:91
#1 @file:///usr/share/checkbox-converged/components/CheckboxTouchApplication.qml:141
#2 @file:///usr/share/checkbox-converged/components/CheckboxTouchApplication.qml:182
#3 @file:///usr/share/checkbox-converged/components/PythonObjectRef.qml:68

Related branches

Revision history for this message
Ara Pulido (ara) wrote :

This also happen with some of the resource jobs like '2013.com.canonical.certification::device, making checkbox-converged almost unusable for now.

Changed in checkbox-converged:
importance: Undecided → Critical
Revision history for this message
Ara Pulido (ara) wrote :

Output of:

LD_LIBRARY_PATH=/opt/qt-5.4/usr/lib/x86_64-linux-gnu strace qmlscene -qt=5.4 --settings=/usr/share/checkbox-converged/settings.json $@ /usr/share/checkbox-converged/checkbox-touch.qml >& /tmp/strace_checkbox_converged

Changed in checkbox-converged:
status: New → In Progress
assignee: nobody → Maciej Kisielewski (kissiel)
milestone: none → 1.2.2
Revision history for this message
Ara Pulido (ara) wrote :

I can't reproduce this any more after rebooting to a newer installed kernel.

I will reopen in case it appears again

Changed in checkbox-converged:
assignee: Maciej Kisielewski (kissiel) → nobody
status: In Progress → Invalid
Revision history for this message
Maciej Kisielewski (kissiel) wrote :

I was able to get the same problem when running big bundle of attachment jobs.

Changed in checkbox-converged:
status: Invalid → In Progress
assignee: nobody → Maciej Kisielewski (kissiel)
Changed in checkbox-converged:
status: In Progress → Fix Committed
Changed in checkbox-converged:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.