Сбой FTP на открытом воздухе

#ftp #alfresco #fileserver

#ftp #на свежем воздухе #файловый сервер

Вопрос:

Я использую Alfresco 3.4.11 enterprise edition. Последние пару недель мой сервер Alfresco безупречно отключался. Я видел журналы ошибок ниже

 19:54:54,353  DEBUG [org.alfresco.fileserver] [FTP] FTP session request received from 10.118.xx.xx

19:55:00,353  ERROR [org.alfresco.fileserver] java.lang.ArrayIndexOutOfBoundsException: -1

java.lang.ArrayIndexOutOfBoundsException: -1

at org.alfresco.jlan.ftp.FTPSrvSession.getNextCommand(FTPSrvSession.java:4381)

at org.alfresco.jlan.ftp.FTPSrvSession.run(FTPSrvSession.java:4851)

at java.lang.Thread.run(Thread.java:662)

19:55:00,353  DEBUG [org.alfresco.fileserver] [FTP] FTP session request received from 10.118.xx.xx.
  

Похоже, это проблемы с FTP, но я не могу найти решение для этого.

Комментарии:

1. Не могли бы вы показать нам больше журнала?

2. Попробуйте обновить alfresco-jlan-embed-x.y.jar возможно, эта проблема уже решена. Вы можете загрузить эту библиотеку с artifacts.alfresco.com/nexus/content/repositories/releases/org /…

3. Кроме того, говоря об обновлениях, 3.4.11 невероятно древний. Я знаю, что сейчас, вероятно, не самое подходящее время, но, пожалуйста, рассмотрите возможность обновления в ближайшее время.

Ответ №1:

Проверьте FTPSrvSession.java:4381. Здесь у вас есть ArrayIndexOutOfBoundsException , поскольку вы пытались использовать значение, расположенное на -1, в то время как допустимые индексы начинаются с 0.

Похоже, что у вас есть массив, который вы пытаетесь использовать length() - 1 , и массив пуст, содержит 0 элементов, поэтому результат равен -1. Попробуйте обернуть все в if , где вы проверяете, не является ли массив пустым. Если это так, сделайте все, что вы делали до сих пор. Если нет, то в else вам нужно обработать случай, когда массив пуст.