Имя: Пароль:
1C
 
Java.IO.EOFException и Апач
, ,
0 H A D G E H O G s
 
15.01.21
13:00
Дня доброго.
Есть МобильныйКлиент, который регулярно падает при работе с Апачем с ошибкой
"Ошибка HTTP при обращении к серверу"
Java.IO.EOFException
Ошибка может появиться в любой момент, отловить ее не представляется возможным, четкого воспроизведения нет.

Чтобы (возможно) отловить кривой http пакет, между Apache и МобильныйКлиентом как прокси-сервер был засунут Fiddler, и, о чудо, суко, квантовый эффект, система застеснялась и ошибки прекратились.
Чем таким может отличаться подключение java компонент к Fiddler-у от подключения к Apache ?

Да, я пробовал на домашнем компе и без прокси воспроизвести ошибку с подключенным через adb к Android Studio клиентом , собранным с debugabled-ключом, чтобы словить трассу, хрен там, не воспроизводиться.
1 Kassern
 
15.01.21
13:03
(0) это как квантовая физика, пока ты не наблюдатель, эффект один, как только стал наблюдать - другой))
2 Вафель
 
15.01.21
13:04
клиент пытается прочитать больше чем пришло.
почему так - кто бы знал
3 H A D G E H O G s
 
15.01.21
13:04
Перерыто уже все, УФ-форма выгружена в xml и 160 Кбайт XML текста просмотрено вручную, проверено на недопустимые символы, серверные вызовы переписаны на внеконтекстные, я четко знаю, что ползает между сервером и клиентов, хрен там.

В принципе, я готов уже вручную разбирать логи modsec_audit, если Fiddler мешает ошибке, проблема в том, что эти логи - это двоичные бинарные данные, которые Fiddler декодирует на раз, а modsec_audit пишет в како-то своем формате.
4 H A D G E H O G s
 
15.01.21
13:05
Ну и классическое - у клиента Апач стоит на linux-е, как в нем modsec_audit настраивать - я х.з.
5 polosov
 
15.01.21
13:05
(3) попробуй написать Петру Грибанову ([email protected]). Он курирует разработку моб. клиента.
6 H A D G E H O G s
 
15.01.21
13:06
(5) Он отправит сам знаешь куда. Если только лично.
7 Вафель
 
15.01.21
13:06
тут проблема скорее в апаче, поэтому на другом апаче вряд ли воспроизведешь.
может попробовать переустановить для начала
8 H A D G E H O G s
 
15.01.21
13:07
(7) Воспроизводиться у нескольких клиентов.
9 Вафель
 
15.01.21
13:07
и тоже на линухе у всех?
10 polosov
 
15.01.21
13:07
(6) Ну на конференции по моб. клиенту он говорил мол робяты, чокак пишите.
11 H A D G E H O G s
 
15.01.21
13:10
(2) "клиент пытается прочитать больше чем пришло."

Это ответ с сервера, Response, я правильно понимаю?
12 H A D G E H O G s
 
15.01.21
13:10
(9) Нет, в основном, винда.
13 H A D G E H O G s
 
15.01.21
13:11
Еще момент, если хоть один клиент подключен через прокси, ошибка прекращается на всех клиентах, даже те, которые не через прокси.
14 Вафель
 
15.01.21
13:13
по идее апач говорит - сейчас вышлю 1кбайт, а высылает 100байт
прокси наверно умеет такое обрабатывать
15 Вафель
 
15.01.21
13:14
тут скорее где-то на уровне тсп ошибка, не в тексте ответа
16 polosov
 
15.01.21
13:14
(13) А платформа у тебя не 18.1208 случайно?
17 H A D G E H O G s
 
15.01.21
13:15
Веб-сервер (Апач или Fiddler) может сам выставлять какие-то свои настройки соединения?
18 H A D G E H O G s
 
15.01.21
13:15
(16) Все многообразие от 8.3.12 до 8.3.17
19 H A D G E H O G s
 
15.01.21
13:16
(14) почему тогда (13) ?
20 Fedor-1971
 
15.01.21
13:17
(0) похоже, что кто-то читает быстрее, чем данные поступают, а Fiddler малость тормозит процесс чтения

Чисто как предположение: разрядность appache с проблемами одинаковая?
21 polosov
 
15.01.21
13:18
(19) А трафик у тебя никто подрезать не может? Fiddler возможно как-то нивелирует это.
22 Fedor-1971
 
15.01.21
13:19
(19) Прокси немножко упорядочивает поступление данных, т.е. если ожидается поступление 100 КБ, он их будет ждать и потом отдаст целиком
23 Fedor-1971
 
15.01.21
13:24
22+ и с остальными адресами, идёт проверка "А не за прокси ли сей адрес", соответственно и данные поступают упорядоченнее и приложение будет ждать, а не читать чего не попадя
24 H A D G E H O G s
 
15.01.21
13:25
(20) Разрядность я не знаю.
(21) Да вроде нет.

Вот типовой серверный запрос

Request Count:   1
Bytes Sent:      7 046        (headers:533; body:6 513)
Bytes Received:  48 601        (headers:252; body:48 349)

ACTUAL PERFORMANCE
--------------

NOTE: This request was retried after a Receive operation failed.

ClientConnected:    12:05:32.307
ClientBeginRequest:    12:50:18.445
GotRequestHeaders:    12:50:18.445
ClientDoneRequest:    12:50:18.461
Determine Gateway:    0ms
DNS Lookup:         0ms
TCP/IP Connect:    0ms
HTTPS Handshake:    0ms
ServerConnected:    12:50:18.461
FiddlerBeginRequest:    12:50:18.461
ServerGotRequest:    12:50:18.461
ServerBeginResponse:    12:50:18.461
GotResponseHeaders:    12:50:19.761
ServerDoneResponse:    12:50:19.761
ClientBeginResponse:    12:50:19.761
ClientDoneResponse:    12:50:19.761

    Overall Elapsed:    0:00:01.315

RESPONSE BYTES (by Content-Type)
--------------
application/mobile+fastinfoset: 48 349
                     ~headers~: 252
25 H A D G E H O G s
 
15.01.21
13:40
попробую воткнуть что-то вместо Fiddler-а
26 H A D G E H O G s
 
15.01.21
13:40
А есть какой-нибудь еще продвинутый прокси-сервер под венду?
Ошибка? Это не ошибка, это системная функция.