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)


/
/


Reply via email to