Plesk extensions are malfunctioning: Error in line 74: local complex type: The c

Started by mahesh, Dec 20, 2023, 05:29 AM

Previous topic - Next topic

mahesh

Symptoms
Various Plesk extensions are malfunctioning:

  • Laravel Toolkit: Unable to install the extension or scan instances with already installed extension
  • PHP Composer: Unable to scan for applications or install dependencies
  • Git: Unable to open the extension or perform any actions in it
  • WP Toolkit: Various actions fail



with one of the following error messages:

ERR [panel] XML-RPC: Request is invalid. Error in line 74: local complex type: The content model is not determinist.

ERR [extension/dnssec] pm_Exception: Parser error: Request is invalid. Error in line 74: local complex type: The content model is not determinist.

Cause
The packages libxml2-2.12.1-1.0.cf.rhel7.x86_64 and python2-libxml2-2.12.1-1.0.cf.rhel7.x86_64 have been updated from a custom repository CityFan. These packages are not supported by Plesk.

CentOS does not recommend to use CityFan repository as, when installed, it replaces many OS core packages that Plesk depends on.
Resolution
Downgrade the packages to a supported version that comes from default OS .

  • For safety reasons, create a snapshot of the server.
  • Connect to the Plesk server via SSH.
  • List the yum operations related to the mentioned packages, e.g.:
#yum history list libxml2
Loaded plugins: fastestmirror, priorities
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
578 | root <root> | 2023-12-02 16:47 | I, O, U | 54
2 | 1000 | 2022-06-16 09:43 | I, U | 5
1 | System <unset> | 2022-06-16 09:36 | Install | 252
history list

#yum history list python2-libxml2
Loaded plugins: fastestmirror, priorities
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
578 | update | 2023-12-02 16:47 | I, O, U | 54
history list

4.Undo the update using the ID:

#yum history undo 578


If yum history undo operation fails, try:

1.Disable CityFan repos:

#grep -Ril city-fan /etc/yum.repos.d/ |xargs -i mv {} ~
2.Download packages from epel/updates:

#mkdir ~/epelXml && cd ~/epelXml
# yum makecache
# curl -LO http://mirror.centos.org/centos/7/os/x86_64/Packages/libxslt-1.1.28-6.el7.x86_64.rpm
# curl -LO http://mirror.centos.org/centos/7/updates/x86_64/Packages/libxml2-2.9.1-6.el7_9.6.x86_64.rpm
# curl -LO http://mirror.centos.org/centos/7/updates/x86_64/Packages/libxml2-python-2.9.1-6.el7_9.6.x86_64.rpm

3.Remove the packages installed from CityFan repo:

#printf "libxml2\npython2-libxml2\nlibxslt\n" |xargs -i rpm -e --nodeps {}
4.Manually install the downloaded packages from epel/updates(libxml2, libxml2-python, libxslt):

#ls |xargs -i rpm -ivh {}
5.Restart the Plesk services:

#service sw-cp-server restart && service sw-engine restart