Dear all,
I develop a web service https://gsdr.gq.
SQLite/Spatialite is used as database. Because of multiple massive
requests from time to time.
SQL requests are interrupted with "malformed database schema". As I
understand, Sqlite
by default uses serialized mode for multi threading support.
(More information about threading in SQLite can be found here
https://sqlite.org/threadsafe.html )
Probably, this is the reason
of the "malformed" (about every 20-40th SQL request is interrupted with
this error). I would
like to try to switch SQLite to multi-thread mode and use:
/RivetServerConf SeparateVirtualInterps yes//
//RivetServerConf SeparateChannels yes/
This allows to use independent database connections for each child and
will hopefully resolve as error.
Currently I use /RivetServerConf ServerInitScript "source
/home/local/rivetfiles/initscript.tcl"/.
When I use the following configuration:
/RivetServerConf ChildInitScript "source
/home/local/rivetfiles/initscript.tcl"//
//RivetServerConf SeparateVirtualInterps yes//
//RivetServerConf SeparateChannels yes/
Apache rises this error:
[mpm_prefork:notice] [pid 18218] AH00169: caught SIGTERM, shutting down
[mpm_prefork:notice] [pid 18388] AH00163: Apache/2.4.10 (Debian)
OpenSSL/1.0.1t Rivet configured -- resuming normal operations
[core:notice] [pid 18388] AH00094: Command line: '/usr/sbin/apache2'
In this case, server is not down, but if try request it return the
following error log:
[core:error] [pid 18396] [client 129.206.65.76:46446] AH00082: an
unknown filter was not added: includes
[:error] [pid 18396] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:error] [pid 18392] [client 129.206.65.76:46447] AH00082: an
unknown filter was not added: includes
[:error] [pid 18392] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:error] [pid 18394] [client 129.206.65.76:46448] AH00082: an
unknown filter was not added: includes
[:error] [pid 18394] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:error] [pid 18398] [client 129.206.65.76:46449] AH00082: an
unknown filter was not added: includes
[:error] [pid 18398] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:error] [pid 18400] [client 129.206.65.76:46450] AH00082: an
unknown filter was not added: includes
[:error] [pid 18400] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:error] [pid 18417] [client 129.206.65.76:46451] AH00082: an
unknown filter was not added: includes
[:error] [pid 18417] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:notice] [pid 18388] AH00052: child pid 18392 exit signal
Segmentation fault (11)
[core:notice] [pid 18388] AH00052: child pid 18394 exit signal
Segmentation fault (11)
[core:notice] [pid 18388] AH00052: child pid 18396 exit signal
Segmentation fault (11)
[core:notice] [pid 18388] AH00052: child pid 18398 exit signal
Segmentation fault (11)
[core:notice] [pid 18388] AH00052: child pid 18400 exit signal
Segmentation fault (11)
[core:notice] [pid 18388] AH00052: child pid 18417 exit signal
Segmentation fault (11)
[core:error] [pid 18419] [client 129.206.65.76:46452] AH00082: an
unknown filter was not added: includes
[:error] [pid 18419] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:error] [pid 18421] [client 129.206.65.76:46453] AH00082: an
unknown filter was not added: includes
[:error] [pid 18421] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:notice] [pid 18388] AH00052: child pid 18419 exit signal
Segmentation fault (11)
[core:notice] [pid 18388] AH00052: child pid 18421 exit signal
Segmentation fault (11)
[core:error] [pid 18427] [client 129.206.65.76:46454] AH00082: an
unknown filter was not added: includes
[:error] [pid 18427] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:error] [pid 18425] [client 129.206.65.76:46455] AH00082: an
unknown filter was not added: includes
[:error] [pid 18425] (20014)Internal error: mod_rivet: Error in
Rivet_ParseExecFile exec file '/var/www/html/index.rvt': can not find
channel named "stdout"\n while executing\n"puts "<b>Rivet ErrorScript
failed</b><br />""
[core:notice] [pid 18388] AH00052: child pid 18425 exit signal
Segmentation fault (11)
[core:notice] [pid 18388] AH00052: child pid 18427 exit signal
Segmentation fault (11)
I use Debian Jessie ARM architecture ( aarch64). rivet-2.3.3 built from
source. Apache 2.4.10 and SQLite 3.8.7.1 from repository.
I tried different configurations and detected that SEGTERM appeared
because of /RivetServerConf ChildInitScript "source
/home/local/rivetfiles/initscript.tcl"//
/
Moreover, I have a problem even with current working configuration
(//RivetServerConf ChildInitScript ...,/SeparateVirtualInterps //no/).
From time to time (about after day of work)
I have an error related to /can not find channel named "stdout"/
Thus, I use cron to restart the apache ones an hour.
Thank you and sorry for a long mail, I am not sure that this should be
reported as a bug, because I relatively new user of rivet,
Kind regards,
Alexey
(earlier I participated in the mailing list using email alexkarta at yahoo)
/
/