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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions