bitwiseworks / libc

LIBC Next (kLIBC fork)
9 stars 4 forks source link

Possible circular dependency for libc/libcx --> klusrmgr --> rpm-libs --> libcx #108

Open altsan opened 3 years ago

altsan commented 3 years ago

Describe the bug On a system with libc 0.6.6-30, running yum update libc results in klusrmgr getting pulled in as a dependency. It seems that klusrmgr in turn triggers an update of rpm-libs.

While this operation succeeds, all subsequent yum operations prior to rebooting fail and a POPUPLOG.OS2 entry is generated:

06-14-2021  17:10:07  SYS2070  PID 006e  TID 0001  Slot 0070
C:\USR\BIN\PYTHON2.7.EXE
RPMI07->LIBCX0._waitpid
127

Presumably this is a result of rpm-libs requiring a newer version of libcx, which seems like a circular problem because updating libc and libcx is dependent on the updated rpm-libs.

While a reboot restores functionality, this may present a problem for scripted install procedures when multiple yum operations are executed. Yum does not prompt for an immediate reboot after the operation, so users may not be aware that one is necessary.

Moreover, it seems risky to have klusrmgr as a dependency on libc (and thus on libcx), due to the sheer number of dependencies it triggers in turn.

To Reproduce Steps to reproduce the behavior:

  1. Run 'yum update libcx' (or libc, or libgcc) on a system with libc-0.6.6 (e.g. ArcaOS 5.0.0).
  2. Wait for operations to complete
  3. Run any yum command such as 'yum list libcx'.
  4. Open POPUPLOG.OS2 to see exception.
abwillis commented 3 years ago

Related to: https://github.com/bitwiseworks/libc/issues/1