Skip to content

foomatic-rip crashes on titles with some special characters on Ricoh PS PPDs #52

@akorobkin

Description

@akorobkin

Describe the bug
Job title TPS7A52 2-A, High-Accuracy (0.5%), Low-Noise (4.4 µVRMS), LDO Voltage Regulator datasheet (Rev. A) consistently crashes foomatic-rip filter.

To Reproduce
Steps to reproduce the behavior:

  1. Open attached PDF, or generate your own with this title. TPS7A52 2-A, High-Accuracy (0.5%), Low-Noise (4.4 µVRMS), LDO Voltage Regulator datasheet (Rev. A).pdf

  2. Print it to a foomatic-rip enabled PPD. In my case Ricoh MP C3004

  3. See this error in the logs.

D [02/Jul/2025:18:50:21 +0000] [Job 5009144] New page: %%Page: 1 1
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] \"Setup\" section is missing, inserting it.
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Found: %%BeginPageSetup
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Inserting option code into \"PageSetup\" section.
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] New page found but previous not printed, print it now.
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Found: %%Page: 2 2
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] --> Output goes directly to the renderer now.
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Starting renderer with command: \"printf \"%%!PS-Adobe-3.0
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] %%%%Title: (TPS7A52 2-A, High-Accuracy 0.5%, Low-Noi)
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] %%
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] %%\\n/usrid(shengwen)def\\n/lppswd()def\\n/dspswd()def\\n/usrcode()def\\nmark\\n/usrcode where{pop}{/usrcode()def}ifelse\\n/usrid where{pop}{/usrid()def}ifelse\\n(shengwen) usrcode (20`date +%y%m%d%R | sed \'s/://\'`) {setuserinfo} stopped\\ncleartomark\\nmark {\\n<<\\n   /JobType 0\\n   /JobInfo <<\\n      /UserID usrid\\n      /Time (20`date +%y%m%d%R | sed \'s/://\'`)\\n      /HostLoginName (shengwen)\\n      /HostName (mp-amer-00.c.papercut-in-the-cloud-prod.internal)\\n   >>\\n>> /RDeviceProcSet /ProcSet findresource /SetJobType get exec\\n}stopped cleartomark\\nmark{\\n<</OutputType null>>setpagedevice\\n} stopped cleartomark\\nmark{\\nuserdict /RPS_BPdict 2 dict put\\nuserdict /RPS_BPdict get begin /RPS_BP_MEDIAPOSITION null def end\\n} stopped cleartomark\\nmark{\\nuserdict /RPS_BPdict get begin\\n/RPS_BP_MEDIATYPE (Auto) def end\\n} stopped cleartomark\\nmark{\\n<<\\n/BannerPageMode false\\n/MediaPosition null\\n/MediaType null\\n>>\\n/RDeviceProcSet\\n/ProcSet findresource\\n/SetBannerPage get exec\\n} stopped cleartomark\\n\"%%%%; cat;\"
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Starting process \"kid3\" (generation 1)
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Starting process \"kid4\" (generation 2)
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Starting process \"renderer\" (generation 2)
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] JCL: \033%-12345X@PJL
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] <job data> 
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] /bin/sh: line 4: printf: `,\': invalid format character
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] renderer exited with status 1
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Possible error on renderer command line or PostScript error. Check options.Process is dying with \"Encountered error Broken pipe during fwrite\", exit stat 1
D [02/Jul/2025:18:50:21 +0000] [Job 5009144] Cleaning up...

Expected behavior
It prints

System Information:

  • OS: Debian Testing 13
  • CUPS 2.4.12
  • cups-filters: 1.28.17-5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions