Internally, libxslt calls ``xsltGenericError'' to signal an error to the application making use of the library.
However, sometimes, ``xsltGenericError'' gets called by libxslt with the arguments of the function ``xsltGenericDebug'' instead of its own, causing a SEGFAULT in mod-xslt (which doesn't expect the wrong arguments to be passed - it would cause a SEGFAULT on most applications).
Those ``xsltGenericError'' calls should never be reached in the normal path of execution of the library and of an application. However, it came out that they are sometimes reached, usually due to bugs in libxml2 or in the xslt handlers set by mod-xslt (quite unlikely :).
A sort of harmless ``parachute'' has been employed in mod-xslt to detect this situation most of the times. However, this mechanism doesn't guarantee the error will be avoided all the times.
To completely avoid this problem, you should patch the library with the provided .diff (or use the configure parameter described below).
The patch was created by running something like:
find . -type f -name '*.c' |xargs perl -pi -e \ 's/xsltGenericError\(xsltGenericDebugContext/xsltGenericError\(xsltGenericErrorContext/'from the libxslt source tree.
Another solution to patching the library is to use ``--enable-libxslt-hack''. Enabling this option to configure, mod-xslt will be configured to setup a fake ``debug'' error function, which uses the same parameters as the standard error functions.
That way, the problem is completely avoided without needing any further action.
Note, however, that by enabling this option you enable libxslt debugging facilities, which may potentially slow down the parsing.