Broken pipe ошибка при печати

I am trying to print a list of tuples formatted in my stdout. For this, I use the str.format method. Everything works fine, but when I pipe the output to see the
first lines using the head command a IOError occurs.

Here is my code:

# creating the data
data = []$
for i in range(0,  1000):                                            
  pid = 'pid%d' % i
  uid = 'uid%d' % i
  pname = 'pname%d' % i
  data.append( (pid, uid, pname) )

# find max leghed string for each field
pids, uids, pnames = zip(*data)
max_pid = len("%s" % max( pids) )
max_uid = len("%s" % max( uids) )
max_pname = len("%s" % max( pnames) )

# my template for the formatted strings
template = "{0:%d}t{1:%d}t{2:%d}" % (max_pid, max_uid, max_pname)

# print the formatted output to stdout
for pid, uid, pname in data:
  print template.format(pid, uid, pname)

And here is the error I get after running the command: python myscript.py | head

Traceback (most recent call last):
  File "lala.py", line 16, in <module>
    print template.format(pid, uid, pname)
IOError: [Errno 32] Broken pipe

Can anyone help me on this?

I tried to put print in a try-except block to handle the error,
but after that there was another message in the console:

close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr

I also tried to flush immediately the data through a two consecutive
sys.stdout.write and sys.stdout.flush calls, but nothing happend..

Hi! @RxWiz, Welcome to HP forums.

I understand that you get broken pipe error on your printer.

Don’t worry I will try to help you out.

Did you make any changes on your printer or MAC?

Please try the steps recommended below.

Reset the printing system:

— Go to System Preferences > Print & Scan
— Right (or control) click in the rectangle listing your printers and select Reset Printing System.
WARNING — this will delete ALL of your printers!
— Select the plus sign to re-add a printer. Select the Default tab on the top of the window. Look for the printer, select it and then next to the «Use» pulldown, select the printer model (not AirPrint). Wait until the «Add» button becomes available. Click it.

Let me know how it goes!

Have a great day ahead! :slightly_smiling_face:

A4Apollo
I am an HP Employee

Примечание: аналогичный вопрос был опубликован много лет назад. Однако procudure отладки, предоставляемые длинный ответ не помочь. И последних сообщений, якобы решение для него очень сложным. Итак, я здесь, снова опубликуйте вопрос.

принтер подключен через socket://ip.of.printer:9100. Модель принтера LaserJet P4015n. Мой компьютер работает под управлением Arch Linux. Версия связанных модулей cup:

cups-2.0.4-1-x86_64
cups-filters-1.0.71-1
cups-pk-helper-0.2.5-1
libcups-2.0.4-1
python-pycups-1.9.73-1

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

при отладке, # nc -vz ip.of.printer 9100 нормальное подключение,

...[ip.of.printer] 9100 (hp-pdl-datastr) open

проверка /var/log/cups/error_log, только сообщение было

E [22/Aug/2015:01:15:33 +0800] [Job 35] Unable to write print data: Broken pipe

и принтер, связанные с результатом tcpdump публикуется как показано ниже(localhost имя Saturn, я проследила Saturn.57142 из-за его связи с HP LaserJet P4015):

00:42:12.748387 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(28)  25.3.2.1.3.1
00:42:12.753755 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(45)  25.3.2.1.3.1="HP LaserJet P4015"
00:42:12.753904 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(27)  43.12.1.1.4
00:42:12.758850 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(34)  43.12.1.1.4.1.1="black"
00:42:12.758900 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.12.1.1.4.1.1
00:42:12.763940 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(30)  43.12.1.1.5.1.1=8
00:42:12.764116 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(28)  25.3.5.1.2.1
00:42:12.771071 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(29)  25.3.5.1.2.1=00
00:42:12.771123 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(29)  43.10.2.1.4.1.1
00:42:12.775906 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(32)  43.10.2.1.4.1.1=51928

00:42:12.838656 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(27)  43.11.1.1.9
00:42:12.843572 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(31)  43.11.1.1.9.1.1=9120
00:42:12.843675 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.11.1.1.9.1.1
00:42:12.848515 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(32)  43.11.1.1.9.1.2=173092
00:42:12.848630 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.11.1.1.9.1.2
00:42:12.854099 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(30)  43.12.1.1.2.1.1=1
00:42:12.854138 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(28)  25.3.5.1.2.1
00:42:12.861080 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(29)  25.3.5.1.2.1=00


00:42:13.261306 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(27)  43.11.1.1.9
00:42:13.266306 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(31)  43.11.1.1.9.1.1=9120
00:42:13.266332 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.11.1.1.9.1.1
00:42:13.271211 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(32)  43.11.1.1.9.1.2=173092
00:42:13.271254 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetNextRequest(29)  43.11.1.1.9.1.2
00:42:13.276577 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(30)  43.12.1.1.2.1.1=1
00:42:13.276675 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(28)  25.3.5.1.2.1
00:42:13.283540 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(29)  25.3.5.1.2.1=00
00:42:13.283623 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp:  GetRequest(29)  43.10.2.1.4.1.1
00:42:13.288444 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142:  GetResponse(32)  43.10.2.1.4.1.1=51928

