Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Отловил багу (не 1с++) (число прочтений - 4855 )
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Отловил багу (не 1с++)
14. Августа 2008 :: 03:21
Печать  
Ночью по расписанию на серваке идет восстановление гп (монопольно со сдвигом ТА) в комплексной, так вот сегодня прихожу утром, сервак по rdp не пускает, по радмину тоже, комплексная при этом не доступна, в ней типа восстановление гп крутится, по логам видно что восстановление началось, но пока не завершилось. Я к админу, он цепляет монитор к серваку, пытается запустить диспетчер задач - он не запускается, затем он делает логоф на консоли и все встает на свои места, то есть меня пускает в терминал и вижу я картинку, см. ниже. Смотрю какой был расход памяти по диспетчеру задач видно что не хватило свопа. Вечером на кануне диспетчер показывал что задействовано 3.5Г из 4Г возможных. На серваке вообще 1Г ОЗУ и 3Г своп. Так вот я сделал вывод такой, 1с ке не хватило памяти, и она вылетает с ошибкой, модальное окно с ошибкой не закрыто - никого не пускает в комплексную. Вообще тут не понятно что приводит к утечке памяти, но думаю не 1с, админ на серваке наставил всяких прог мелких (Inbit nessenger server, какая то прога блокирующая создание вирусами файлов autorun.inf, hdd smart monitoring), чтобы inbit у клиентов работал он держал консоль всегда запущенной на сервере.

А вы как думаете что может способствовать таким большим утечкам памяти ?

ЗЫ: аптайм сервака утром был 3 дня всего, на серваке Win2003 server.

ЗЫ2: скрин не прикрепляется чего то, суть скрина 1с ка вылетела с ошибкой "Out of memory".

ЗЫ3: здесь скрин http://slil.ru/26057781
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #1 - 14. Августа 2008 :: 04:23
Печать  
Нет, скорее всего, это именно 1С Печаль
Она как раз способна кушать подобное количество памяти Печаль
Проверь свои модули проведения, может быть, ты там что-то выводишь в отчеты или в печатные формы и т.д.
Запусти локально восстановление на небольшой период и понаблюдай в диспетчере задач за памятью.
В общем, ищи у себя.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #2 - 14. Августа 2008 :: 04:32
Печать  
artbear писал(а) 14. Августа 2008 :: 04:23:
Нет, скорее всего, это именно 1С Печаль
Она как раз способна кушать подобное количество памяти Печаль
Проверь свои модули проведения, может быть, ты там что-то выводишь в отчеты или в печатные формы и т.д.
Запусти локально восстановление на небольшой период и понаблюдай в диспетчере задач за памятью.
В общем, ищи у себя.


Комплексная нетронутая (во всяком случае модули проведения не изменялись) так что вряд ли это 1С, локально пробовал запускать, отрабатывает нормально.

ЗЫ: хотя при проведении документа идет комментирование, это конечно может кушать память ... как попроще его выключить при восстановлении гп, чтобы не лезть в каждый модуль проведения ?  нашел - это отменить комментирование действий в настройках пользователя
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #3 - 14. Августа 2008 :: 05:24
Печать  
База SQL?

1c больше 2х Гб помоему не осилит.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #4 - 14. Августа 2008 :: 05:28
Печать  
ev-kov писал(а) 14. Августа 2008 :: 04:32:
Комплексная нетронутая (во всяком случае модули проведения не изменялись) так что вряд ли это 1С, локально пробовал запускать, отрабатывает нормально.

ЗЫ: хотя при проведении документа идет комментирование, это конечно может кушать память ... как попроще его выключить при восстановлении гп, чтобы не лезть в каждый модуль проведения ?  нашел - это отменить комментирование действий в настройках пользователя

Ага, может влиять, лучше убрать на время восстановления ГП
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #5 - 14. Августа 2008 :: 06:54
Печать  
Nick писал(а) 14. Августа 2008 :: 05:24:
База SQL?

1c больше 2х Гб помоему не осилит.


нет, dbf
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #6 - 14. Августа 2008 :: 06:56
Печать  
artbear писал(а) 14. Августа 2008 :: 05:28:
ev-kov писал(а) 14. Августа 2008 :: 04:32:
Комплексная нетронутая (во всяком случае модули проведения не изменялись) так что вряд ли это 1С, локально пробовал запускать, отрабатывает нормально.

ЗЫ: хотя при проведении документа идет комментирование, это конечно может кушать память ... как попроще его выключить при восстановлении гп, чтобы не лезть в каждый модуль проведения ?  нашел - это отменить комментирование действий в настройках пользователя

Ага, может влиять, лучше убрать на время восстановления ГП


посмотрим что сегодня ночью будет

ЗЫ: админ inbit поднял как сервис, убрал авторановскую прилабуду, и в консоль не входит вроде сервак в своп не лезет теперь  .... УФФ, уже лучше
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #7 - 14. Августа 2008 :: 07:17
Печать  
Попробуй программно в обработке воссстановления ГП отслеживать размер занятой/свободной памяти или хотя бы размер системного своп-файла, если вырастет больше, чем задано системой по умолчанию, значит, нужно срочно валить 1С, пока она не завалила сервер, и искать дальше Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #8 - 14. Августа 2008 :: 07:57
Печать  
artbear писал(а) 14. Августа 2008 :: 07:17:
Попробуй программно в обработке воссстановления ГП отслеживать размер занятой/свободной памяти или хотя бы размер системного своп-файла, если вырастет больше, чем задано системой по умолчанию, значит, нужно срочно валить 1С, пока она не завалила сервер, и искать дальше Улыбка


как узнать из 1с размер занятой вирт. памяти ?

какие ограничения на своп  можно узнать из реестра,

также непонятно как узнать сколько физической памяти, хотя это постоянная величина, можно задать константой.
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Отловил багу (не 1с++)
Ответ #9 - 14. Августа 2008 :: 08:15
Печать  
ev-kov писал(а) 14. Августа 2008 :: 07:57:
как узнать из 1с размер занятой вирт. памяти ?

Можно попробовать использовать диагностику куч, которая есть в icpp:

Система::Память(флВыводитьСообщения, маскаHeaps);

Возвращает, насколько я помню, суммарный размер используемой процессом памяти.
Маску можно задавать: 1 (Heap CRT), 2 (Heap ИТ), -1 (все)

Цитата:
также непонятно как узнать сколько физической памяти, хотя это постоянная величина, можно задать константой.

В v7plus.dll что-то было.
Только местами кривоватое, я для себя просто написал пару информационных объектов.
Не публиковал, ибо подозреваю, что то же самое наверняка можно получить через WMI, например.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #10 - 14. Августа 2008 :: 08:22
Печать  
kms писал(а) 14. Августа 2008 :: 08:15:
Система::Память(флВыводитьСообщения, маскаHeaps);


пойдёт, осталось узнать ключи реестра где хранится макс значение свопа.
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Отловил багу (не 1с++)
Ответ #11 - 14. Августа 2008 :: 08:29
Печать  
ev-kov писал(а) 14. Августа 2008 :: 08:22:
пойдёт, осталось узнать ключи реестра где хранится макс значение свопа.

Зачем?
Процесс 1С все равно не может забрать больше, чем 2Гб.
Если его размер подбирается под эту планку, уже надо делать определенные выводы.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Отловил багу (не 1с++)
Ответ #12 - 14. Августа 2008 :: 08:38
Печать  
Кстати, учитывая

ev-kov писал(а) 14. Августа 2008 :: 03:21:
диспетчер показывал что задействовано 3.5Г из 4Г возможных. На серваке вообще 1Г ОЗУ и 3Г своп.

выводы надо бы делать незамедлительно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Отловил багу (не 1с++)
Ответ #13 - 14. Августа 2008 :: 09:56
Печать  
kms писал(а) 14. Августа 2008 :: 08:29:
ev-kov писал(а) 14. Августа 2008 :: 08:22:
пойдёт, осталось узнать ключи реестра где хранится макс значение свопа.

Зачем?
Процесс 1С все равно не может забрать больше, чем 2Гб.
Если его размер подбирается под эту планку, уже надо делать определенные выводы.


Очень логично, как сам не догадался ..
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Отловил багу (не 1с++)
Ответ #14 - 17. Августа 2008 :: 11:04
Печать  
ev-kov писал(а) 14. Августа 2008 :: 03:21:
ЗЫ3: здесь скрин http://slil.ru/26057781


Кстати, понятно, почему появилось именно 0x80010105:
Цитата:
COM will not propagate a C++ exception from the callee to the caller, even when both the caller and the callee are written in C++. This catches some COM newcomers off guard, but it should be no surprise if you recall that COM is language-independent. COM boundaries are language boundaries. After all, if the caller is written in C and the callee is written in C++, what would COM do with the C++ exception? If your code throws an exception, the caller will see a failure with an HRESULT of 0x80010105 (RPC_E_SERVERFAULT). Interestingly enough, this is the same error the caller sees if the callee attempts an illegal memory access. In both cases, the COM runtime isolates the caller of the object from runtime errors inside the object and presents them as server errors.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать