OpenPrinting / OpenPrinting/foomatic-db

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

Open
#52 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
14
Forks
24
Avg merge
8m
Merged PRs (30d)
1

Description

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the crash with the attached PDF and Ricoh MP C3004 PPD, then inspect the foomatic-rip renderer command shown in the logs, especially the shell printf invocation. Done means the job completes without the invalid format character or broken-pipe errors and prints successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.