Python version mismatch check and patch level revisions.
--------------------------------------------------------
Key: MODPYTHON-205
URL: http://issues.apache.org/jira/browse/MODPYTHON-205
Project: mod_python
Issue Type: Bug
Components: core
Affects Versions: 3.2.10, 3.3
Reporter: Graham Dumpleton
Priority: Minor
When mod_python starts up, it performs a check to confirm whether the version
of Python it finds at runtime is the same version as was used to compile
mod_python originally. It does this by comparing the value of PY_VERSION
defined when mod_python is compiled against the runtime derived version from
Py_GetVersion().
Because this is a complete version string, it incorporates the patch level
revision as well as the major and minor versions. This means mod_python will
issue a warning if Python has been updated, but only by a patch revision.
Technically, the ABI for patch level revisions of Python should be compatible
and a warning about a version mismatch should be needed in this situation.
Thus, the check should perhaps be changed to only look at major/minor version
differences and not patch level revisions.
As an example of this issue, below is bug report from debian bugs list.
Package: libapache2-mod-python
Version: 3.2.10-2
Severity: critical
Justification: breaks unrelated software
[Tue Nov 14 18:28:37 2006] [error] python_init: Python version mismatch,
expected '2.4.4c1', found '2.4.4'.
[Tue Nov 14 18:28:37 2006] [error] python_init: Python executable found
'/usr/bin/python'.
[Tue Nov 14 18:28:37 2006] [error] python_init: Python path being used
'/usr/lib/python24.zip:/usr/lib/python2.4/:/usr/lib/python2.4/plat-linux2:/
usr/lib/python2.4/lib-t
k:/usr/lib/python2.4/lib-dynload'.
[Tue Nov 14 18:28:37 2006] [notice] mod_python: Creating 8 session mutexes
based on 150 max processes and 0 max threads.
[Tue Nov 14 18:28:37 2006] [notice] mod_python: using mutex_directory /tmp
Need recompile the mod-python :D
-- System Information:
Debian Release: 4.0
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-2-686
Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8)
Versions of packages libapache2-mod-python depends on:
ii apache2 2.2.3-3.1 Next generation, scalable, extenda
ii apache2-mpm-prefork [apache2 2.2.3-3.1 Traditional model for Apache HTTPD
ii apache2.2-common 2.2.3-3.1 Next generation, scalable, extenda
ii debconf [debconf-2.0] 1.5.8 Debian configuration management sy
ii libc6 2.3.6.ds1-8 GNU C Library: Shared libraries
ii python 2.4.4-1 An interactive high-level object-o
ii python-central 0.5.10 register and build utility for Pyt
ii python2.4 2.4.4-1 An interactive high-level object-o
libapache2-mod-python recommends no packages.
-- debconf information:
libapache2-mod-python/enable_module: true
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira