Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Ошибка при создании класса (число прочтений - 15565 )
stone
Junior Member
**
Отсутствует


нифига не понимаю...

Сообщений: 73
Зарегистрирован: 19. Июля 2006
Ошибка при создании класса
26. Июля 2006 :: 06:19
Печать  
1Ска переодически вываливается с ошибкой:
V75.zlibEngine Error:Неправильный указатель
имя_класса.ert

и дальше ругань "инициализация класса закончилась не удачно"

из-за чего такое может быть?
  
Наверх
GTalkICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #1 - 26. Июля 2006 :: 06:57
Печать  
Версия 1С++?
Что написано в defcls.prm?
Где находится файл имя_класса.ert?
Открывается ли имя_класса.ert Конфигуратором?
  
Наверх
www  
IP записан
 
stone
Junior Member
**
Отсутствует


нифига не понимаю...

Сообщений: 73
Зарегистрирован: 19. Июля 2006
Re: Ошибка при создании класса
Ответ #2 - 26. Июля 2006 :: 07:11
Печать  
так.... теперь полная инфа (не знал всего):

1. Ошибка возникает во время восстановления последовательности. Причем только ночью. Днём ошибки не наблюдается.
2. Тестировалось на двух машинах (железо, винды одинаковые). Возникает только на одной.

Версия 1С++ 2.5.0.0 alpha night build 06/07/2006

Параметры классов и описание (из 1Ски):
Код
Выбрать все
Всего зарегистрировано классов: 5
Всего объявлено методов: 22
Определенные директивы препроцессора:

Вложенные файлы:
\\sserv\IT$\develbase\Классы\ОписаниеКлассов.prm

Имена зарегистрированных классов:
Портфель = \\sserv\IT$\develbase\Классы\clsСтоимостьПортфеля.ert
КотировкиФИ = \\sserv\IT$\develbase\Классы\КотировкиSQL.ert
СвязкаДокПоGUID = \\sserv\IT$\develbase\Классы\СвязкаДокПоGUID.ert
ПоискЭлементов = \\sserv\IT$\develbase\Классы\ПоискЭлементов.ert
ОстаткиSQL = \\sserv\IT$\develbase\Классы\ОстаткиSQL.ert
 



Все классы открываются в Конфигураторе спокойно.
Ну и на всякий случай 1С 7.70.025 sql
  
Наверх
GTalkICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #3 - 26. Июля 2006 :: 09:31
Печать  
Какой точно текст ошибки?
Ресурс \\sserv\IT$ доступен всегда, и ночью тоже?
  
Наверх
www  
IP записан
 
stone
Junior Member
**
Отсутствует


нифига не понимаю...

Сообщений: 73
Зарегистрирован: 19. Июля 2006
Re: Ошибка при создании класса
Ответ #4 - 26. Июля 2006 :: 09:40
Печать  
fez писал(а) 26. Июля 2006 :: 09:31:
Какой точно текст ошибки?
Ресурс \\sserv\IT$ доступен всегда, и ночью тоже?



ресурс доступен постоянно. там же и база лежит.

точный текст ошибки (а точнее скриншот) - в приложении
  

error.jpg ( 116 KB | Загрузки )
error.jpg
Наверх
GTalkICQ  
IP записан
 
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #5 - 31. Июля 2006 :: 07:19
Печать  
Ночник 28.07.06
СчетЛПУ = СоздатьОбъект("СчетЛПУ");
{Документ.СчетНов.Форма.Модуль(503)}: Внимание! Инициализация класса: СчетЛПУ закончилась не удачно!
(1)<<?>>РП
аЎ±
б      Обнаружено логическое завершение исходного текста модуля

На ночнике 16.06 все нормально
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Ошибка при создании класса
Ответ #6 - 31. Июля 2006 :: 17:20
Печать  
jbond
Последняя ошибка проявляется в базе тестирования. Думаю, исправить ее не сложно.

stone
У меня вчера ночью случилась такая же ошибка, причем на той же базе тестирования (локальной).

Сообщение нашлось в функции CModuleString::LoadModuleFromERT, оно выдается при появлении исключения  _com_error.

Кстати, у меня оно возникло, когда выдалось сообщение о том, что недостаточно памяти. Может быть с этим связано?
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #7 - 01. Августа 2006 :: 09:18
Печать  
stone
Включен ли режим оптимизации?

Про нехватку памяти - это здравая мысль, поддерживаю.
  
Наверх
www  
IP записан
 
stone
Junior Member
**
Отсутствует


нифига не понимаю...

Сообщений: 73
Зарегистрирован: 19. Июля 2006
Re: Ошибка при создании класса
Ответ #8 - 02. Августа 2006 :: 05:27
Печать  
fez писал(а) 01. Августа 2006 :: 09:18:
Включен ли режим оптимизации?

Про нехватку памяти - это здравая мысль, поддерживаю.


Оптимизация выключена.
На нехватку памяти - не ругалось.
  
Наверх
GTalkICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Ошибка при создании класса
Ответ #9 - 02. Августа 2006 :: 07:56
Печать  
По идее, оптимизация не должна мешать, но лучше ее включить.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #10 - 02. Августа 2006 :: 14:04
Печать  
stone писал(а) 02. Августа 2006 :: 05:27:
Оптимизация выключена.

Включи. Оно тогда будет реже читать твои ert. Соответственно, уменьшится вероятность возникновения ошибки. И вообще работать будет быстрее.
  
Наверх
www  
IP записан
 
stone
Junior Member
**
Отсутствует


нифига не понимаю...

Сообщений: 73
Зарегистрирован: 19. Июля 2006
Re: Ошибка при создании класса
Ответ #11 - 02. Августа 2006 :: 14:06
Печать  
проблему решили простым способом: создание класса вынесли в глобальник.

вопрос в другом, почему косяк всплыл именно в модуле проведения документа?
  
Наверх
GTalkICQ  
IP записан
 
Deb
1c++ developer
Отсутствует


Sex, drugs and 1C

Сообщений: 41
Зарегистрирован: 21. Мая 2006
Re: Ошибка при создании класса
Ответ #12 - 06. Августа 2006 :: 07:35
Печать  
Оптимизация в таких случаях должна быть включена обязательно!
Цитата:
проблему решили простым способом: создание класса вынесли в глобальник.

Потому-что теперь он создается один раз.
А при группом проведении модуль читался все время при каждом проведении документа.
Так работает глючный зип-объект 1С, который они где-то сперли или лицензировали...
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Ошибка при создании класса
Ответ #13 - 06. Августа 2006 :: 20:06
Печать  
Не понял, что означает фраза:

Deb писал(а) 06. Августа 2006 :: 07:35:
Так работает глючный зип-объект 1С, который они где-то сперли или лицензировали...


"Так" это как?
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка при создании класса
Ответ #14 - 07. Августа 2006 :: 05:10
Печать  
Deb писал(а) 06. Августа 2006 :: 07:35:
Так работает глючный зип-объект 1С, который они где-то сперли или лицензировали...

Угу, утверждение располагает к метамоделированию.
Короче, можно чуть подробнее?
  

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


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #15 - 07. Августа 2006 :: 09:12
Печать  
Ну логика там видимо такова, что при множественном и частом чтении одного и того же ert, рано или поздно встречается такая ситуация, когда файл (или контейнер compound-файла, хз) еще не закрыт после предыдущего чтения, а его уже пытаются открыть снова. Или происходит какая-нибудь подобная ерунда, основанная на подобной асинхронности/многозадачности.
Тут обозначенные вилы и наступают.

Вот подобная "особенность" работы и была обозначена Deb'ом словом "Так".
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка при создании класса
Ответ #16 - 07. Августа 2006 :: 10:12
Печать  
Это конечно, х@рня случается.
Хотелось бы чуть подробнее, чтобы самим не ловить - задолбаешься ловить-то.
  

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


Sex, drugs and 1C

Сообщений: 41
Зарегистрирован: 21. Мая 2006
Re: Ошибка при создании класса
Ответ #17 - 15. Августа 2006 :: 13:56
Печать  
Дело не в контейнере, а именно в том, что текст модуля внешней обработки сжат, причем если не ошибаюсь обычный zip алгоритм, только текст без заголовка. Сам не разбирался, где-то на форуме читал... Я просто 1С-ким вариант использовал, может сам как-то криво использовал этот объект, может какой нюанс не учел...
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #18 - 15. Августа 2006 :: 14:16
Печать  
stone писал(а) 26. Июля 2006 :: 06:19:
1Ска переодически вываливается с ошибкой:
V75.zlibEngine Error:Неправильный указатель
имя_класса.ert

и дальше ругань "инициализация класса закончилась не удачно"

из-за чего такое может быть?


Сегодня поймал этот глюк.
На терминале под админом случайно запустил 1С с другого сервака, т.е. путь 1С-ки был сетевым, а не локальным.
Сразу после этого у всех юзеров вылез косяк, хотя они и запускали 1С локально.
Пришлось опять заходить на сервер, и запустить хотя бы раз локально.
  
Наверх
 
IP записан
 
stone
Junior Member
**
Отсутствует


нифига не понимаю...

Сообщений: 73
Зарегистрирован: 19. Июля 2006
Re: Ошибка при создании класса
Ответ #19 - 15. Августа 2006 :: 14:26
Печать  
Arta писал(а) 15. Августа 2006 :: 14:16:
stone писал(а) 26. Июля 2006 :: 06:19:
1Ска переодически вываливается с ошибкой:
V75.zlibEngine Error:Неправильный указатель
имя_класса.ert

и дальше ругань "инициализация класса закончилась не удачно"

из-за чего такое может быть?


Сегодня поймал этот глюк.
На терминале под админом случайно запустил 1С с другого сервака, т.е. путь 1С-ки был сетевым, а не локальным.
Сразу после этого у всех юзеров вылез косяк, хотя они и запускали 1С локально.
Пришлось опять заходить на сервер, и запустить хотя бы раз локально.

терминалов нет.
  
Наверх
GTalkICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка при создании класса
Ответ #20 - 15. Августа 2006 :: 20:25
Печать  
Deb писал(а) 15. Августа 2006 :: 13:56:
Дело не в контейнере, а именно в том, что текст модуля внешней обработки сжат, причем если не ошибаюсь обычный zip алгоритм, только текст без заголовка. Сам не разбирался, где-то на форуме читал... Я просто 1С-ким вариант использовал, может сам как-то криво использовал этот объект, может какой нюанс не учел...

Ну и вариант решения - не использовать классы в обработках на продакшен базах, так?
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #21 - 16. Августа 2006 :: 06:24
Печать  
Работаю с 1С++ и классами уже несколько лет (4-5?) и с данной ошибкой встречался считанное количество раз (не более 4-5).
Тем более, что вроде бы перезапуск сеанса всегда помогал Улыбка
ЗЫ считаю данную проблему не очень существенной.
Но все еще жду более полного описания момента возникновения ошибки Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Ошибка при создании класса
Ответ #22 - 16. Августа 2006 :: 23:24
Печать  
У меня такое ощущение, что это та же неуловимая ошибка что и "Ошибка создания внешнего отчета".
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #23 - 16. Августа 2006 :: 23:27
Печать  
Сегодня проверил специально еще раз. Если админ запускает 1С с другой тачки \\тачка\c$\program files\ и т.д., на которую у безправного юзера нет доступа, то этот самый безправный юзер при старте системы (компиляции классов) отлавливает имеет такое сообщение.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка при создании класса
Ответ #24 - 17. Августа 2006 :: 06:34
Печать  
Arta писал(а) 16. Августа 2006 :: 23:27:
Сегодня проверил специально еще раз. Если админ запускает 1С с другой тачки \\тачка\c$\program files\ и т.д., на которую у безправного юзера нет доступа, то этот самый безправный юзер при старте системы (компиляции классов) отлавливает имеет такое сообщение.

