Client execution running rhn_check returned "Error while executing packages action: empty transaction [[6]]" (code -1)

Solution Verified - Updated -

Environment

  • Red Hat Network (RHN) Satellite 5.4.1 or RHN Hosted
  • Red Hat Enterprise Linux (RHEL) v 5.7  - yum-rhn-plugin-0.5.4-22.el5_7.1
  • Red Hat Enterprise Linux (RHEL) v 6.1 -  yum-rhn-plugin-0.9.1-26.el6_1.1

Issue

  • After scheduling an errata for a client and running the rhn_check on the client the update fails and the following error at webUI:
This action's status is: Failed.
The client picked up this action on 09/ 2/11 3:37:55 PM BRT.
The client completed this action on 09/ 2/11 3:37:55 PM BRT.
Client execution returned "Error while executing packages action: empty transaction [[6]]" (code -1)
  • Scheduling an errata against RHN hosted and running rhn_check causes the same error.
Error while executing packages action: empty transaction [[6]]" (code -1)
  • Whilst running rhn_check fails, running rhn_check -v or -vv or -vvv works.

Resolution

Red Hat Enterprise Linux 6

Update to rhn-client-tools-1.0.0-73.el6 and yum-rhn-plugin-0.9.1-36.el6 (from RHBA-2011-1664) or later.

Red Hat Enterprise Linux 5

Update yum-rhn-plugin to version 0.5.4-22.el5_7.2 (from RHBA-2011:1281) or later.

Workaround

If updating yum-rhn-plugin is not feasible due to deployment constraints, this issue can be worked around by downgrading yum-rhn-plugin-0.5.4-22.el5_7.1 to yum-rhn-plugin-0.5.4-22:

yum downgrade yum-rhn-plugin

Diagnostic Steps

  • Check if the repodata on the RHN Satellite server is updated at /var/cache/rhn/repodata.

  • Review the logs while restarting the taskomatic:

/etc/init.d/taskomatic restart

tail -f /var/log/rhn/rhn_taskomatic_daemon.log

In case the logs show similar messages as the OutOfMemory bellow, consider to review the article Taskomatic and tomcat produces heapdumps on RHN Satellite for "out of memory" exceptions

INFO   | jvm 1    | 2014/08/15 21:01:17 | Exception in thread "Thread-60" java.lang.OutOfMemoryError: GC overhead limit exceeded
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at java.lang.reflect.Method.copy(Method.java:151)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at java.lang.reflect.ReflectAccess.copyMethod(ReflectAccess.java:136)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at sun.reflect.ReflectionFactory.copyMethod(ReflectionFactory.java:300)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at java.lang.Class.copyMethods(Class.java:2852)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at java.lang.Class.getMethods(Class.java:1467)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.util.MethodUtil.callMethod(MethodUtil.java:114)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.db.datasource.CachedStatement.addToObject(CachedStatement.java:776)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.db.datasource.CachedStatement.processResultSet(CachedStatement.java:626)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:474)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:443)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:345)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:351)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.db.datasource.CachedStatement.execute(CachedStatement.java:287)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.common.db.datasource.SelectMode.execute(SelectMode.java:110)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.manager.task.TaskManager.getChannelPackageDtos(TaskManager.java:52)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.taskomatic.task.repomd.RpmRepositoryWriter.writeRepomdFiles(RpmRepositoryWriter.java:170)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at com.redhat.rhn.taskomatic.task.repomd.ChannelRepodataWorker.run(ChannelRepodataWorker.java:104)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)
INFO   | jvm 1    | 2014/08/15 21:01:17 |   at java.lang.Thread.run(Thread.java:744)

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments