Bug 155

Summary: 1Cv77: Падает при печати
Product: WINE@Etersoft Reporter: Vitaly Lipatov <lav>
Component: Печать ; Диалог печатиAssignee: Синицын Иван <ivan>
Status: CLOSED FIXED QA Contact: Vitaly Lipatov <lav>
Severity: normal    
Priority: P2 CC: baraka
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 53    
Bug Blocks: 42, 443, 488    
Attachments: Быстрый вывод на печать приводит к падению.
Одновременное обращение к обработчику печати

Description Vitaly Lipatov 2006-06-17 14:18:07 MSD
Чтобы воспроизвести, нужно в одном и том же документе несколько раз 
пооткрывать диалог печати (с последующей печатью в файл). Причём падает только 
при открывании диалога кнопкой на панели инструментов. 
 
$ ./run-1c77.sh  
fixme:rpc:I_RpcServerStartListening (0x20026): stub  
fixme:richedit:RichEditANSIWndProc WM_SETFONT: stub  
wine: Unhandled page fault on write access to 0x00000028 at address 0x2503deea  
(thread 000b), starting debugger...  
WineDbg starting on pid 0xa  
Unhandled exception: page fault on write access to 0x00000028 in 32-bit code  
(0x2503deea).  
Register dump:  
 CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033  
 EIP:2503deea ESP:7fbee950 EBP:7c2c7f50 EFLAGS:00210202(   - 00      - -RI1)  
 EAX:00000000 EBX:7d50d808 ECX:7d6aa3f4 EDX:00000001  
 ESI:7d6aa3f4 EDI:00000000  
Stack dump:  
0x7fbee950:  00000001 7d50d808 7fbeec98 7fbeed18  
0x7fbee960:  00000000 7d50d808 7d50dd78 7d50d808  
0x7fbee970:  7fbeed18 250445ab 25069ce8 7d50d808  
0x7fbee980:  2503d6cc 7c2c7f50 7d50d808 25069ce8  
0x7fbee990:  7fbeed18 00000000 00000000 00040004  
0x7fbee9a0:  00000016 0000001c 7fbeed18 5f401018  
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for c0000119  
Backtrace:  
=>1 0x2503deea in moxel (+0x3deea) (0x2503deea)  
  2 0x00000001 (0x00000001)  
  3 0x5f4153fb in mfc42 (+0x153fb) (0x5f4153fb)  
0x2503deea: movl        $0x8113,0x28(%edi)
Comment 1 Vitaly Lipatov 2006-06-17 15:31:45 MSD
С используемыми richedit и rpcrt4 не связано :(  
GlobalLock возвращает NULL, а мы этого не ожидаем. 
Причина такого поведения не выяснена. 
Comment 2 Константин Петров 2006-07-14 19:52:40 MSD
Created attachment 32 [details]
Быстрый вывод на печать приводит к падению. 

Провел тестирование на 1Cv7.exe с локально расположенной базой. Запустил скрипт


Процедура ПечатьФ()  
	ТТ = СоздатьОбъект ("Таблица"); 
       
	    
	Страница = 1;
	Если ВыбПринтер=1 Тогда
		Пока Число(Страница) <= Число(КолвоПеч) Цикл   
			Сообщить (Страница); 
			ТТ.Открыть ("s:\111.mxl");
			ТТ.ПараметрыСтраницы(2,,,,,,,,,1,,"hp1200");
			ТТ.Напечатать(0);	       
			Страница = Страница + 1; 
		    Предупреждение("Блаблабла", 3)
		КонецЦикла;
	шначе	
		ТТ.Показать("Печать счета-фактуры","");
	КонецЕсли;

Упало после 2-3 выводов на печать.
При этом, конечно, печать остановлена.
См. лог. Не проходит работа с блокировками....?
Comment 3 Константин Петров 2006-07-14 20:33:02 MSD
Created attachment 33 [details]
Одновременное обращение к обработчику печати

по результатам тестирования то же самое (см. п.3) происходит при одновременной
работе 2-х пользователей с одной базой. При запуске того же скрипта печати.

По видимому здесь опять происходят одновременные обращения к обработчику печати
и 1С падает
Comment 4 Vitaly Lipatov 2007-05-25 22:36:44 MSD
Нужно проверить к релизу, что воспроизвести багу не удаётся (в связи закрытием #53)
Comment 5 Синицын Иван 2007-05-28 14:11:11 MSD
Воспроизвести не удалось. При попытке печати через кнопку все нормально, даже если несколько раз вызывать диалог печати.
При работе нескольких пользователей с одной базой и запускающих один и тотже скрипт печати тоже все проиходит нормально.Печать осуществлял в файл.
Comment 6 Синицын Иван 2007-05-29 12:25:13 MSD
закрыто.