А можно для асфальтоукладчиков поподробнее, по пунктам?
У бесправного юзера вообще не должно быть доступа к c$.
И как бы зачем надо так запускать 1С, не догнал пока...
  

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



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #25 - 17. Августа 2006 :: 06:51
Печать  
В качестве мысли:
сам компаунд открывается с такими флагами "STGM_READ | STGM_SHARE_DENY_WRITE", а вот поток "MD Programm text" с флагами "STGM_READ | STGM_SHARE_EXCLUSIVE" и второй флаг, судя по доке должен быть таким.
Так может быть бывают случай, что одновременно несколько приложений пытаются открыть этот поток и кто-то обламывается?
Если так, то стоит сделать несколько попыток считывания.
« Последняя редакция: 08. Сентября 2006 :: 04:42 - spock »  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #26 - 17. Августа 2006 :: 07:00
Печать  
kms писал(а) 17. Августа 2006 :: 06:34:
А можно для асфальтоукладчиков поподробнее, по пунктам?
У бесправного юзера вообще не должно быть доступа к c$.
И как бы зачем надо так запускать 1С, не догнал пока...


Для героев строительных работ:
Домен,  профили и т.д. С какой бы тачки ты не зашел - подгрузится твой рабочий стол, панели и т.д. Работал все время на своей тачке, а тут понадобилось проверить работу обработки на терминале. Захожу под собой и не обращаю внимания, что у ярлыка 1С не локальный путь, а почему-то сетевой (к которому естесено у юзеров нет доступа). Причину проблемы выяснил после часа траха...
Запускаю 1С в режиме конфигуратора, в штатном режиме, проверяю, выхожу.

После этого у юзеров вылазят ошибки. Долго мучаюсь, нахожу досадный косяк, запускаю под собой 1С в терминале по правильному пути - после этого юзеры счастливы.


Напоминает поведение активиксов. Зарегистрировал ты их по одному пути админом, и юзеры будут пытаться загрузить ее оттуда же. Может какие-то 1С-вские dll регистрируются по пути или еще как... в общем ХЗ.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка при создании класса
Ответ #27 - 17. Августа 2006 :: 10:02
Печать  
OFF:

а у меня перемещаемые профили не пошли.
они же подгружают только HKCU, а HKLM остается локальным - отсюда и возможные траблы с теми же версиями, регистрациями и т.д.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #28 - 17. Августа 2006 :: 11:21
Печать  
Ну естесено HKLM локальный.

Дык под админом раз загрузишь и все будет ок...
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при создании класса
Ответ #29 - 07. Сентября 2006 :: 08:17
Печать  
stone писал(а) 26. Июля 2006 :: 07:11:
1. Ошибка возникает во время восстановления последовательности. Причем только ночью. Днём ошибки не наблюдается.

2. Оптимизация выключена.


Отписался в багзилле
Цитата:
------- Comment #1 From Аюханов Артур 2006-08-30 11:12:48 [reply] -------

Только что нарвался на эту ошибку.
У меня было запущено групповое перепроведение документов в двух отладочных
базах.
И в одной из них в какой-то момент вылетело сообщение, что файл класса не
удалось открыть. Вторая до сих пор нормально работает.

Похоже, что ошибка возникает при попытке ОДНОВРЕМЕННОГО ДОСТУПА к файлу класса,
а это достаточно редко.

Проверил режим оптимизации - стоял режим БЕЗ ОПТИМИЗАЦИИ Печаль
ИМХО в режиме группового проведения, да и вообще для рабочих баз, лучше ставить
оптимизацию!
Для своих указзанных баз временно поставил режим оптимизации перед проведением.
Жду завершения.
ЗЫ релиз последний - 2031

------- Comment #2 From Аюханов Артур 2006-09-07 12:14:29 [reply] -------

Забыл рассказать о результатах перепроведения в двух базах при выключенном
режиме оптимизации Улыбка
Все прошло нормально, больше подобной ошибки не встречал.
ЗЫ на днях еще пару раз выполнял подобное двойное перепроведение, все прошло
нормально.


Так что думаю, что с этой ошибкой все стало понятно.
Я лично не считаю данное поведение критичным.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать