no, the error is quite different ( command ::rivet::apache_log_error not found) and it's generated from within the worker bridge (without a working bridge no Tcl stuff can be evaluated). Do you have more errors *before" this one? The call to Rivet_InitCore should set up the whole command set and it's compiled into mod_rivet.so
-- Massimo ________________________________ Da: Georgios Petasis <petas...@yahoo.gr> Inviato: martedì 23 gennaio 2018 17:53 A: Massimo MANGHI; rivet-dev@tcl.apache.org Oggetto: Re: Rivet 3.0.0: too many connections from mysql... Στις 23/1/2018 18:32, ο Massimo Manghi έγραψε: > > > On 01/23/2018 04:27 PM, Georgios Petasis wrote: >> Ok, I have changed MPM back to prefork, and I have changed my apache >> configuration to: >> >> <IfModule mpm_prefork_module> >> LoadModule rivet_module modules/mod_rivet.so >> RivetServerConf MpmBridge prefork >> </IfModule> >> <IfModule mpm_worker_module> >> LoadModule rivet_module modules/mod_rivet.so >> RivetServerConf MpmBridge worker >> </IfModule> >> <IfModule mpm_event_module> >> Error "mod_rivet does not support the event mpm." >> </IfModule> >> >> And I think I am back to normal. And next time the OS changes the >> MPM, I will get at least an error while loading apache... >> >> Best regards, >> George >> > > > sorry, I forgot that you have established that tdbc and threads don't > get very well together, so you can't safely test your application with > the worker MPM neither, can you? > > In a previous message you said that what you observe is a frequent > call to the global_init_script (called by Rivet_VirtualHostsInterps). > This script is evaluated only when threads are started. This happens > only during the child initialization phase. With the prefork bridge > the ChildInit callback itself calls Rivet_VirtualHostsInterps. The > worker bridge calls it from each worker thread, only once in the > thread lifetime. So I think it's strange, if crashes don't occur, that > this code in called so frequently. Do you have clues in the error log? > > Unfortunately the documentation is shy of providing implementation > details of the event bridge, but it's stated that as a MPM is based on > the worker MPM having as main difference the way connections are handled. > > -- Massimo > > I have tried to enable rivet under worker mpm, but I am getting an error: [:error] [pid 5963:tid 140477525366528] (20014)Internal error (specific information not available): mod_rivet: Error running GlobalInitScript 'set ::PaloServices 0; source -encoding utf-8 /var/www/rivet/server/server_init.tcl': invalid command name "::rivet::apache_log_error" while executing\n"::rivet::apache_log_error warning "Server Init loaded under PID [pid]"" (file "/var/www/rivet/server/server_init.tcl" line 34)\n invoked from within\n"source -encoding utf-8 /var/www/rivet/server/server_init.tcl" So, something is wrong. Rivet did not find its worker mpm library? It is in the same directory as worker: root@fedser petasis]# ls /usr/lib64/rivet3.0/site-packages/mod_rivet/mpm/ rivet_lazy_mpm.so rivet_prefork_mpm.so rivet_worker_mpm.so George