[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