elsa icon indicating copy to clipboard operation
elsa copied to clipboard

Errors: Internal error

Open mstarks01 opened this issue 10 years ago • 4 comments

Occasionally, when performing a search, the webUI immediately responds with "Errors: Internal error" in red. If you click Submit a couple more times it will usually work.

Here's a partial log. I'll send you the full log privately since it contains internal data.

  • ERROR [2015/05/04 10:47:17] /usr/local/elsa/web/lib/Utils.pm (725) Utils::ANON 17781 [undef] Peer 10.0.1.133 got error: Internal error at /usr/local/elsa/web/lib/Utils.pm line 724. Utils::ANON(undef, HASH(0x7f765bee7860)) called at /usr/local/share/perl5/AnyEvent/HTTP.pm line 695 AnyEvent::HTTP::_error(HASH(0x7f765bc27bd8), CODE(0x7f765beef320), HASH(0x7f765bee7860)) called at /usr/local/share/perl5/AnyEvent/HTTP.pm line 1160 AnyEvent::HTTP::ANON() called at /usr/local/lib64/perl5/AnyEvent/Socket.pm line 1001 AnyEvent::Socket::ANON called at /usr/local/lib64/perl5/AnyEvent.pm line 1305 AnyEvent::_postpone_exec(EV::Timer=SCALAR(0x7f7657ca9b40), 256) called at /usr/local/lib64/perl5/AnyEvent/Impl/EV.pm line 88 eval {...} called at /usr/local/lib64/perl5/AnyEvent/Impl/EV.pm line 88 AnyEvent::CondVar::Base::_wait(AnyEvent::CondVar=HASH(0x7f765600c9e8)) called at /usr/local/lib64/perl5/AnyEvent.pm line 1994 AnyEvent::CondVar::Base::recv(AnyEvent::CondVar=HASH(0x7f765600c9e8)) called at /usr/local/elsa/web/lib/View.pm line 166 View::ANON(CODE(0x7f7659a11e78)) called at /usr/local/share/perl5/Plack/Util.pm line 301 Plack::Util::ANON(CODE(0x7f765ba41908)) called at /usr/local/share/perl5/Plack/Util.pm line 301 Plack::Util::ANON(CODE(0x7f765b637900)) called at /usr/local/share/perl5/Plack/Handler/Apache2.pm line 89 Plack::Handler::Apache2::call_app("Plack::Handler::Apache2", Apache2::RequestRec=SCALAR(0x7f765b547050), CODE(0x7f765b58f648)) called at /usr/local/share/perl5/Plack/Handler/Apache2.pm line 126 Plack::Handler::Apache2::handler(Apache2::RequestRec=SCALAR(0x7f765b547050)) called at -e line 0 eval {...} called at -e line 0
  • WARN [2015/05/04 10:47:17] /usr/local/elsa/web/lib/Warnings.pm (18) Warnings::add_warning 17781 [undef] 500: Internal error, $VAR1 = undef;
  • INFO [2015/05/04 10:47:17] /usr/local/elsa/web/lib/Controller.pm (1614) Controller::ANON 17781 [undef] Query 770 returned 0 rows
  • TRACE [2015/05/04 10:47:17] /usr/local/elsa/web/lib/Query.pm (251) Query::_set_time_taken 17781 [undef] Set time taken for query 770 to 78

mstarks01 avatar May 04 '15 16:05 mstarks01

Thanks for the submission. I'm pretty sure this is related to the various Apache weirdness I've seen with sharing database handles across Apache worker threads. The workaround (which I'll be merging soon) is to run ELSA using starman instead of Apache. Starman is a standalone web server for PSGI files and in addition to being faster, has a much more robust thread system than the Plack::Handler::Apache module. You can get starman with "sudo cpanm starman" and invoke with "starman --port 80 /usr/local/elsa/web/lib/Web.psgi" Can you give that a shot an see if it resolves the issue?

mcholste avatar May 05 '15 20:05 mcholste

I installed Starman and so far, so good. Also, wow, it's much faster--really brings out the true nature and performance of ELSA. I'll play with it for around a week and report back with my experiences.

mstarks01 avatar Jun 11 '15 19:06 mstarks01

Unfortunately, the issue still persists even with Starman. The node that the data is on shows nothing in web.log when I perform the query from the main node. I'll send you the logs privately.

mstarks01 avatar Nov 02 '15 22:11 mstarks01

Ok, based on the logs you've sent me and going through the AnyEvent HTTP code, it looks like the error is a connection issue. Does it happen regularly enough to get a tcpdump?

mcholste avatar Nov 03 '15 23:11 mcholste