Доброго времени суток!Проблема: после падения виртуалки (практически падение овирта, загасил пару виртуалок, так и не поняли почему, qemu not response, ошибок в логах по сути нет:( ) на выполнение CLI команд начало валить ошибку (сабж). Почта ходит, вебка работает сервисы тоже, отвалились скрипты соответственно все. Ситуация критическиая. Подскажите куда рыть. Ящиков около 500, живых около 480. Гугление и лазание по всем возможным форумам результата, к сожалению, не принесли.
Ziimbra 8.6.0_GA_1169 NETWORK
[root@mail log]# cat /etc/*release
CentOS release 6.6 (Final)[zimbra@mail ~]$ zmcontrol status
Host mail.<domain>
amavis Running
antispam Running
antivirus Running
dnscache Running
ldap Running
logger Running
mailbox Running
memcached Running
mta Running
opendkim Running
proxy Running
service webapp Running
snmp Running
spell Running
stats Running
zimbra webapp Running
zimbraAdmin webapp Running
zimlet webapp Running
zmconfigd Runningsamples:
[zimbra@mail ~]$ zmprov gaaa
ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input string: "3|")[zimbra@mail ~]$ zmsoap -z GetAccountInfoRequest/account=xmana @by=name
ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input string: "3|")[zimbra@mail ~]$ zmmailbox -z -m xmana@<domain> -A emptyDumpster
ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input string: "3|")[zimbra@mail ~]$ zmsoap -vv -z GetAccountInfoRequest/account=xmana @by=name
Sending admin auth request to https://localhost:7071/service/admin/soap
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra">
<authToken/>
<nosession/>
<userAgent name="zmsoap"/>
</context>
</soap:Header>
<soap:Body>
<AuthRequest xmlns="urn:zimbraAdmin">
<name>zimbra</name>
<password>***</password>
</AuthRequest>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<context xmlns="urn:zimbra"/>
</soap:Header>
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>soap:Receiver</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text>system failure: java.lang.NumberFormatException: For input string: "3|"</soap:Text>
</soap:Reason>
<soap:Detail>
<Error xmlns="urn:zimbra">
<Code>service.FAILURE</Code>
<Trace>qtp509886383-84274:https://127.0.0.1:7071/service/admin/soap/AuthRequest:151989...
</Error>
</soap:Detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input string: "3|")Logs:
/opt/zimbra/log/mailbox.log
2018-03-01 09:54:16,644 WARN [qtp509886383-84382:https://127.0.0.1:7071/service/admin/soap/AuthRequest] [name=zimbra;ip=127.0.0.1;ua=zmsoap;] SoapEngine - handler exception
java.lang.NumberFormatException: For input string: "3|"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at com.zimbra.common.util.DateUtil.parseGeneralizedTime(DateUtil.java:87)
at com.zimbra.common.util.DateUtil.parseGeneralizedTime(DateUtil.java:69)
at com.zimbra.cs.account.Entry.getGeneralizedTimeAttr(Entry.java:373)
at com.zimbra.cs.account.ldap.LdapProvisioning.updateLastLogon(LdapProvisioning.java:5122)
at com.zimbra.cs.account.ldap.LdapProvisioning.authAccount(LdapProvisioning.java:5063)
at com.zimbra.cs.account.ldap.LdapProvisioning.authAccount(LdapProvisioning.java:5017)
at com.zimbra.cs.service.admin.Auth.handle(Auth.java:158)
at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEngine.java:569)
at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:432)
at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:266)
at com.zimbra.soap.SoapServlet.doWork(SoapServlet.java:303)
at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:213)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:209)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651)
at com.zimbra.cs.servlet.RequestStringFilter.doFilter(RequestStringFilter.java:54)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:59)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:351)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
at com.zimbra.cs.servlet.ETagHeaderFilter.doFilter(ETagHeaderFilter.java:47)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
at com.zimbra.cs.servlet.ContextPathBasedThreadPoolBalancerFilter.doFilter(ContextPathBasedThreadPoolBalancerFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter(ZimbraQoSFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
at com.zimbra.cs.servlet.ZimbraInvalidLoginFilter.doFilter(ZimbraInvalidLoginFilter.java:117)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
at org.eclipse.jetty.servlets.DoSFilter.doFilterChain(DoSFilter.java:457)
at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:326)
at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:299)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:544)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:309)
at org.eclipse.jetty.server.handler.DebugHandler.handle(DebugHandler.java:81)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:462)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
at java.lang.Thread.run(Thread.java:745)
> [zimbra@mail ~]$ zmsoap -z GetAccountInfoRequest/account=xmana @by=name
> ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input
> string: "3|")переиндексирование(Reindex Mailbox) ящика или на крайняк пересоздать проблемные ящики
>> [zimbra@mail ~]$ zmsoap -z GetAccountInfoRequest/account=xmana @by=name
>> ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input
>> string: "3|")
> переиндексирование(Reindex Mailbox) ящика или на крайняк пересоздать проблемные ящикиДа одним из первых действий как раз и пытался, не помогло:
[zimbra@mail ~]$ zmprov reIndexMailbox xmana@<domain>
ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input string: "3|")
[zimbra@mail ~]$ zmprov reIndexMailbox admin@<domain>
ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input string: "3|")Ошибка java возникает при преобразовании varchr to int, при чём на стадии запуска практически любого скрипта.
Первым делом, в скриптах определяются переменные окружения (типа home каталогов, версий джавы и т.п.).
Наводит на мысль, о том что, после креша, что-то возвращает неожиданный результат в варчаре, вместо ожидаемой цифры - вертикальная черта. Соответственно ошибка преобразования типа.
Осталось нарыть что.... :(:(:( пока сервак не лег окончательно:)
> Осталось нарыть что.... :(:(:( пока сервак не лег окончательно:)по стектрейсу видно что ему не нравится поле дата последнего входа, видимо там белеберда:
java.lang.NumberFormatException: For input string: "3|"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at com.zimbra.common.util.DateUtil.parseGeneralizedTime(DateUtil.java:87)
at com.zimbra.common.util.DateUtil.parseGeneralizedTime(DateUtil.java:69)
at com.zimbra.cs.account.Entry.getGeneralizedTimeAttr(Entry.java:373)
at com.zimbra.cs.account.ldap.LdapProvisioning.updateLastLogon(LdapProvisioning.java:5122)может быть в LDAP директории для этих пользователей заменить поле последнего входа на нормальное значение? тупо скопировал у учеток, с которыми нет проблем. удачи :)
>[оверквотинг удален]
> at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
> at java.lang.Integer.parseInt(Integer.java:580)
> at java.lang.Integer.parseInt(Integer.java:615)
> at com.zimbra.common.util.DateUtil.parseGeneralizedTime(DateUtil.java:87)
> at com.zimbra.common.util.DateUtil.parseGeneralizedTime(DateUtil.java:69)
> at com.zimbra.cs.account.Entry.getGeneralizedTimeAttr(Entry.java:373)
> at com.zimbra.cs.account.ldap.LdapProvisioning.updateLastLogon(LdapProvisioning.java:5122)
> может быть в LDAP директории для этих пользователей заменить поле последнего входа
> на нормальное значение? тупо скопировал у учеток, с которыми нет проблем.
> удачи :)Спасибо, но, к сожалению, не то. Во первых используется лдап зимбры, внешний не привязан, временные штампы в базе корректные, проверял. Сейчас попробую ребилд индексов по базам сделать, а ля mboxgroupхх, zimbra, вероятность небольшая, но....
Во вторых, проблема не относится к юзерам, она несколько глобальней:([zimbra@mail ~]$ zmprov
ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input string: "3|")[zimbra@mail ~]$ zmsoap -z GetLoggerStatsRequest/hostname @hn="mail.<domain>"
ERROR: service.FAILURE (system failure: java.lang.NumberFormatException: For input string: "3|")т.е. дело не доходит до парсинга параметров юзверя. Дата походу берется системная в неверном формате.
Разбираю скрипты, начиная с /opt/zimbra/bin/zmshutil и дальше.может есть другие идеи...
[оверквотинг удален]autо-repair, analyze результатов не дали, с базой все ок, вопрос отпал...
> [оверквотинг удален]
> autо-repair, analyze результатов не дали, с базой все ок, вопрос отпал...В смысле проблема осталась, вопрос к базе отпал.
> В смысле проблема осталась, вопрос к базе отпал.если с базой все в порядке, значит какие проблемы с настройками Zimbra (zmlocalconfig) которые следует проверить. учитывая что у вас NETWORK лицензия, то лучше будет в официальную поддержку тикет кинуть
>> В смысле проблема осталась, вопрос к базе отпал.
> если с базой все в порядке, значит какие проблемы с настройками Zimbra
> (zmlocalconfig) которые следует проверить. учитывая что у вас NETWORK лицензия, то
> лучше будет в официальную поддержку тикет кинутьВопрос решен.
всё-таки проблема оказалась в базе, я грешил на maria-db, с ней все в порядке было, про ldap немного не подумал.По поводу версии NETWORK - артефакт, оставшийся от экспериментов предыдущего админа. Фактически стоит OSE. версию выводит NETWORK, IMHO возникло в результате накатывания OSE поверх сконфигурированной NETWORK или чего-то в этом роде. Фактически код и функционал - OSE, апгрейдиться тоже хочет на OSE версию...
Проблему удалось обнаружить при попытке переноса зимбры на другой сервер. Возникла похожая ошибка при экспорте/импорте данных ldap.
Более подробно с технической стороны все я описал на форуме:
https://forums.zimbra.org/viewtopic.php?f=15&t=63743&p=28265...
> Вопрос решен.
> Более подробно с технической стороны все я описал на форуме:
> https://forums.zimbra.org/viewtopic.php?f=15&t=63743&p=28265...так все таки проблема была с неверной датой в zimbraLastLogonTimestamp в LDAP :)