любая идея, как решить эту проблему?

Примечание: аналогичный вопрос был опубликован несколько лет назад. И все же отладочная процедура, предоставленная длинным ответом, не помогла. И последнее опубликованное, якобы, решение для него очень не интуитивно понятно. Итак, я здесь, опубликуйте вопрос еще раз.

Мой принтер подключен через socket://ip.of.printer:9100. Модель принтера LaserJet P4015n. Мой компьютер работает под управлением Arch Linux. Версия связанных с чашкой модулей:

cups-2.0.4-1-x86_64 cups-filters-1.0.71-1 cups-pk-helper-0.2.5-1 libcups-2.0.4-1 python-pycups-1.9.73-1 

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

При отладке, # nc -vz ip.of.printer 9100возвращая нормальное соединение,

...[ip.of.printer] 9100 (hp-pdl-datastr) open 

Проверка /var/log/cups/error_log, только связанное сообщение было

E [22/Aug/2015:01:15:33 +0800] [Job 35] Unable to write print data: Broken pipe 

И результат, связанный с принтером, tcpdumpпубликуется, как показано ниже (имя локального хоста Saturn, я проследил Saturn.57142из-за его связи с HP LaserJet P4015):

00:42:12.748387 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetRequest(28) 25.3.2.1.3.1 00:42:12.753755 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(45) 25.3.2.1.3.1="HP LaserJet P4015" 00:42:12.753904 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetNextRequest(27) 43.12.1.1.4 00:42:12.758850 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(34) 43.12.1.1.4.1.1="black" 00:42:12.758900 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetNextRequest(29) 43.12.1.1.4.1.1 00:42:12.763940 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(30) 43.12.1.1.5.1.1=8 00:42:12.764116 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetRequest(28) 25.3.5.1.2.1 00:42:12.771071 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(29) 25.3.5.1.2.1=00 00:42:12.771123 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetRequest(29) 43.10.2.1.4.1.1 00:42:12.775906 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(32) 43.10.2.1.4.1.1=51928  00:42:12.838656 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetNextRequest(27) 43.11.1.1.9 00:42:12.843572 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(31) 43.11.1.1.9.1.1=9120 00:42:12.843675 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetNextRequest(29) 43.11.1.1.9.1.1 00:42:12.848515 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(32) 43.11.1.1.9.1.2=173092 00:42:12.848630 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetNextRequest(29) 43.11.1.1.9.1.2 00:42:12.854099 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(30) 43.12.1.1.2.1.1=1 00:42:12.854138 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetRequest(28) 25.3.5.1.2.1 00:42:12.861080 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(29) 25.3.5.1.2.1=00   00:42:13.261306 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetNextRequest(27) 43.11.1.1.9 00:42:13.266306 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(31) 43.11.1.1.9.1.1=9120 00:42:13.266332 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetNextRequest(29) 43.11.1.1.9.1.1 00:42:13.271211 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(32) 43.11.1.1.9.1.2=173092 00:42:13.271254 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetNextRequest(29) 43.11.1.1.9.1.2 00:42:13.276577 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(30) 43.12.1.1.2.1.1=1 00:42:13.276675 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetRequest(28) 25.3.5.1.2.1 00:42:13.283540 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(29) 25.3.5.1.2.1=00 00:42:13.283623 IP Saturn.57142 > NPI7B3356.DynIP.ntu.edu.sg.snmp: GetRequest(29) 43.10.2.1.4.1.1 00:42:13.288444 IP NPI7B3356.DynIP.ntu.edu.sg.snmp > Saturn.57142: GetResponse(32) 43.10.2.1.4.1.1=51928 

Есть идеи, как решить проблему?


1 ответ на вопрос

Chong

2015-10-26 в 14:22

Иногда проблема с оборудованием на самом деле — просто проблема с оборудованием … В моем случае оказалось, что наша школа изменила способ организации заданий на печать. Они заблокировали прямую печать, возможно, через политику брандмауэра. И перенаправить все задания на печать через центральный сервер с протоколом SAMBA. Следовательно, я могу пропинговать офисный принтер, но не могу отправлять данные печати на принтер. В конечном итоге проблема была решена после обращения к ИТ-специалистам и перенастройки моего компьютера в соответствии с их изменениями.

Если вы столкнулись с подобной проблемой и не можете выяснить ее источник с вашей стороны. Возможно, вам следует обратиться к ИТ-персоналу вашей компании / организации. Может быть, они просто изменили некоторые настройки, не сообщая вам.


Благодаря @ColeBusby, одним из способов проверить, действительно ли проблема вызвана ограничением компании / организации на прямое подключение к принтеру через порт 9100, является использование

telnet [ip.of.the.printer] 9100 

в вашем терминале. Если вывод

Trying 172.21.48.223... Connected to 172.21.48.223. Escape character is '^]'. 

И сразу же за ним следует соединение, закрытое сторонним хостом.

