Skip to content

NethVoice: failed FreePBX startup can block updates #8315

Closed
nethesis/ns8-nethvoice
#1200

Description

@Stell0

Steps to reproduce

  1. On a disposable NethVoice 1.8.0 installation, trigger a FreePBX initialization failure during an update, for example the obsolete chan_sip TLS failure described in NethVoice: obsolete chan_sip TLS prevents startup #8301.
  2. Leave pending CTI reload and reports restart notifications created by FreePBX while the upgrade has stopped watcher.path.
  3. Retry the application update to NethVoice 1.8.1.

Expected behavior

A FreePBX startup failure must not leave notification files that prevent a subsequent application update. Pending CTI reload and reports restart requests should be removed after the FreePBX container stops.

Actual behavior

An update failure was reported on two machines:

chown: changing ownership of './state/notify/reload_nethcti-server': Operation not permitted
chown: changing ownership of './state/notify/restart_reports-api': Operation not permitted
extract-image ghcr.io/nethesis/nethvoice:1.8.1 returned non-zero exit status 1.

FreePBX creates these files through ctiReloadHelper.sh. When created as the container's asterisk user (UID 990, GID 991), they have subordinate host IDs rather than the module user's ownership. Normally the watcher removes them. The upgrade stops the watcher before starting FreePBX and restores it only after successful initialization, so a startup failure can leave the requests pending.

NS8's extract-image then runs chown -cR --reference=. ., which also traverses runtime state. The unprivileged module user cannot change ownership of these files, so extraction and the next update fail.

Source inspection establishes this failure path; the exact sequence and file ownership on the two affected machines have not been inspected directly. Existing affected installations can be recovered manually; automatic recovery is outside this fix.

Components

NethVoice 1.8.0; reported failure while updating to 1.8.1. NS8 core image extraction; installed core version was not supplied.

See also

Activity

  1. added this to the NethVoice 1.8 milestone on Nov 12, 2026
  2. added theissue type on Nov 12, 2026
  3. added
    nethvoiceBug or features releted to the NethVoice project
    on Nov 12, 2026
  4. added
    testingPackages are available from testing repositories
    on Nov 12, 2026
  5. moved this from Todo to Testing in NethVoiceon Nov 12, 2026
  6. edospadoni commented on Nov 12, 2026

    @edospadoni
    Member
  7. removed their assignment
    on Nov 12, 2026
  8. removed
    testingPackages are available from testing repositories
    on Nov 12, 2026
  9. moved this from Testing to Verified in NethVoiceon Nov 12, 2026
  10. Stell0 commented on Nov 12, 2026

    @Stell0
    Author

    Release nethesis/ns8-nethvoice 1.8.2

  11. removed
    verifiedAll test cases were verified successfully
    on Nov 12, 2026
  12. moved this from Verified to Done in NethVoiceon Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    nethvoiceBug or features releted to the NethVoice project

    Type

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions