LINUX.ORG.RU
решено ФорумAdmin

Отключение openfire через 5 секунд после запуска

 


0

1

Устанавливаю openfire (4.0.1), версия java

Picked up _JAVA_OPTIONS: -Xmx512M
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

Устанавливаю в браузере, внутренняя база данных, подключение по openLDAP, опознаны пользователи и админ. Только очень долго думает при проверке. Отображает подключение к панели администратора выдает окно авторизации - и выбивает ошибку

HTTP ERROR 500

Problem accessing /index.jsp. Reason:

    Server Error
Caused by:

java.lang.NullPointerException
	at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:173)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
	at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
	at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:76)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:53)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:80)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:162)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
Проверяю сам сервер - отключен, включаю - отключается через пять секунд.

Проверяю java командой

/usr/bin/java -v
Unrecognized option: -v
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

В логах сервера

2017.07.09 23:22:04 org.jivesoftware.openfire.XMPPServer - Database could not be accessed
java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt$
        at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:156)
        at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:724)
        at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:448)
        at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:169)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at java.lang.Class.newInstance(Class.java:442)
        at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:105)
        at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56)
2017.07.09 23:22:04 org.jivesoftware.openfire.XMPPServer - java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a conne$
java.lang.IllegalArgumentException: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries.$
        at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:734)
        at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:448)
        at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:169)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at java.lang.Class.newInstance(Class.java:442)
        at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:105)
        at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56)
Caused by: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the l$
        at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:156)
        at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:724)

Как-то надо специально java запускать для openfire? Или где-то еще смотреть причины отключения openfire?

лог сервера говорит что у тебя база не але (в ней скорее всего настройки).

с жабой корректный ключ -version

upcFrost ★★★★★
()
2017.07.09 23:22:04 org.jivesoftware.openfire.XMPPServer - Database could not be accessed
java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt$


Ну вроде здесь все сказано.

anc ★★★★★
()

внутренняя база данных

ага. такая проблема судя по форуму была на венде. попробуй сделать поиск по имени файла openfire.lck и переместить его куда-нибудь (короче удалить сделав бэкап на всякий). судя по форуму попенфаер иногда забывает снять лок с базы после установки

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Спасибо за ответ.

Файл с расширением .lck на моем Centos не обнаружен. Поиск «openfire» выдал четыре результата:

*саму директорию с установкой /opt/openfire;

*весь с закомменченным содержимым /etc/sysconfig/openfire;

* файл запуска /etc/rc.d/init.d/openfire;

*директория с документацией по Openfire /opt/openfire/documentation/docs/javadoc/org/jivesoftware/openfire.

Я переставляю openfire не первый раз (по одному из мануалов - достаточно в файле настроек openfire.xml закомментить предпоследнюю строку <setup>true</setup> и можно переустановить еще раз. Но видимо, этот способ не учитывает внутреннюю базу данных и ее очистку).

В директории /opt/openfire/embedded-db лежит три файла (больше ничего не указывает на внутреннюю БД).

cat openfire.properties
#HSQL Database Engine
#Sun Jul 09 23:21:58 MSK 2017
hsqldb.script_format=0
runtime.gc_interval=0
sql.enforce_strict_size=false
hsqldb.cache_size_scale=8
readonly=false
hsqldb.nio_data_file=true
hsqldb.cache_scale=14
version=1.8.0
hsqldb.default_table_type=memory
hsqldb.cache_file_scale=1
hsqldb.log_size=200
modified=yes
hsqldb.cache_version=1.7.0
hsqldb.original_version=1.8.0
hsqldb.compatible_version=1.8.0

cat openfire.script
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
SET WRITE_DELAY 20

и пустой openfire.log.

Внутреннюю базу данных как-то можно очистить и по новой установить, или весь openfire сносить надо?

manik207
() автор топика
Ответ на: Спасибо за ответ. от manik207

Ок, тогда пачка вопросов

1) «устанавливаю» или «переустанавливаю»? потому что если просто затирать конфиг через setup true можно напороться на кучу багов, он для этого не предназначен (в плане там нет гарантий что оно корректно отработает)

2) в conf/openfire.xml есть что-либо про логи/пароль к базе?

3) выполняется ли еще хоть что-нибудь что может в теории держать лок на базу? ну мало ли установщик завис или старый инстанс еще в памяти

4) java всегда пишет что не может jvm создать?

5) насколько критична переустановка?

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

1) Переустанавливаю затиранием setup true. Про баги была не в курсе, но, да напоролась.

2) В conf/openfire.xml про логи/пароли не увидела

cat openfire.xml
<?xml version="1.0" encoding="UTF-8"?>

<!--
    This file stores bootstrap properties needed by Openfire.
    Property names must be in the format: "prop.name.is.blah=value"
    That will be stored as:
        <prop>
            <name>
                <is>
                    <blah>value</blah>
                </is>
            </name>
        </prop>

    Most properties are stored in the Openfire database. A
    property viewer and editor is included in the admin console.
-->
<!-- root element, all properties must be under this element -->
<jive>
  <adminConsole>
    <!-- Disable either port by setting the value to -1 -->
    <port>9090</port>
    <securePort>9091</securePort>
  </adminConsole>
  <locale>ru_RU</locale>
  <!--
    <network>
        <interface></interface>
    </network>
    -->
  <!-- SPDY  Protocol is npn.
        (note: npn does not work with Java 8)
        add -Xbootclasspath/p:/OPENFIRE_HOME/lib/npn-boot.jar to .vmoptions file    -->
  <!--
    <spdy>
        <protocol>npn</protocol>
    </spdy>
    -->
  <!-- XEP-0198 properties -->
  <stream>
    <management>
      <!-- Whether stream management is offered to clients by server. -->
      <active>true</active>
      <!-- Number of stanzas sent to client before a stream management
                         acknowledgement request is made. -->
      <requestFrequency>5</requestFrequency>
    </management>
  </stream>
  <connectionProvider>
    <className>org.jivesoftware.database.EmbeddedConnectionProvider</className>
  </connectionProvider>
  <!-- <setup>true</setup> -->
  <setup>true</setup>
</jive>

3) Про локальную базу. Установщик очень долго думал после каждого шага после выбора внутренней базы. Но установка завершилась успешно, браузер выдал-таки окно авторизации, при неправильном пароле ругнулся, при правильном - 500 ошибку выдал. Что такое инстанс - не знаю.

4) К java вопросов не было, команду /usr/bin/java -v нашла в инете, раньше проблем не было, и команду не запускала, поэтому вывод по JVM не скажу - не знаю. Могу на другой машине поставить по той же схеме.

5) Переустановка не критична, ставлю на новой машине. Подскажите, как правильно удалить на этой, просто через «yum remove http://disk.studiks.ru/src/xmpp/openfire-4.0.1-1.i386.rpm" - т.е. обратный процесс?

Проблема появляется не первый раз, и лечилась ранее установкой на другой машине. А тут надо именно на этой... Не поломать бы сам Сентос...

manik207
() автор топика
Ответ на: комментарий от manik207

http://disk.studiks.ru

хоспаде, откуда оно? почему не с оф сайта? удаление просто и имени пакета, yum remove openfire.

какая все-таки версия java? четвертая ветка openfire на java 7 не работает емнип. да и вообще - какой дистрибутив? а то они сейчас упаковывают жабу прямо в пакет с openfire и не юзают системную

если перезапустить openfire попутно прибив все процессы которые могут его напоминать, тот же эффект?

кстати, на сервере графика есть? а то в /opt/openfire/bin должен лежать вьюер для внутренней базы, но ему графика нужна.

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

openfire - с оф.сайта, только версия старая, это я на свои репозитории залила)))

Версия java «openjdk version „1.8.0_131“» - указала в первом сообщении, или нужна другая версия? Я поняла, что это java 8, update 131, вроде последняя, обновилась вчера.

ps axu |grep openfire
root      3536  0.0  0.0 112668   948 pts/0    R+   15:08   0:00 grep --color=auto openfire

kill 3536
-bash: kill: (3536) - Нет такого процесса

Или не так убиваю?

В /opt/openfire/bin есть viewer

ls -l /opt/openfire/bin

-rw-r--r-- 1 daemon daemon  140 янв 26  2016 embedded-db.rc
-rwxr-xr-x 1 daemon daemon  654 янв 26  2016 embedded-db-viewer.sh
-rwxr-xr-x 1 daemon daemon 5034 янв 26  2016 openfirectl
-rwxr-xr-x 1 daemon daemon 4384 янв 26  2016 openfire.sh
Какая ему графика нужна? Это Centos 7 без графики или я не правильно понимаю?

manik207
() автор топика
Ответ на: комментарий от manik207

вьюеру иксы нужны, он на свинге. ну если нет значит нет.

если процесса нет - ок.

опять же, если удаление не критично - можно попробовать удалить, проверить все ли удалилось (для надежности переименовать в /opt/openfire.bak если директория останется), скачать с оф сайта последнюю версию и переставить. мало ли что могло быть

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

upcFrost, Спасибо за поддержку))))

Удалила через yum -y remove openfire, директория осталась, переименовала. Новый openfire установила тоже с внутренней БД, проблем не возникло.

Буду знать, что через setup true «забивается и отказывается адекватно работать» внутренняя БД.

Еще раз спасибо за помощь.

manik207
() автор топика
Ответ на: комментарий от manik207

Буду знать, что через setup true «забивается и отказывается адекватно работать» внутренняя БД

не то чтоб забивается и отказывается адекватно работать, просто там есть косяки свои. обычно пронесет, но иногда можно вляпаться

рад помочь :)

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.