Тогда ясно, что вы успешно получили доступ к принтеру, и все же принтер отклонил ваш доступ через порт 9100. Когда это произойдет, попросите ИТ-персонал проверить, не изменилась ли политика, и не указать, как настроить новую систему печати.

Похожие вопросы

  • 1
    Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?


  • 1
    Полстраничные распечатки на Synology DS207 +


  • 3
    Печать на Dell V305W с Mac



  • 2
    Как поделиться неподдерживаемым (для Mac) принтером через ПК?


  • 1
    Citzen Драйверы для принтеров этикеток для Mac


  • 2
    Принтер с совместимостью с большинством операционных систем Plug-and-Play


  • 2
    Vista забывает принтер по умолчанию после перезагрузки


  • 6
    Общий драйвер Post Script для Windows Vista x64?


  • 1
    Как настроить цветной принтер по умолчанию на черно-белую печать?


  • 5
    Почему мой текущий принтер недоступен в Office?


The HP Printer Error Broken Pipe chiefly occurs when there is a network failure or the transmission barrier between the device and the network. For understanding the error you should know what a pipe is, pipe here refers to the medium through which the communication between the two processes takes place. If the pipe from one end of the process gets closed due to certain reasons like the process on one end is killed or died, then the error “Unable to write print data: Broken pipe” message appears on the screen. Here we will discuss about the causes and the troubleshooting for this HP Printer Error Message in detail.

HP Printer Error Broken Pipe

Causes Broken Pipe Error Message HP Printer

Reasons for HP Printer Error Broken Pipe To Occur

There could be N number of reasons for the error to occur but some of the reasons that are the main cause for this error are:

  • Loss of the IP address during the print operation.
  • Loaded Queue
  • Intrusion or intervention during the print operation being performed.
  • When you are working on a Local Area Network and suddenly the network is lost or for the wifi printing setup.
  • Operating system is not capable to write the data to the printer.
  • Corrupt Files in the Common UNIX printing system.
  • When you make changes to your system and the printer.

Troubleshooting Steps HP Printer Error Broken Pipe

Troubleshooting:

To solve this issue you need to reset your printer, Install using the IP address, check for the supported drivers of printer or unload the loaded queue.

How to Reset The HP Printer For Broken Pipe Error For Windows System

To resolve the issue follow the steps provided below:

  • You need to reset your printing system and then re-add it for it’s proper functioning.
  • Go to the Control panel and open the system preferences.
  • Then select the Print and Fax option.
  • Next you need to right click on the blank space near where the list of printer is displayed.
  • Once u right click a pop-up box appears that shows the for reset print system.
  • Now click on the reset print system option so that the operating system can restore all the common UNIX printing files to the default settings.
  • After doing this the print queues will be removed.
  • Now reboot your system and add the printer.

For the MAC operating system the error message that is displayed is: “Stopped unable to write print data broken pipe macbook pro hp color LaserJet cp4525 printers”. Follow the steps to solve the issue for MAC.

Reset Printing System function in Mac OS To Resolve The Broken Pipe Error

  • First go to the apple menu and select the system preferences.
  • Then go to the view menu and select the Print & Fax option.
  • Next click on the remove printer button which looks like this (“-”).
  • If there is no printer then click on the add printer button(“+”).
  • Further go to the contextual menu and select the reset printing option.
  • Once you are done with it reboot your system.
  • Check for the latest drivers for your printer install them and start printing the files.

Note: You may also need to repossess your network settings from the control panel. So for this in the settings option of the printer use the hps wifi auto config.

Install A Printer Using IP Address

  • Go to the start menu and in the search box enter advance print.
  • Select the advanced printer setup option and choose the printer.
  • Next click on the Add a printer using a TCP/IP address or hostname option and click on the next button.
  • After that in the device type list select the TCP/IP and enter the IP address of the printer.
  • Further from the drop down list choose the network adapter which is installed in your printer.
  • Once you are done with it windows will prompt you to install the drivers and then you can print via IP address.

Unload The Loaded Queue

  • For this you will have to turn off your computer and remove the power supply.
  • Make sure you save the docs you wanted to print as all the data will be removed from the queue and the unsaved docs will also be removed.
  • Next click on the window button and open the window services.
  • Further select the print spooler option and choose the stop option.
  • Now delete all the files from the queue and shut down your system.
  • Reboot your system and the printer and start printing.

Scope of Services

  • One stop destination for queries.
  • Quick Response of each query asked by Printer Technical Support team
    .
  • Guaranteed and excellent customer satisfaction.
  • Highly qualified and capable team to provide best solutions.
  • 24*7 Online Tech support available on Toll Free Technical Support For Printer .

May 30, 2018November 28, 2019

Понравилась статья? Поделить с друзьями:
  • Broke pod monitoring ошибка на приборной панели фольксваген
  • Broadcom xd picture bus driver ошибка
  • Brink ошибка при запуске приложения
  • Brightdata exe ошибка приложения 0xc0000142
  • Bright memory infinite ошибка при запуске