Hi Graham,

I know I should have elaborated more but I was very short on time at that moment. It was a missing dependency.

It was nss and I was pulling away nss dll files to see just what was needed and what wasn't. Interesting was that the error was different for most but that error came up for some. The other was

[Fri Mar 30 18:12:05.018600 2012] [session_crypto:error] [pid 3404:tid 700] (OS 126)The specified module could not be found. : AH01845: The specified module could not be found.

This does give better info
[Sat Mar 31 10:15:59.017600 2012] [session_crypto:error] [pid 4932:tid 700] (100005)Error string not specified yet: AH01845: The crypto library 'nss' could not be loaded: (null) (Error during 'nss' initialisation)

Maybe however, "Error string not specified by the driver yet" or something to that effect? It cannot be incorrectly read as "we're not sure what to say here yet," as I embarrassingly did.

Regards,
Gregg


On 3/31/2012 5:33 AM, Graham Leggett wrote:
On 31 Mar 2012, at 3:10 AM, Gregg Smith wrote:

I found this to be an interesting error message:

[Fri Mar 30 18:07:41.019600 2012] [session_crypto:error] [pid 4236:tid 700] 
(100005)Error string not specified yet: AH01845: (null)

very informative :)
Can you give more details of the crypto driver you're trying to use?

Using the error code "AH01845", a quick search of the source shows up this:

         rv = apr_crypto_get_driver(&driver, conf->library, conf->params,&err, 
p);
         ...
         if (APR_SUCCESS != rv&&  err) {
             ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, APLOGNO(01845)
                     "%s", err->msg);
             return rv;
         }

It looks like the error code returned by apr_crypto_get_driver() is not recognised as an 
APR error, and the error message being printed is the string "(null)".

This comes from here:

             apr_dso_error(dso, buffer, ERROR_SIZE - 1);
             err->msg = buffer;
             err->reason = modname;

What this means is that an attempt to load a DSO is failing, with an unknown APR error 
code and an error message of "(null)".

The assumption that the underlying driver will always return a sensible error 
message seems to be bogus, this won't help with the message, but will in theory 
give a hint to the driver involved:

Index: modules/session/mod_session_crypto.c
===================================================================
--- modules/session/mod_session_crypto.c        (revision 1307617)
+++ modules/session/mod_session_crypto.c        (working copy)
@@ -435,7 +435,7 @@
          }
          if (APR_SUCCESS != rv&&  err) {
              ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, APLOGNO(01845)
-                    "%s", err->msg);
+                    "The crypto library '%s' could not be loaded: %s (%s)", 
conf->library, err->msg, err->reason);
              return rv;
          }
          if (APR_ENOTIMPL == rv) {

Can you confirm?

Regards,
Graham
--


Reply via email to