Есть Windows Server 2008 R2 на котором по сети запускают программу. Раньше программа запускалась нормально, но на прошлой неделе стала выдавать ошибку.
Ошибка
Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: PSSHOP.exe Версия приложения: 6.0.6.0 Отметка времени приложения: 59fd9cc6 Имя модуля с ошибкой: ntdll.dll Версия модуля с ошибкой: 6.1.7600.16385 Отметка времени модуля с ошибкой: 4a5bdb3b Код исключения: c0000005 Смещение исключения: 00022272 Версия ОС: 6.1.7600.2.0.0.18.10 Код языка: 1049 Дополнительные сведения 1: 0a9e Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789 Дополнительные сведения 3: 0a9e Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом: C:\Windows\system32\ru-RU\erofflps.txt
Что самое интересное, если проблемный PSSHOP.exe переименовать допустим в PSSHOP_26.03.2018.exe, то он запускается нормально. Но при этом, эта же программа, если ее запускать не по сети, а диска D самого сервера, то она запускается нормально с именем PSSHOP.exe. Так же она запускается нормально по сети с другого ПК. Не запускается конкретно с одного сетевого пути вида \\ИМЯ_ПК\ПАПКА\PSSHOP.exe
Junior
Статус: Не в сети Регистрация: 05.02.2017 Откуда: Санкт-Петербург
Что тут можно сказать?! Запускаемое приложение вызывет ошибку доступа к памяти (Код исключения: c0000005), при вызове WINAPI функции (nddll.dll - это программный шлюз между WINAPI и WINNT функциями). Если это:
BLOOD ELF писал(а):
Раньше программа запускалась нормально, но на прошлой неделе стала выдавать ошибку.
То все таки , что то изменилось или windows обновился или приложение. Если ничего не обновлялось, то или битый nddll.dll или вирус или чудеса.
Так вот что самое странное, эта же программа работает отлично, если запускается с самого сервера, с другого сетевого компьютера, с проблемного сетевого, если переименовать .exe. Т.е. запуск PSSHOP.exe вываливается с ошибкой, а вот запуск PSSHOP_2.exe проходит отлично. Хотя это один и тот же файл.
Junior
Статус: Не в сети Регистрация: 05.02.2017 Откуда: Санкт-Петербург
BLOOD ELF писал(а):
Так вот что самое странное, эта же программа работает отлично, если запускается с самого сервера, с другого сетевого компьютера, с проблемного сетевого, если переименовать .exe. Т.е. запуск PSSHOP.exe вываливается с ошибкой, а вот запуск PSSHOP_2.exe проходит отлично. Хотя это один и тот же файл.
Это кстати объяснимо. Например адгоритму программы для своей работы требуется знать имя и/или путь файла создавшего процесс. И в программе вызывается что-то вида winapi функции GetModuleFileName (..), а вот потом то-ли полученный результат обрабатывается с ошибкой при определенном имени, то ли ненормально анализируется возвратилась ли с функция с ошибкой, ну тут много вариантов. Чудеса в другом, что если ничего не менялось, то есть не апгрейдились программа и ОС, почему изменилось поведение программы?! Нонсенс, или вирус заменил ntdll.dll . Ну , а если апгрейдилось что-то , то другой разговор.
Разработчики программы сказали, что нет никакой привязки к имени файла. Изначально ошибку начал выдавать обновленный .exe, потом я вернул старую версию. А через время и старая начала вываливаться с ошибкой. Но из других директорий все версии запускаются без проблем.
Вот такого вида пути к исполняемым файлам.
\\Medprostor_oper\pharma\sklad\psshop.exe - ошибка \\Medprostor_oper\pharma\sklad\psshop2.exe - работает \\Medprostor_oper\pharma\test\psshop.exe - работает \\Med-oper3\pharma_roznica\psshop.exe - работает D:\sklad\psshop.exe - работает
Я не вижу тут логики. Кроме как наличия бэдов на SSD, на котором и стоит сервер, с которого происходит запуск.
Junior
Статус: Не в сети Регистрация: 05.02.2017 Откуда: Санкт-Петербург
BLOOD ELF писал(а):
Разработчики программы сказали, что нет никакой привязки к имени файла. Изначально ошибку начал выдавать обновленный .exe, потом я вернул старую версию. А через время и старая начала вываливаться с ошибкой. Но из других директорий все версии запускаются без проблем. Вот такого вида пути к исполняемым файлам. \\Medprostor_oper\pharma\sklad\psshop.exe - ошибка \\Medprostor_oper\pharma\sklad\psshop2.exe - работает
Интересно, а если сравнить(из клиента сервера) содержимое двух файлов, то есть проверить на идентичность. Че-нить типа: fc /b \\Medprostor_oper\pharma\sklad\psshop.exe \\Medprostor_oper\pharma\sklad\psshop2.exe
Интересно, а если сравнить(из клиента сервера) содержимое двух файлов, то есть проверить на идентичность. Че-нить типа: fc /b \\Medprostor_oper\pharma\sklad\psshop.exe \\Medprostor_oper\pharma\sklad\psshop2.exe
Что-то закрывается без сообщений.
Проверяю еще раз, \\Medprostor_oper\pharma\sklad\psshop.exe вываливается с ошибкой. Копирую я исполняемый файл \\Medprostor_oper\pharma\sklad\psshop.exe и вставляю в \\Medprostor_oper\pharma\test\psshop.exe. Запускаю \\Medprostor_oper\pharma\test\psshop.exe и все работает.
Junior
Статус: Не в сети Регистрация: 05.02.2017 Откуда: Санкт-Петербург
BLOOD ELF писал(а):
Что-то закрывается без сообщений.
Гм странно, проведите такой эксперемент: 1) Я так погимаю,e Вас имеется два файла (второй копия первого) сетевой путь из клиента к ним \\Medprostor_oper\pharma\sklad\psshop.exe \\Medprostor_oper\pharma\sklad\psshop2.exe Или локальный путь из сервера D:\sklad\psshop.exe D:\sklad\psshop2.exe Один пашет при запуске ,другой нет. Сравните их на идентичность , например с помощью встроенной в винду утилиты fc с форматом. fc /b file1 file2 Или с помощью любой сторонней программы , которая проверяет идентичность файлов в бинарном сравнении. Утилита fc должна выдать на выходе или содержимое идентично или выводить несовпадения , ничего не выводить она не может. Причем сравните как на сервере , так и из клиента.
Или с помощью любой сторонней программы , которая проверяет идентичность файлов в бинарном сравнении. Утилита fc должна выдать на выходе или содержимое идентично или выводить несовпадения , ничего не выводить она не может. Причем сравните как на сервере , так и из клиента.
Открывается окно с надписью Сравнение файлов \\Medprostor_oper\pharma\SKLAD\psshop.exe и \\Medprostor_oper\pharma\SKLAD\psshop2.exe и после просто закрывается.
Junior
Статус: Не в сети Регистрация: 05.02.2017 Откуда: Санкт-Петербург
BLOOD ELF писал(а):
Открывается окно с надписью Сравнение файлов \\Medprostor_oper\pharma\SKLAD\psshop.exe и \\Medprostor_oper\pharma\SKLAD\psshop2.exe и после просто закрывается.
То есть, Вы открыли консоль (cmd.exe) и из консоли вызвали команду: fc /b \\Medprostor_oper\pharma\sklad\psshop.exe \\Medprostor_oper\pharma\sklad\psshop2.exe И происходит вышенаписанное?
То есть, Вы открыли консоль (cmd.exe) и из консоли вызвали команду: fc /b \\Medprostor_oper\pharma\sklad\psshop.exe \\Medprostor_oper\pharma\sklad\psshop2.exe И происходит вышенаписанное?
Уже разобрался. Я из батника запускал. В общем различия не найдены, что и следовало ожидать.
Junior
Статус: Не в сети Регистрация: 05.02.2017 Откуда: Санкт-Петербург
BLOOD ELF писал(а):
Уже разобрался. Я из батника запускал. В общем различия не найдены, что и следовало ожидать.
Резюмируем: 1) Из клиента (то есть программа выполняется на клиенте, код берется с сервера) запускаются командами: \\Medprostor_oper\pharma\sklad\psshop.exe - не работает \\Medprostor_oper\pharma\sklad\psshop2.exe - работает 2) Сравнение из клиента \\Medprostor_oper\pharma\sklad\psshop.exe и \\Medprostor_oper\pharma\sklad\psshop2.exe - файлы идентичны 3)
BLOOD ELF писал(а):
Разработчики программы сказали, что нет никакой привязки к имени файла.
4) Все это имеет бесконечную повторяемость, то есть psshop2.exe всегда работает, а psshop.exe всегда нет. Такого не может быть! Или в фоне у клиента уже сидит процесс psshop.exe и второй экземпляр при запуске дурит.
Резюмируем: 1) Из клиента (то есть программа выполняется на клиенте, код берется с сервера) запускаются командами: \\Medprostor_oper\pharma\sklad\psshop.exe - не работает \\Medprostor_oper\pharma\sklad\psshop2.exe - работает 2) Сравнение из клиента \\Medprostor_oper\pharma\sklad\psshop.exe и \\Medprostor_oper\pharma\sklad\psshop2.exe - файлы идентичны 3) 'Разработчики программы сказали, что нет никакой привязки к имени файла.' 4) Все это имеет бесконечную повторяемость, то есть psshop2.exe всегда работает, а psshop.exe всегда нет. Такого не может быть! Или в фоне у клиента уже сидит процесс psshop.exe и второй экземпляр при запуске дурит.
Еще раз более углубленно опишу всю ситуацию. Компьютер Medprostor_oper, это компьютер оператора. На нем лежит складская программа и папка с программой открыта для общего доступа (\\Medprostor_oper\pharma\sklad\). У оператора она всегда открыта через psshop.exe. У других операторов на других ПК тоже открывается по сети используя тот же самый psshop.exe. Таким образом psshop.exe запущен обычно у троих человек. Менеджеры с другого города заходят по RDP на файловый сервер, который находится в одной сети с компьютером оператора. С этого сервера запускали тот же самый psshop.exe по сети и все работало. Вышло обновление для программы и новый .exe стал выдавать крэш на сервере, я вернул старый и все работало. Но через неделю и старый стал выдавать крэш. Если запускать .exe с другим именем, то нет никакого крэша и не важно какой версии этот .exe. Выдает крэш только psshop.exe. Если запускать psshop2.exe, psshop_27.03.18.exe, psshop_абракадабра.exe, то все работает. А именно psshop.exe крэш. Как вообще такое возможно.
Junior
Статус: Не в сети Регистрация: 05.02.2017 Откуда: Санкт-Петербург
BLOOD ELF писал(а):
Еще раз более углубленно опишу всю ситуацию. Компьютер Medprostor_oper, это компьютер оператора. На нем лежит складская программа и папка с программой открыта для общего доступа (\\Medprostor_oper\pharma\sklad\). У оператора она всегда открыта через psshop.exe. У других операторов на других ПК тоже открывается по сети используя тот же самый . Таким образом psshop.exe запущен обычно у троих человек. Менеджеры с другого города заходят по RDP на файловый сервер, который находится в одной сети с компьютером оператора. С этого сервера запускали тот же самый psshop.exe по сети и все работало.
Если честно, то я не понял ничего Единственно, что понятно есть комп в сети Medprostor_oper с расшаренной папкой с сетевым путем \\Medprostor_oper\pharma\sklad\ и в ней лежит некая программа psshop.exe. и что RDP - это наверно Remote Decktop.
Junior
Статус: Не в сети Регистрация: 05.02.2017 Откуда: Санкт-Петербург
BLOOD ELF, Как же все таки происходит запуск этого пресловутого psshop.exe именно с вашей стороны: 1) С вашего компа видна сетевая папка \\Medprostor_oper\pharma\sklad\ и в ней файл psshop.exe и запуск производится командой \\Medprostor_oper\pharma\sklad\psshop.exe или 2) Вы соединяетесь Remote Decktop'ом к некому файловому серверу , и уже находясь в нем видите сетевую папку \\Medprostor_oper\pharma\sklad\ и соответственно запускаете psshop.exe командой \\Medprostor_oper\pharma\sklad\psshop.exe или как?
BLOOD ELF, Как же все таки происходит запуск этого пресловутого psshop.exe именно с вашей стороны: 1) С вашего компа видна сетевая папка \\Medprostor_oper\pharma\sklad\ и в ней файл psshop.exe и запуск производится командой \\Medprostor_oper\pharma\sklad\psshop.exe или 2) Вы соединяетесь Remote Decktop'ом к некому файловому серверу , и уже находясь в нем видите сетевую папку \\Medprostor_oper\pharma\sklad\ и соответственно запускаете psshop.exe командой \\Medprostor_oper\pharma\sklad\psshop.exe или как?
Второй вариант.
По удаленке заходят на сервер и запускают программу, которая физически на другом компе лежит, но расшарена в сети.
Если эту же программу запускать из любого другого места, то никаких ошибок нет.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения