ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Gleb Kulikov <glebus@asd.iao.ru>
To: sisyphus@lists.altlinux.org
Subject: [sisyphus] О неработе принтера Epson L222 в П9 и Сиифе :: Re:  извещения, KWorkstation9
Date: Fri, 31 Jul 2020 03:30:18 +0700
Message-ID: <5882881.QxhxfNjCap@yarilin> (raw)
In-Reply-To: <24948cf8-c361-892a-52f9-dc9cfb8fa06d@altlinux.org>

В письме от четверг, 2 июля 2020 г. 02:28:48 +07 пользователь Andrey 
Cherepanov написал:

> > 
> > PS: не работают драйвера (точнее, падает фильтр) для epson L222. Дата
> > сборки -- 2015 г. это уже сверхпечально...
> 
> Что за пакет?

Ситуация следующая. L222 (как и подобный сверхпопулярный L300) поддерживается 
только проприетарным фильтром epson-inkjet-
printer-20140~-1.0.0-1lsb3.2.x86_64.rpm (исходный текст epson-inkjet-
printer-201401w-1.0.0-1lsb3.2.src.rpm включает загрузку проприетарной 
библиотеки, требующей lsb-base.) Проблем с ней, до П9, не было. С cups 2.3.1, 
печати нет: фильтр падает по SIGSEGV.

Я частично разобрался, что происходит. Фильтр (и проприетарная Эпсоновская 
библиотека) ни при чём!

При ближайшем рассмотрении выяснилось, что падение происходит при попытке 
освободить память, которая должна была быть выделена при чтении заголовка 
растра функцией cupsRasterReadHeader около строки 387 файла raster_to_epson.c 
фильтра.

А возникает падение потому, что неоткуда читать заголовок. Растр фильтру 
попросту не передаётся! Я убедился, что вместо растра, фильтр читает из stdin 
всего 4 байта. Насколько я понимаю, ломается то-ли gstopdf, то ли  pdftopdf, 
то ли gstoraster.

Я так понимаю, присутствует несогласованность gs и версии cups?

Я внёс изменеие в текст фильтра, чтобы в подобных ситуациях падение не 
возникало, естественно, от этого не стало легче.

Сравнение отладки с работающей и неработающей системы показывает, что

1. в *работающем* варианте *не* вызывается фильтр watermark

2. в *работающем* варианте gstopdf *не* получает опций  print-color-mode=color 
и output-bin=face-up

3. в НЕ работающем варианте в логе пишется

PPD: /etc/cups/ppd/L222.ppd
OUTFORMAT=\"PDF\", so output format will be PDF

а в *работающем*:
PPD: /etc/cups/ppd/L222.ppd
OUTFORMAT=\"(null)\", so output format will be CUPS/PWG Raster
OUTFORMAT=\"PDF\", so output format will be PDF

в НЕработающей печати, в протоколе присутствует извещение:
Input is empty, outputting empty file.

4. в работающем варианте в командной строке
Ghostscript command line: /usr/bin/gs -dQUIET -dSAFER -dNOPAUSE -dBATCH -
dNOINTERPOLATE -dNOMEDIAATTRS -sstdout=%stderr -sOutputFile=%stdout -
sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoRotatePages=/None -
dAutoFilterColorImages=false -dNOPLATFONTS -dColorImageFilter=/FlateEncode -
dPDFSETTINGS=/printer -dColorConversionStrategy=/LeaveColorUnchanged -r360x360 
-dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=841 -I/usr/share/cups/fonts -c 
\'<</.HWMargins[8.400000 8.400000 8.399963 8.400024] /Margins[0 
0]>>setpagedevice\' -f -_

также *присутствует* опция  -dPARANOIDSAFER , тогда как в НЕ работающем 
варианте, её нет.

5. Наконец, в НЕ работающей системе присутствует характерное сообщение:

[Job 11] Error: /ioerror in --showpage--
[Job 11] Operand stack:
[Job 11] true   1   true
[Job 11] Execution stack:
[Job 11] %interp_exit   .runexec2   --nostringval--   showpage   --
nostringval--   2   %stopped_push   --nostringval--   showpage   showpage   
false   1   %stopped_push   1974   2   3   %oparray_pop   1973   2   3   
%oparray_pop   1961   2   3   %oparray_pop   1817   2   3   %oparray_pop   --
nostringval--   %errorexec_pop   .runexec2   --nostringval--   showpage   --
nostringval--   2   %stopped_push   --nostringval--   1824   1   5   
%oparray_pop   showpage   showpage
[Job 11] Dictionary stack:
[Job 11] --dict:738/1123(ro)(G)--   --dict:0/20(G)--   --dict:76/200(L)--   --
dict:68/75(L)--   --dict:19/25(L)--
[Job 11] Current allocation mode is local
[Job 11] Last OS error: Broken pipe
[Job 11] GPL Ghostscript RELEASE CANDIDATE 1 9.28: Unrecoverable error, exit 
code 1
[Job 11] GPL Ghostscript RELEASE CANDIDATE 1 9.28: ERROR: ioerror (-12) on 
closing pdfwrite device.
[Job 11] PID 459094 (/usr/lib/cups/filter/gstopdf) stopped with status 1.
[Job 11] PID 459101 (/usr/lib/cups/backend/usb) exited with no errors.

Я так понимаю, присутствует несогласованность gs и версии cups?
И что с этим делать? :( :(

Вот результат сравнение протоколов с НЕ работьающей ситсемы (cups 2/3/1) и 
работающей (cups 2.2.12):

5 filters for job:
[Job 11] gstopdf (application/postscript to application/pdf, cost 0)

[Job 11] watermark (application/pdf to application/vnd.alt-pdf-water, cost 0)
!!!! фильтра watermark нет в печатающем варианте

[Job 11] pdftopdf (application/vnd.alt-pdf-water to application/vnd.cups-pdf, 
cost 2)
[Job 11] gstoraster (application/vnd.cups-pdf to application/vnd.cups-raster, 
cost 99)
[Job 11] /opt/epson-inkjet-printer-201401w/cups/lib/filter/
epson_inkjet_printer_filter (application/vnd.cups-raster to printer/L222, cost 
0)

argv[5]="Collate finishings=3 fit-to-page job-billing media=A4 number-up=1 
number-up-layout=lrtb output-bin=face-up outputorder=normal page-bottom=10 
page-left=10 page-right=10 page-top=10 portrait print-color-mode=color 
sides=one-sided job-uuid=urn:uuid:1c9a3e50-94d8-3a2a-509e-6ac126cc06d4 job-
originating-host-name=localhost date-time-at-creation= date-time-at-
processing= time-at-creation=1594883467 time-at-processing=1594883468 
document-name-supplied=okular_nFnNPv.ps PageSize=A4"
!!! в работающем варианте нет output-bin=face-up

envp[11]="SOFTWARE=CUPS/2.3.1" !!! --- НЕ РАБОТАЕТ !!!

envp[11]="SOFTWARE=CUPS/2.2.12" !!! --- РАБОТАЕТ !!!

[Job 11] Started filter /usr/lib/cups/filter/gstopdf (PID 459094)

[Job 11] Started filter /usr/lib/cups/filter/watermark (PID 459096)
!!! в работающем варианте нет фильтра watermark!

[Job 11] Started filter /usr/lib/cups/filter/pdftopdf (PID 459097)
[Job 11] Started filter /usr/lib/cups/filter/gstoraster (PID 459098)
[Job 11] Started filter /opt/epson-inkjet-printer-201401w/cups/lib/filter/
epson_inkjet_printer_filter (PID 459099)
[Job 11] Started backend /usr/lib/cups/backend/usb (PID 459101)

[Job 11] gstopdf argv[6] = 11 gleb dddTips.pdf 1 Collate finishings=3 fit-to-
page job-billing media=A4 number-up=1 number-up-layout=lrtb output-bin=face-up 
outputorder=normal page-bottom=10 page-left=10 page-right=10 page-top=10 
portrait print-color-mode=color sides=one-sided job-uuid=urn:uuid:
1c9a3e50-94d8-3a2a-509e-6ac126cc06d4 job-originating-host-name=localhost date-
time-at-creation= date-time-at-processing= time-at-creation=1594883467 time-
at-processing=1594883468 document-name-supplied=okular_nFnNPv.ps PageSize=A4 /
var/spool/cups/d00011-001
!!! print-color-mode=color !!! --- НЕТ В РАБОТАЮЩЕМ ВАРИАНТЕ !!!
!!! output-bin=face-up !!! --- НЕТ В РАБОТАЮЩЕМ ВАРИАНТЕ !!!

[Job 11] PPD: /etc/cups/ppd/L222.ppd
[Job 11] OUTFORMAT=\"PDF\", so output format will be PDF
!!!
!!! в работающем варианте:
[Job 11] PPD: /etc/cups/ppd/L222.ppd
[Job 11] OUTFORMAT=\"(null)\", so output format will be CUPS/PWG Raster
[Job 11] OUTFORMAT=\"PDF\", so output format will be PDF

[Job 11] Printing on printer with URI: usb://EPSON/L222%20Series?
serial=574E33503135313512&interface=1

[Job 11] pdftopdf: Last filter determined by the PPD: 
epson_inkjet_printer_filter; FINAL_CONTENT_TYPE: application/vnd.cups-raster 
=> pdftopdf will not log pages in page_log.

[Job 11] Input is empty, outputting empty file.
!!! --- ????? В работающей системе такого НЕТ !!!

[Job 11] PID 459097 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
[Job 11] libusb_get_device_list=9
[Job 11] Input is empty, outputting empty file.
[Job 11] PID 459098 (/usr/lib/cups/filter/gstoraster) exited with no errors.

[Job 11] Ghostscript using Any-Part-of-Pixel method to fill paths.

[Job 11] Ghostscript command line: /usr/bin/gs -dQUIET -dSAFER -dNOPAUSE -
dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -sstdout=%stderr -sOutputFile=%stdout -
sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoRotatePages=/None -
dAutoFilterColorImages=false -dNOPLATFONTS -dColorImageFilter=/FlateEncode -
dPDFSETTINGS=/printer -dColorConversionStrategy=/LeaveColorUnchanged -r360x360 
-dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=841 -I/usr/share/cups/fonts -c 
\'<</.HWMargins[8.400000 8.400000 8.399963 8.400024] /Margins[0 
0]>>setpagedevice\' -f -_
!!! --- в работающем варианте также присутствует опция -dPARANOIDSAFER  !!!


[Job 11] envp[0]=\"OUTFORMAT=PDF\"
[Job 11] envp[1]=\"CUPS_DOCROOT=/usr/share/doc/cups\"
[Job 11] envp[2]=\"CUPS_CACHEDIR=/var/cache/cups\"
[Job 11] envp[3]=\"LANG=ru_RU.UTF-8\"
[Job 11] envp[4]=\"CUPS_ENCRYPTION=IfRequested\"
[Job 11] envp[5]=\"PRINTER_INFO=Epson MFU\"
[Job 11] envp[6]=\"CUPS_FILETYPE=document\"
[Job 11] envp[7]=\"CUPS_REQUESTROOT=/var/spool/cups\"
[Job 11] envp[8]=\"SERVER_ADMIN=root@hypatia.athena.gtsk\"
[Job 11] envp[9]=\"CUPS_SERVERBIN=/usr/lib/cups\"
[Job 11] envp[10]=\"CUPS_MAX_MESSAGE=2047\"
[Job 11] envp[11]=\"USER=root\"
[Job 11] envp[12]=\"CUPS_DATADIR=/usr/share/cups\"
[Job 11] envp[13]=\"PWD=/\"
[Job 11] envp[14]=\"HOME=/var/spool/cups/tmp\"
[Job 11] envp[15]=\"PRINTER_LOCATION=H77.01\"
[Job 11] envp[16]=\"RIP_MAX_CACHE=128m\"
[Job 11] envp[17]=\"CONTENT_TYPE=application/postscript\"
[Job 11] envp[18]=\"CHARSET=utf-8\"
[Job 11] envp[19]=\"IPP_PORT=631\"
[Job 11] envp[20]=\"TMPDIR=/var/spool/cups/tmp\"
[Job 11] envp[21]=\"CUPS_STATEDIR=/var/run/cups\"
[Job 11] envp[22]=\"CUPS_FONTPATH=/usr/share/cups/fonts\"
[Job 11] envp[23]=\"CUPS_SERVERROOT=/etc/cups\"
[Job 11] envp[24]=\"PPD=/etc/cups/ppd/L222.ppd\"
[Job 11] envp[25]=\"SOFTWARE=CUPS/2.3.1\"
[Job 11] envp[26]=\"CUPS_SERVER=/var/run/cups/cups.sock\"
[Job 11] envp[27]=\"SHLVL=1\"
[Job 11] envp[28]=\"PRINTER=L222\"
[Job 11] envp[29]=\"FINAL_CONTENT_TYPE=application/vnd.cups-raster\"
[Job 11] envp[30]=\"DEVICE_URI=usb://EPSON/L222%20Series?
serial=574E33503135313512&interface=1\"
[Job 11] envp[31]=\"PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/
bin\"
[Job 11] envp[32]=\"AUTH_INFO_REQUIRED=none\"
[Job 11] envp[33]=\"PRINTER_STATE_REASONS=none\"
[Job 11] envp[34]=\"_=/usr/lib/cups/filter/gstoraster\"

[Job 11] Sent 0 bytes...
!!! В работающем варианте просто отправка !!!

[Job 11] PID 459099 (/opt/epson-inkjet-printer-201401w/cups/lib/filter/
epson_inkjet_printer_filter) crashed on signal 5.
!!! краш: даже ещё не вызывается проприетарная библиотека. Краш вызван 
попыткой освободиь выделенную под
растр память, кототрая не была по факту выделена, так как РАСТР НЕ БЫЛ ПЕРЕДАН 
ФИЛЬТРУ !!!

[Job 11] Error: /ioerror in --showpage--
[Job 11] Operand stack:
[Job 11] true   1   true
[Job 11] Execution stack:
[Job 11] %interp_exit   .runexec2   --nostringval--   showpage   --
nostringval--   2   %stopped_push   --nostringval--   showpage   showpage   
false   1   %stopped_push   1974   2   3   %oparray_pop   1973   2   3   
%oparray_pop   1961   2   3   %oparray_pop   1817   2   3   %oparray_pop   --
nostringval--   %errorexec_pop   .runexec2   --nostringval--   showpage   --
nostringval--   2   %stopped_push   --nostringval--   1824   1   5   
%oparray_pop   showpage   showpage
[Job 11] Dictionary stack:
[Job 11] --dict:738/1123(ro)(G)--   --dict:0/20(G)--   --dict:76/200(L)--   --
dict:68/75(L)--   --dict:19/25(L)--
[Job 11] Current allocation mode is local
[Job 11] Last OS error: Broken pipe
[Job 11] GPL Ghostscript RELEASE CANDIDATE 1 9.28: Unrecoverable error, exit 
code 1
[Job 11] GPL Ghostscript RELEASE CANDIDATE 1 9.28: ERROR: ioerror (-12) on 
closing pdfwrite device.
[Job 11] PID 459094 (/usr/lib/cups/filter/gstopdf) stopped with status 1.
[Job 11] PID 459101 (/usr/lib/cups/backend/usb) exited with no errors.
[Job 11] Job stopped due to filter errors; please consult the /var/log/cups/
error_log file for details.
[Job 11] The following messages were recorded from 14:11:08 to 14:11:09
[Job 11] Mapping media to Pagesize=A4
[Job 11] After mapping finishings PageSize=A4
[Job 11] Printer found with device ID: 
MFG:EPSON;CMD:ESCPL2,BDC,D4,D4PX,END4;MDL:L222 Series;CLS:PRINTER;DES:EPSON 
L222 Series;CID:EpsonStd10;FID:FXN,DPN,WFN,ETN,AFN,DAN,WRN;RID:00;DDS:
011180;ELG:0E64; Device URI: usb://EPSON/L222%20Series?
serial=574E33503135313512&interface=1
[Job 11] End of messages
[Job 11] printer-state=3(idle)
[Job 11] printer-state-message="Отправка данных на принтер."
[Job 11] printer-state-reasons=none
[Job 11] Unloading...

Надеюсь на помощь...



-- 
С уважением, /GL

  parent reply	other threads:[~2020-07-30 20:30 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-29 17:04 [sisyphus] " Gleb Kulikov
2020-06-29 17:28 ` Vladimir Didenko
2020-06-29 17:52   ` Gleb Kulikov
2020-06-30 11:59     ` Anton Farygin
2020-06-30 15:28       ` Gleb Kulikov
2020-06-30 18:53         ` Anton Farygin
2020-07-01  9:33           ` Gleb Kulikov
2020-07-30 20:30               ` Gleb Kulikov [this message]
2020-07-30 20:42                 ` [sisyphus] О неработе принтера Epson L222 в П9 и Сизифе Michael Shigorin
2020-07-31  8:31                 ` [sisyphus] О неработе принтера Epson L222 в П9 и Сиифе :: Re: извещения, KWorkstation9 Anton V. Boyarshinov
2020-07-31 11:13                   ` Gleb Kulikov
2020-07-31 13:22                     ` Anton V. Boyarshinov
2020-08-04 14:53                       ` Михаил Новоселов
2020-08-05  8:51                         ` Anton V. Boyarshinov
2020-08-03 12:30                     ` Michael Shigorin
2020-08-04 10:07                       ` glebus
2020-06-29 17:50   ` [sisyphus] " Gleb Kulikov
2020-06-29 18:07       ` Gleb Kulikov
2020-06-29 18:15           ` Gleb Kulikov
2020-06-29 20:16           ` [sisyphus] [JT] " Alexei V. Mezin
2020-06-30  9:09             ` Andrey Cherepanov
2020-07-05 22:19           ` [sisyphus] jitsi-meet (was: извещения, KWorkstation9) Paul Wolneykien
2020-07-05 22:55               ` Paul Wolneykien
2020-07-06  5:29                   ` [sisyphus] jitsi-meet Anton Farygin
2020-07-06  7:03                     ` Denis Medvedev
2020-07-06 11:29                       ` Paul Wolneykien
2020-07-06 12:00                         ` Paul Wolneykien
2020-07-07 12:02                           ` Anton V. Boyarshinov
2020-07-07 13:56                             ` Paul Wolneykien
2020-07-07 15:22                               ` Anton Farygin
2020-07-07 15:26                                 ` Anton Farygin
2020-06-29 20:24         ` [sisyphus] извещения, KWorkstation9 Михаил Новоселов
2020-06-30  7:53     ` Sergey V Turchin
2020-06-30 15:26       ` Gleb Kulikov
2020-06-30  7:51 ` Sergey V Turchin
2020-06-30 15:16   ` Gleb Kulikov
2020-06-30 18:54     ` Anton Farygin
2020-07-01  9:41       ` Gleb Kulikov
2020-07-02  5:43         ` Anton Farygin
2020-07-02  6:04           ` Gleb Kulikov
2020-07-02  8:43             ` Anton Farygin
2020-07-02  8:47             ` Sergey V Turchin
2020-07-02  8:51               ` Gleb Kulikov
2020-08-01 14:27             ` glebus
2020-07-02  8:42     ` Sergey V Turchin
2020-07-02  8:50       ` Gleb Kulikov
2020-07-02  9:02         ` Sergey V Turchin
2020-08-01 14:12   ` glebus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5882881.QxhxfNjCap@yarilin \
    --to=glebus@asd.iao.ru \
    --cc=sisyphus@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git