[OPEN-ILS-DEV] Odd problems with OpenSRF 1.0.7 install
Dan Scott
dan at coffeecode.net
Wed Sep 9 21:02:06 EDT 2009
You'll need to downgrade ejabberd, per
http://markmail.org/message/mpbsjflalfcnx37a
Bill Erickson started committing some changes to OpenSRF trunk to address
this problem with newer versions of ejabberd (e.g.
http://svn.open-ils.org/trac/OpenSRF/changeset/1730), but those changes
haven't made their way into a released version of OpenSRF yet.
Dan
2009/9/9 John Craig <jc-mailinglist at alphagconsulting.com>
> Hi Folks,
>
> OK. Attempting to install OpenSRF 1.0.7 on Ubuntu 9.0.4 (jaunty).
>
> Basically, everything seemed to install correctly but it appears that
> OpenSRF and ejabberd aren't talking.
>
> Suggestions gratefully accepted.
>
> Details follow.
>
> I used the ubuntu_intrepid flag with this step (which may be why it all
> went south later--but it hardly seems like it would account for the odd
> behavior I'm seeing--that just affects the pieces it chooses to install,
> doesn't it?):
>
> make -f src/extras/Makefile.install ubuntu_intrepid
>
> Everything seemed to go fine (it was loading from jaunty repositories as it
> got components) until I actually tried to test via srfsh:
>
> srfsh# request opensrf.math add 2 2
> Unable to communicate with service opensrf.math
>
> OK, time to round up the usual suspects.
> I got ejabberd fully shut down (it apparently still *never* shuts down
> fully via the init.d script for me), and restarted, restarted memcached for
> good measure, got all the OpenSRF processes shut down and restarted one at a
> time.
>
> start_router & start_perl worked without incident (or at least w/o logging
> anything interesting).
>
> Then, I run the
>
> osrf_ctl -l -a start_c
>
> step and the osrfsys.log is suddenly many hundreds of K bytes long:
>
> opensrf 2009-09-09 18:33:05 [INFO:20820:osrf_system.c:415:] Bootstrapping
> system with domain private.localhost, port 5222, and u
> nixpath (none)
> opensrf 2009-09-09 18:33:05 [INFO:20820:osrf_app_session.c:608:]
> [opensrf.settings] sent 189 bytes of data to router at private.loc
> alhost/opensrf.settings
> opensrf 2009-09-09 18:33:05 [WARN:20820:transport_session.c:412:] Received
> <stream:error> message from Jabber server
> opensrf 2009-09-09 18:33:05 [WARN:20820:osrf_stack.c:30:] transport_client
> had trouble reading from the socket..
> (this last message repeats many hundreds of times)
>
> The ejabberd log has many instances of this pattern (accepts connection and
> authentication and then closes the session--as if it started talking and
> then gave up?):
>
> =INFO REPORT==== 2009-09-09 16:20:48 ===
> I(<0.247.0>:ejabberd_listener:116) : (#Port<0.2680>) Accepted connection
> {{127,0,1,3},42291} -> {{127,0,1,3},5222}
>
> =INFO REPORT==== 2009-09-09 16:20:48 ===
> I(<0.499.0>:ejabberd_c2s:449) :
> ({socket_state,gen_tcp,#Port<0.2680>,<0.498.0>}) Accepted legacy
> authentication for opensrf at private.localhost/client_at_localhost_17076
>
> =INFO REPORT==== 2009-09-09 16:20:48 ===
> I(<0.499.0>:ejabberd_c2s:1300) :
> ({socket_state,gen_tcp,#Port<0.2680>,<0.498.0>}) Close session for
> opensrf at private.localhost/client_at_localhost_17076
>
> My working systems' ejabberd logs do not seem to have those "Close session"
> entries....
>
> The results of settings_tester.pl seem to be correct (allowing for the fact
> that Evergreen is not installed, just OpenSRF). In particular, it says it
> communicated with ejabberd via all 4 contexts:
>
> opensrf at evergreen01:~/Evergreen-ILS-1.4.0.6$<opensrf at evergreen01:%7E/Evergreen-ILS-1.4.0.6$>./Open-ILS/src/support-scripts/settings-tester.pl
> LWP::UserAgent version 5.819
> XML::LibXML version 1.69
> XML::LibXML::XPathContext version 1.69
> XML::LibXSLT version 1.68
> Net::Server::PreFork version 0.97
> Cache::Memcached version 1.24
> Class::DBI version 0.96
> Class::DBI::AbstractSearch version 0.07
> Template version 2.20
> Please install DBD::Pg
> Please install one of the following modules: Net::Z3950 Net::Z3950::ZOOM
> Please install MARC::Record
> Please install MARC::Charset
> Please install MARC::File::XML
> Please install Text::Aspell
> CGI version 3.29
> DateTime::TimeZone version 0.83
> DateTime version 0.42
> DateTime::Format::ISO8601 version 0.06
> Please install DateTime::Format::Mail
> Unix::Syslog version 1.1
> Please install GD::Graph3d
> Please install JavaScript::SpiderMonkey
> Log::Log4perl version 1.19
> Please install Email::Send
> Please install Text::CSV
> Text::CSV_XS version 0.58
> Please install Spreadsheet::WriteExcel::Big
> Tie::IxHash version 1.21
> Please install Parse::RecDescent
> Please install SRU
> JSON::XS version 2.231
>
> Checking Jabber connection for user opensrf, domain private.localhost
> * Jabber successfully connected
>
> Checking Jabber connection for user opensrf, domain public.localhost
> * Jabber successfully connected
>
> Checking Jabber connection for user router, domain public.localhost
> * Jabber successfully connected
>
> Checking Jabber connection for user router, domain private.localhost
> * Jabber successfully connected
>
> Checking database connections
>
> Checking database drivers to ensure <driver> matches <language>
>
> Checking libdbi and libdbi-drivers
> libdbi PostgreSQL driver not found in shared library path;
> you may need to edit /etc/ld.so.conf or add an entry to
> /etc/ld.so.conf.d/
> and run 'ldconfig' as root
>
> Checking hostname
> * OK: found hostname 'localhost' in <hosts> section of opensrf.xml
>
> Here's the opensrf_core.xml file:
>
> <?xml version="1.0"?>
> <!--
> vim:et:ts=2:sw=2:
> -->
> <config>
>
> <!-- bootstrap config for OpenSRF apps -->
> <opensrf>
>
> <routers>
>
> <!-- define the list of routers our services will register with -->
>
> <router>
>
> <!-- This is the public router. On this router, we only register
> applications
> which should be accessible to everyone on the opensrf network
> -->
> <name>router</name>
> <domain>public.localhost</domain>
> <services>
> <service>opensrf.math</service>
> </services>
> </router>
>
> <router>
> <!-- This is the private router. All applications must register
> with
> this router, so no explicit <services> section is required -->
> <name>router</name>
> <domain>private.localhost</domain>
> </router>
> </routers>
>
>
> <!-- Jabber login settings
> Our domain should match that of the private router -->
> <domain>private.localhost</domain>
> <username>opensrf</username>
> <passwd>*******</passwd>
> <port>5222</port>
> <!-- name of the router used on our private domain.
> this should match one of the <name> of the private router above -->
> <router_name>router</router_name>
>
> <!-- log file settings ====================================== -->
> <!-- log to a local file -->
> <logfile>/openils/var/log/osrfsys.log</logfile>
>
> <!-- Log to syslog. You can use this same layout for
> defining the logging of all services in this file -->
> <!--
> <logfile>syslog</logfile>
> <syslog>local2</syslog>
> <actlog>local1</actlog>
> -->
>
> <!-- 0 None, 1 Error, 2 Warning, 3 Info, 4 debug, 5 Internal (Nasty)
> -->
> <loglevel>3</loglevel>
>
> <!-- config file for the services -->
> <settings_config>/openils/conf/opensrf.xml</settings_config>
>
> </opensrf>
>
> <!-- Update this if you use ChopChop -->
> <chopchop>
> <!-- Our jabber server -->
> <domain>private.localhost</domain>
> <port>5222</port>
> <!-- used when multiple servers need to communicate -->
> <s2sport>5269</s2sport>
> <secret>secret</secret>
> <listen_address>10.0.0.3</listen_address>
> <loglevel>3</loglevel>
> <logfile>/openils/var/log/osrfsys.log</logfile>
> </chopchop>
>
> <!-- The section between <gateway>...</gateway> is a standard OpenSRF C
> stack config file -->
> <gateway>
>
> <!--
> we consider ourselves to be the "originating" client for requests,
> which means we define the log XID string for log traces
> -->
> <client>true</client>
>
> <!-- the routers's name on the network -->
> <router_name>router</router_name>
>
> <!--
> These are the services that the gateway will serve.
> Any other requests will receive an HTTP_NOT_FOUND (404)
> DO NOT put any services here that you don't want the internet to have
> access to
> This section will be soon deprecated for multi-domain mode...
> -->
> <services>
> <service>opensrf.math</service>
> </services>
>
> <!-- jabber login info -->
>
> <!-- The gateway connects to the public domain -->
> <domain>public.localhost</domain>
> <username>opensrf</username>
> <passwd>******</passwd>
> <port>5222</port>
> <logfile>/openils/var/log/gateway.log</logfile>
> <loglevel>3</loglevel>
>
> </gateway>
>
> <!--
> ========================================================================================
> -->
>
> <routers>
> <router> <!-- public router -->
> <trusted_domains>
> <!-- allow private services to register with this router
> and public clients to send requests to this router.
> -->
> <server>private.localhost</server>
> <!-- also allow private clients to send to the router so it
> can receive error messages -->
> <client>private.localhost</client>
> <client>public.localhost</client>
> </trusted_domains>
> <transport>
> <server>public.localhost</server>
> <port>5222</port>
> <unixpath>/openils/var/sock/unix_sock</unixpath>
> <username>router</username>
> <password>*******</password>
> <resource>router</resource>
> <connect_timeout>10</connect_timeout>
> <max_reconnect_attempts>5</max_reconnect_attempts>
> </transport>
> <logfile>/openils/var/log/router.log</logfile>
> <!--
> <logfile>syslog</logfile>
> <syslog>local2</syslog>
> -->
> <loglevel>2</loglevel>
> </router>
> <router> <!-- private router -->
> <trusted_domains>
> <server>private.localhost</server>
> <!-- only clients on the private domain can send requests
> to this router -->
> <client>private.localhost</client>
> </trusted_domains>
> <transport>
> <server>private.localhost</server>
> <port>5222</port>
> <username>router</username>
> <password>******</password>
> <resource>router</resource>
> <connect_timeout>10</connect_timeout>
> <max_reconnect_attempts>5</max_reconnect_attempts>
> </transport>
> <logfile>/openils/var/log/router.log</logfile>
> <!--
> <logfile>syslog</logfile>
> <syslog>local2</syslog>
> -->
> <loglevel>4</loglevel>
> </router>
> </routers>
>
> <!--
> ========================================================================================
> -->
>
> </config>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://libmail.georgialibraries.org/pipermail/open-ils-dev/attachments/20090909/9a3f0745/attachment-0001.htm
More information about the Open-ils-dev
mailing list