Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 Mar 2013 17:43:48 +0200
From:      Volodymyr Kostyrko <c.kworr@gmail.com>
To:        gahr@FreeBSD.org
Cc:        freebsd-ports@freebsd.org
Subject:   Re: openfire upgrade to 3.8
Message-ID:  <5134C134.1080002@gmail.com>
In-Reply-To: <20130304134219.GD59378@gahrfit.gahr.ch>
References:  <512CC60E.9050005@vizion2000.net> <20130228094300.GT8101@gahrfit.gahr.ch> <512F6C1B.8070106@gmail.com> <20130228154131.GV8101@gahrfit.gahr.ch> <51349BF3.9060101@gmail.com> <20130304134219.GD59378@gahrfit.gahr.ch>

next in thread | previous in thread | raw e-mail | index | archive | help
04.03.2013 15:42, Pietro Cerutti:
> On 2013-Mar-04, 15:04, Volodymyr Kostyrko wrote:
>> 28.02.2013 17:41, Pietro Cerutti:
>>> On 2013-Feb-28, 16:39, Volodymyr Kostyrko wrote:
>>>> 28.02.2013 11:43, Pietro Cerutti:
>>>>> On 2013-Feb-26, 06:26, David Southwell wrote:
>>>>>> Hi
>>>>> Hello David,
>>>>>
>>>>>> Any chance of an upgrade for openfire to .3.8
>>>>>>
>>>>>> There are some bugs in 3.7 which have been fixed for 3.8
>>>>>
>>>>> I was waiting for 3.8.1, which was supposed to be released a couple of
>>>>> days after 3.8 and solve a couple of issues, but since it hasn't
>>>>> arrived yet, I've just committed the update to 3.8.
>>>>
>>>> Thank you for update. But how can I uninstall all bundled plugins? Or
>>>> can I just skip plugin installation?
>>>
>>> Good idea. I just committed an update that adds an option to turn off
>>> the installation of the bundled plugins. Just run 'make config' and
>>> uncheck the PLUGINS options. Then reinstall.
>>>
>>
>> Fails to start WITHOUT_PLUGINS for me:
>>
>> /usr/local/bin/java -server -jar -Xmx256M
>> -Dopenfire.lib.dir=/usr/local/share/java/openfire/lib
>> -DopenfireHome=/usr/local/share/java/openfire
>> /usr/local/share/java/openfire/lib/startup.jar
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> org/jivesoftware/util/Log
>>           at
>> org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:104)
>>           at
>> org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:58)
>> Caused by: java.lang.ClassNotFoundException: org.jivesoftware.util.Log
>>           at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>           at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>           at java.security.AccessController.doPrivileged(Native Method)
>>           at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>           at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>>           at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>           at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>>           ... 2 more
>>
>> Full version works like a charm.
>
> Thanks for the report. Are you able to identify the missing file?

Putting in admin folder fixes everything. The server starts even if only 
empty admin/webapp/WEB-INF/lib folder exits.

Easy fix would be installing admin interface anyway. Most users will 
want it.

>
>> While I'm here:
>>
>> http://community.igniterealtime.org/message/227216
>>
>> I hit this one too, tracing the start script I see:
>>
>> + _run_rc_doit 'openfire_stop '
>> + debug 'run_rc_command: doit: openfire_stop '
>> + eval 'openfire_stop '
>> + openfire_stop
>> + check_pidfile /var/run/openfire.pid COPYRIGHT bin boot compat
>> compat.old dev entropy etc home lib libexec limb0 media mnt proc rescue
>> root sbin slim.core sys tmp usr var var.new
>> + _pidfile=/var/run/openfire.pid
>> + _procname=COPYRIGHT
>>
>> That looks like my root directory! :)
>
> Yeah, looks like it. I can't reproduce it here:

The core problem is @ line 52:

procname=`ps -o command= $rc_pid | awk '{print $1 }'`

If there's no such running process ps outputs nothing, awk outputs 
nothing and procname starts as an empty string. Later in check_pidfile 
absence of other symbol makes '**' a valid wildcard and voila.

Checking procname for zero-length string and setting it to unitialized 
fixes this behavior:

   if [ ! -z "$rc_pid" ]; then
     procname=`ps -o command= $rc_pid | awk '{print $1 }'`
     if [ -z "$procname" ]; then
       procname='uninitialized'
     fi
   fi

However I don't know is this a good solution.

-- 
Sphinx of black quartz, judge my vow.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5134C134.1080002>