Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 419 - Не работает печать в Гаранте F1   Make a simular bug
Summary: Не работает печать в Гаранте F1
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Печать ; Диалог печати (show other bugs)
Version: 1.0.5
Hardware: PC Linux
: P4 major
Target Milestone: выпуск 1.0.9
Assignee: Виталий Перов
QA Contact: Денис Баранов
URL:
Whiteboard:
Keywords:
: 592 (view as bug list)
Depends on: 1074 2665 2818 3583 4254 7387
Blocks: 443 769 3932
  Show dependency treegraph
 
In work:
Reported: 2006-12-19 14:29 MSK by Константин Кондратюк
Modified: 2011-06-24 15:56 MSK (History)
7 users (show)

See Also:
Заявки RT: 9902
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Константин Кондратюк 2006-12-19 14:29:37 MSK
При попытке что-либо напечатать в Гарант F1 подсчёт страниц уходит в
бесконечность.
Comment 1 Vitaly Lipatov 2007-02-27 12:50:56 MSK
Ответ от разработчиков Гаранта:
"Такая ошибка у нас воспроизводилась под Windows и была нами устранена в версии `6.4.2` (она скоро будет доступна нашим пользователям)"

Ждём подтверждения по проверке версии 6.4.2
Comment 2 Alexey Markachev 2007-05-14 12:48:48 MSD
14.05.07 от 2х пользователей поступила информации, о том что обновление гаранта до версии 6.4.2 никак не повлияло на ситуацию. Проблема осталась прежней
Comment 3 Константин Кондратюк 2007-05-28 15:31:34 MSD
Проблема осталась
Comment 4 Константин Кондратюк 2007-05-28 15:35:02 MSD
*** Bug 592 has been marked as a duplicate of this bug. ***
Comment 5 Yuri Bushmelev 2007-09-22 00:49:40 MSD
Подтверждаю на Kubuntu 6.10, WINE@Etersoft 1.0.6. Гарант F1 версия 6.4.2.45, сборка 4073. При попытке напечатать документ начинается подсчет страниц. Терпения хватило только до 32000 страницы, после чего процесс был пристрелен.. Сказал пользователям, чтобы нужные фрагменты копировали в OOo Writer, а документы в формате MS Excel экспортировали из контекстного меню и открывали отдельно OOo Calc'ом. Теперь вместе ждем починки..
Comment 6 Vitaly Lipatov 2007-09-22 01:16:45 MSD
А разве значок "Открыть в Word" не работает?
Comment 7 Yuri Bushmelev 2007-09-22 01:34:48 MSD
(In reply to comment #6)
> А разве значок "Открыть в Word" не работает?
> 

У меня не заработало.. Но! Там W@E 1.0.6. Насколько я помню, в нем еще не было возможности цеплять OOo вместо MSO. На 1.0.7 сразу не переехал из-за глюка с обрезанием строк до первого пробела. А сейчас уже решил дождаться 1.0.8 :)
Comment 8 Vitaly Lipatov 2008-05-27 10:13:46 MSD
Нужно проверить на Гарант 7, старые нет смысла смотреть.
Comment 9 Константин Кондратюк 2008-10-15 11:44:54 MSD
Нужно проверить.

В обход баги #1074 можно установить Гарант в Windows и перенести его в .wine.
Comment 10 Виталий Перов 2008-10-17 19:42:47 MSD
Необходимо проверить работает ли печать на новом Гаранте 7.
Баги #1074 и #2660 решены. Изменения должны появитсья в следующем релизе. Гарант 7 теперь без проблем должен устанавливаться
Comment 11 Константин Кондратюк 2008-10-28 15:37:35 MSK
Проверка переносится - в ожидании новой версии Гаранта 1 ноября...
Comment 12 Andrey Vusik 2008-12-09 19:05:57 MSK
(In reply to comment #0)
> При попытке что-либо напечатать в Гарант F1
> подсчёт страниц уходит в
> бесконечность.
> 

На последнем Гарантн аналогично...
Comment 13 Andrey Vusik 2008-12-11 14:47:41 MSK
> 
> На последнем Гарантн аналогично...
> 
Хотя клиент пишет, что у него всё ок. Сейчас выясняю какой у него Гарант.

Comment 14 Виталий Перов 2008-12-15 17:26:57 MSK
трейс по каналам wineps и psdrv:

trace:psdrv:PSDRV_FindPrinterInfo 'TestPrinter'
trace:psdrv:PSDRV_CreateDC (L"WINEPS.DRV" L"TestPrinter" L"LPT1:" (nil))
trace:psdrv:PSDRV_UpdateDevCaps ImageableArea = 75,75 - 2404,3433: PageSize = 2479x3508
trace:psdrv:PSDRV_UpdateDevCaps devcaps: horzSize = 197mm, vertSize = 284mm, horzRes = 2329, vertRes = 3358
trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "CourierNewPSMT"
trace:psdrv:PSDRV_SelectPen hpen = 0x60 colour = 00000000
trace:psdrv:PSDRV_SelectBrush hbrush = 0x44
trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "CourierNewPSMT"
trace:psdrv:PSDRV_FindPrinterInfo 'TestPrinter'
trace:psdrv:PSDRV_ExtDeviceMode (Driver=WINEPS.DRV, hwnd=(nil), devOut=0x1eeedd4, Device='TestPrinter', Port='LPT1:', devIn=0x1eeedd4, Profile='(null)', Mode=0000)
trace:psdrv:PSDRV_SelectPen hpen = 0x60 colour = 00000000
trace:psdrv:PSDRV_SelectBrush hbrush = 0x44
trace:psdrv:PSDRV_SelectFont FaceName = L"System" Height = 16 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "WineTahoma"
trace:psdrv:PSDRV_DeleteDC
trace:psdrv:PSDRV_FindPrinterInfo 'TestPrinter'
trace:psdrv:PSDRV_CreateDC (L"WINEPS.DRV" L"TestPrinter" L"LPT1:" (nil))
trace:psdrv:PSDRV_UpdateDevCaps ImageableArea = 75,75 - 2404,3433: PageSize = 2479x3508
trace:psdrv:PSDRV_UpdateDevCaps devcaps: horzSize = 197mm, vertSize = 284mm, horzRes = 2329, vertRes = 3358
trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "CourierNewPSMT"
trace:psdrv:PSDRV_SelectPen hpen = 0x60 colour = 00000000
trace:psdrv:PSDRV_SelectBrush hbrush = 0x44
trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "CourierNewPSMT"
trace:psdrv:PSDRV_FindPrinterInfo 'TestPrinter'
trace:psdrv:PSDRV_ExtDeviceMode (Driver=WINEPS.DRV, hwnd=(nil), devOut=0x5d89938, Device='TestPrinter', Port='LPT1:', devIn=0x5d89938, Profile='(null)', Mode=0002)
trace:psdrv:PSDRV_SelectPen hpen = 0x60 colour = 00000000
trace:psdrv:PSDRV_SelectBrush hbrush = 0x44
trace:psdrv:PSDRV_SelectFont FaceName = L"System" Height = 16 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "WineTahoma"
trace:psdrv:PSDRV_DeleteDC
trace:psdrv:PSDRV_FindPrinterInfo 'TestPrinter'
trace:psdrv:PSDRV_CreateDC (L"WINEPS.DRV" L"TestPrinter" L"LPR:HpTest" 0x5d90ba0)
trace:psdrv:PSDRV_MergeDevmodes Changing orientation to 1 (Portrait)
trace:psdrv:PSDRV_MergeDevmodes Changing page to A4 2099 x 2970
trace:psdrv:PSDRV_MergeDevmodes Changing Scale to 100
trace:psdrv:PSDRV_MergeDevmodes Changing Copies to 1
trace:psdrv:PSDRV_MergeDevmodes Trying to change to unsupported bin 7
trace:psdrv:PSDRV_UpdateDevCaps ImageableArea = 75,75 - 2404,3433: PageSize = 2479x3508
trace:psdrv:PSDRV_UpdateDevCaps devcaps: horzSize = 197mm, vertSize = 284mm, horzRes = 2329, vertRes = 3358
trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "CourierNewPSMT"
trace:psdrv:PSDRV_SelectPen hpen = 0x60 colour = 00000000
trace:psdrv:PSDRV_SelectBrush hbrush = 0x44
trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "CourierNewPSMT"
trace:psdrv:PSDRV_SelectFont FaceName = L"MS Sans Serif" Height = -11 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "ArialMT"
trace:psdrv:PSDRV_SelectFont FaceName = L"MS Sans Serif" Height = -11 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "ArialMT"
trace:psdrv:PSDRV_SelectFont FaceName = L"MS Sans Serif" Height = -11 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "ArialMT"
trace:psdrv:PSDRV_SelectFont FaceName = L"MS Sans Serif" Height = -11 Italic = 0 Weight = 400




Последние 3 сообщения как-раз и повторяются бесконечно 
Comment 15 Vitaly Lipatov 2008-12-15 17:34:23 MSK
Упади на третьем повторе и узнай, какая функция зацикливается на поиске/переборе шрифтов.
Comment 16 Виталий Перов 2008-12-15 17:50:20 MSK
подозрение вызывает сообщение:
PSDRV_MergeDevmodes Trying to change to unsupported bin 7

Оно появляется, если в dmDefaultSource находится неподдерживаемое значение

В данном случае число 7 соответствует DMBIN_AUTO.
В коде идёт простой поиск перебором списка pi->ppd->InputSlots.
DMBIN_AUTO нигде не учитывается.

Сомневаюсь, что это исправление этого как-то окажет влияния на программу, но думаю, что это стоит реализовать


Comment 17 Виталий Перов 2008-12-15 20:41:24 MSK
Возникла проблема с генерацией исключения.

Программа сама ловит исключения, и в итоге не падает.

Пробовали с Антоном применить его патч по перехвату исключений - так и не удалось отключить перехват исключений Гарантом.

Переоткрываю багу 2521.
Если не срочно, то лучше отложить эту багу до исправления 2521
Comment 18 Andrey Vusik 2008-12-15 23:59:19 MSK
У клиента такой же гарант что и у нас. Говорит, что печатает корректно.
Comment 19 Виталий Перов 2008-12-16 15:32:54 MSK
(In reply to comment #18)
> У клиента такой же гарант что и у нас.
> Говорит, что печатает корректно.
> 

Судя по трейсу, зацикливается на выборе шрифта.
Если не сложно, хорошо бы узнать какие у клиента шрифты, и попробовать поставить такие же у нас. Возможно это решит проблему.
Comment 20 Денис Баранов 2009-03-31 12:02:57 MSD
На каком этапе решение проблемы?
eter15\eter10 Ошибка проявляется.
Comment 21 Виталий Перов 2009-04-04 16:59:10 MSD
Проверил ещё раз. Теперь программа ведёт себя по-другому. В консоле повторяется:

trace:psdrv:PSDRV_SelectFont FaceName = L"MS Sans Serif" Height = -11 Italic = 0 Weight = 400
trace:psdrv:get_download_name Got Mac PS name "ArialMT"
Comment 22 Виталий Перов 2009-04-04 17:58:54 MSD
1) Шрифт ищется в таблице замещений
physDev->pi->FontSubTable[i]. В данном случае таблица нулевой длины.


если шрифт найден, то используется шрифт устройства:
PSDRV_SelectBuiltinFont(physDev, hfont, &lf, FaceName);

если шрифт не найден, то используется GDI шрифт (в данном случае)
PSDRV_SelectDownloadFont(physDev)


Попробовал принудительно сделать замещение шрифта на "Arial".
Трейс изменился, но по-прежнему печать зацикливается:

trace:psdrv:PSDRV_SelectFont FaceName = L"MS Sans Serif" Height = -11 Italic = 0 Weight = 400
trace:psdrv:PSDRV_SelectBuiltinFont Trying to find facename 'Arial'
trace:psdrv:PSDRV_SelectBuiltinFont Got family 'Helvetica'
trace:psdrv:PSDRV_SelectBuiltinFont Got font 'Helvetica'
trace:psdrv:ScaleFont 'Helvetica' -11
trace:psdrv:ScaleFont Selected PS font 'Helvetica' size 11 weight 400.
trace:psdrv:ScaleFont H = 12 As = 10 Des = 2 IL = 1 EL = 0
fixme:psdrv:PSDRV_SelectFont use DEVICE font
Comment 23 Виталий Перов 2009-04-04 18:40:34 MSD
Удалось получить бактрейс вызова функции:
Backtrace:
=>0 0x7da9edf5 PSDRV_SelectFont+0x12b(physDev=0xf66e260, hfont=0x42c, gdiFont=0x1ea1e0) [/home/vitperov/Projects/wine-dev/dlls/wineps.drv/font.c:59] in wineps (0x01eee78c)
  1 0x7ec27d89 FONT_SelectObject+0x7f(handle=0x42c, hdc=0xab8c) [/srv/vitperov/Projects/wine-dev/dlls/gdi32/font.c:500] in gdi32 (0x01eee7ac)
  2 0x7ec3ea94 SelectObject+0x9e(hdc=0xab8c, hObj=<register ESI not in topmost frame>) [/srv/vitperov/Projects/wine-dev/dlls/gdi32/gdiobj.c:1044] in gdi32 (0x01eee7dc)
  3 0x004defa0 in f1shell.run (+0xdefa0) (0x01eee818)
Comment 24 Виталий Перов 2009-04-04 19:00:50 MSD
функция вызывается сразу несколько раз в цикле( около 15-20 раз), и только 1 из них относится к контексту принтера:

fixme:font:FONT_SelectObject handle = 0x3368, hdc = 780
fixme:font:FONT_SelectObject ret = 124
fixme:font:FONT_SelectObject handle = 0x42c, hdc = 27172
fixme:font:FONT_SelectObject ret = 124
fixme:font:FONT_SelectObject handle = 0x7c, hdc = 27172
fixme:font:FONT_SelectObject ret = 124
fixme:font:FONT_SelectObject handle = 0x7c, hdc = 27172
fixme:font:FONT_SelectObject ret = 124
fixme:font:FONT_SelectObject handle = 0x7c, hdc = 780
fixme:font:FONT_SelectObject ret = 13160
fixme:font:FONT_SelectObject handle = 0x42c, hdc = 23220
trace:psdrv:PSDRV_SelectFont FaceName = L"MS Sans Serif" Height = -11 Italic = 0 Weight = 400
fixme:psdrv:PSDRV_SelectFont times = 20
trace:psdrv:PSDRV_SelectBuiltinFont Trying to find facename 'Arial'
trace:psdrv:PSDRV_SelectBuiltinFont Got family 'Helvetica'
trace:psdrv:PSDRV_SelectBuiltinFont Got font 'Helvetica'
trace:psdrv:ScaleFont 'Helvetica' -11
trace:psdrv:ScaleFont Selected PS font 'Helvetica' size 11 weight 400.
trace:psdrv:ScaleFont H = 12 As = 10 Des = 2 IL = 1 EL = 0
fixme:psdrv:PSDRV_SelectFont use DEVICE font
fixme:font:FONT_SelectObject ret = 1068

возвращаемое значение:
ret = dc->hFont;

пробовал принудительно заменять возвращаемое значение 1068 на другое - ничего не изменилось. Значит дело не в нём

Comment 25 Виталий Перов 2009-04-04 19:43:32 MSD
Вообще печать ведёт себя очень странно.
Подсчёт страниц уходит в бесконечность, но при этом печать даже не начиналась: функция PSDRV_StartDoc не была вызвана.
Также ни разу не вызывались PSDRV_StartPage.

Возможно Гарант пытается что-то сделать ДО печати
Comment 26 Vitaly Lipatov 2009-04-04 19:51:32 MSD
Как было известно ещё с января 2007 года:
>для того, чтобы напечатать текущую страницу - нужно сначала документ подготовить к печати (разбить на страницы), а потом уже происходит печать. 
Важно отметить, что зацикливание происходит и при попытке предварительного просмотра.
Comment 27 Виталий Перов 2009-04-07 18:05:04 MSD
Необходимо проверить в новой версии Гаранта.
Comment 28 Денис Баранов 2009-04-11 00:31:49 MSD
(In reply to comment #27)
> Необходимо проверить в новой версии
> Гаранта.
> 

Обновил старый Гарант до новой версии, проблема осталась, счетчик страниц так же уходит в никуда.
Comment 29 Patsev Anton 2009-04-15 11:46:14 MSD
Баг подверждаю.

Гарант 7.02.1.058
Wine@Etersoft Public 1.0.9
Comment 30 Patsev Anton 2009-05-08 09:12:29 MSD
Также не работает на:

wine-1.0.9-eter43centos local

Гарант 7.03.1.031
Comment 31 Vitaly Lipatov 2009-06-08 19:06:10 MSD
Если выводить на печать текст, который влезает на одну страницу, получаем окно с ошибкой "Invalid floating point operation", и не зацикливаемся, а просто выходим из печати.
Comment 32 Виталий Перов 2009-06-16 15:19:36 MSD
(In reply to comment #31)
> Если выводить на печать текст, который
> влезает на одну страницу, получаем окно с
> ошибкой "Invalid floating point operation", и не
> зацикливаемся, а просто выходим из печати.
> 

Пробовал воспроизвести в Гаранте 7.02.1.058 - не получилось. Сообщения об ошибке нет. Подсчёт страниц уходит в бесконечность.

Статья "обзорная информация и рекомендации".

Возможно воспроизводится на каком-то другом принтере?
Comment 33 Денис Баранов 2009-06-16 17:17:40 MSD
(In reply to comment #32)
> Пробовал воспроизвести в Гаранте 7.02.1.058 - не
> получилось. Сообщения об ошибке нет.
> Подсчёт страниц уходит в бесконечность.
Видимо текст не влез на 1стр..

> Возможно воспроизводится на каком-то
> другом принтере?
> 
Воспроизводится в бутылке garant/garant.
Зайти в "Моя информация">"Мои консультации">"Ответы", там 2 документа. На любом из них воспроизводится.
Comment 34 Виталий Перов 2009-06-16 19:03:42 MSD
Да, воспроизвёл.
Только проблему решить это никак не помогает.
Программа использует внутренний алгоритм перехвата исключений, и не выводит ничего в консоль. Пробовал устроить принудительное падение - результат такой же.

Пробовал подключаться отладчиком - тоже ничего не выходит. В программе постоянно возникают исключения (возможно специально генерируются), и отладчик так и не доходит до нужного места
Comment 35 Денис Баранов 2009-06-25 17:51:52 MSD
Сделал и выложил для скачивания Виртуальную Машину для Гаранта: ftp.etersoft.ru/pub/peoples/baraka/LINUX@Etersoft.rar
Comment 36 Виталий Перов 2009-07-15 19:21:33 MSD
Недавно система печати была немного изменена.
Хорошо бы ещё раз проверить не исчезла ли бага.
Comment 37 Patsev Anton 2009-07-15 19:44:58 MSD
(In reply to comment #36)
> Недавно система печати была немного
> изменена.
> Хорошо бы ещё раз проверить не исчезла ли
> бага.
> 

На какой версии проверить?
Comment 38 Виталий Перов 2009-07-15 21:10:39 MSD
Скоро выйдет новый релиз 1.0.10-26/19. Вот на нём и хорошо бы проверить.
Comment 39 Patsev Anton 2009-07-16 05:19:39 MSD
(In reply to comment #38)
> Скоро выйдет новый релиз 1.0.10-26/19. Вот на нём
> и хорошо бы проверить.
>

Ну вот когда выйдет, тогда и проверим.
Comment 40 Patsev Anton 2009-07-21 08:15:39 MSD
WINE@Etersoft 1.0 Local 1.0.11-eter1/1
Также уходит в цикл по подсчету страниц.
Comment 41 Денис Баранов 2009-07-23 16:25:25 MSD
Корректировка зависимостей.
Comment 42 Денис Баранов 2009-10-13 18:40:18 MSD
Печать работает, исправлена за счет решения eterbug#4254

WINE@Etersoft 1.0.11 eter9/eter5
Comment 43 Patsev Anton 2009-10-13 19:14:07 MSD
УРА! Надо скачать/потестить.