Skip to content

CUPS not sending job-* signals when ippserver is running #1513

@noee

Description

@noee

Context
Plasma print-manager, we're developing unit tests using CUPS and the ippsample (ippserver) tools to create mock printers with various attributes.

Running ippserver (localhost:8000) and CUPS (localhost:631) prevents CUPS from dbus notifying on job events. We have daemon that subscribes to job events (job-created, job-completed, etc.) and when ippserver i running and we submit jobs to any queue on CUPS (mock or "real" printer), no job events are signalled.

Steps to reproduce the behavior:

  1. Run the ippserver with an ATTR file like so:
MAKE "PMTEST"
MODEL "Test Consumable and Receptacle"

#########
# IPP Attributes

ATTR keyword          ipp-features-supported                     document-object,ipp-everywhere,infrastructure-printer,page-overrides

#ATTR mimeMediaType    document-format-supported    image/jpeg,image/pwg-raster,application/pdf
ATTR mimeMediaType    document-format-supported    image/jpeg,image/pwg-raster,application/pdf,application/octet-stream
#ATTR mimeMediaType    document-format-default      image/pwg-raster
ATTR mimeMediaType    document-format-default      application/pdf

# IPP Everywhere Dependencies
ATTR resolution       pwg-raster-document-resolution-supported   300dpi,600dpi
ATTR keyword          pwg-raster-document-sheet-back             rotated
ATTR keyword          pwg-raster-document-type-supported         sgray_8,srgb_8,adobe-rgb_8,rgb_8

ATTR name printer-name "test-consumable-receptacle"
ATTR text printer-location "Downstairs"
ATTR text printer-info "Printer with Consumables and Receptacles"
ATTR enum printer-state 3
ATTR keyword printer-state-reasons none
ATTR boolean printer-is-accepting-jobs true

ATTR nameWithoutLanguage marker-colors "#00FFFF","#FF00FF","#FFFF00","#000000","none"
ATTR integer marker-levels 91,91,91,87,0
ATTR integer marker-low-levels 0,3,3,3,0
ATTR integer marker-high-levels 100,100,100,100,95
ATTR nameWithoutLanguage marker-names "Cyan TK-5490CS","Magenta TK-5490MS","Yellow TK-5490YS","Black TK-5490KS","Waste Toner Box"
ATTR keyword marker-types toner,toner,toner,toner,waste-toner
ATTR integer marker-change-time 1773163539

############################
# Media Support

ATTR keyword          media-default				na_letter_8.5x11in
ATTR keyword          media-supported           na_letter_8.5x11in,iso_a4_210x297mm
ATTR keyword          media-type-default        auto
ATTR keyword          media-type-supported      auto,paper,photographic-glossy,com.hp.ecosmart-lite
ATTR keyword          media-col-supported media-type,media-size,media-top-margin,media-left-margin,media-right-margin,media-bottom-margin,media-source,duplex-supported

#
# media-col-database
#
ATTR collection media-col-database
{
    MEMBER keyword media-type "auto"
    MEMBER keyword media-type auto
    MEMBER keyword media-source main
    MEMBER keyword media-color white
    MEMBER collection media-size
    {
        MEMBER integer x-dimension 21590
        MEMBER integer y-dimension 27940
    }
    MEMBER integer media-bottom-margin 500
    MEMBER integer media-left-margin 500
    MEMBER integer media-right-margin 500
    MEMBER integer media-top-margin 500
},
{
    MEMBER keyword media-type "auto"
    MEMBER keyword media-type auto
    MEMBER keyword media-source main
    MEMBER keyword media-color white
    MEMBER collection media-size
    {
        MEMBER integer x-dimension 21000
        MEMBER integer y-dimension 29700
    }
    MEMBER integer media-bottom-margin 500
    MEMBER integer media-left-margin 500
    MEMBER integer media-right-margin 500
    MEMBER integer media-top-margin 500
},
{
    MEMBER keyword media-type "paper"
    MEMBER keyword media-type auto
    MEMBER keyword media-source main
    MEMBER keyword media-color white
    MEMBER collection media-size
    {
        MEMBER integer x-dimension 21590
        MEMBER integer y-dimension 27940
    }
    MEMBER integer media-bottom-margin 500
    MEMBER integer media-left-margin 500
    MEMBER integer media-right-margin 500
    MEMBER integer media-top-margin 500
},
{
    MEMBER keyword media-type "paper"
    MEMBER keyword media-type auto
    MEMBER keyword media-source main
    MEMBER keyword media-color white
    MEMBER collection media-size
    {
        MEMBER integer x-dimension 21000
        MEMBER integer y-dimension 29700
    }
    MEMBER integer media-bottom-margin 500
    MEMBER integer media-left-margin 500
    MEMBER integer media-right-margin 500
    MEMBER integer media-top-margin 500
},
{
    MEMBER keyword media-type "photographic-glossy"
    MEMBER keyword media-type auto
    MEMBER keyword media-source main
    MEMBER keyword media-color white
    MEMBER collection media-size
    {
        MEMBER integer x-dimension 21590
        MEMBER integer y-dimension 27940
    }
    MEMBER integer media-bottom-margin 0
    MEMBER integer media-left-margin 0
    MEMBER integer media-right-margin 0
    MEMBER integer media-top-margin 0
}


#
# media-col-ready
#
# Missing: photographic-glossy letter size
#
ATTR collection media-col-ready
{
    MEMBER keyword media-type "auto"
    MEMBER keyword media-type auto
    MEMBER keyword media-source main
    MEMBER keyword media-color white
    MEMBER collection media-size
    {
        MEMBER integer x-dimension 21590
        MEMBER integer y-dimension 27940
    }
    MEMBER integer media-bottom-margin 500
    MEMBER integer media-left-margin 500
    MEMBER integer media-right-margin 500
    MEMBER integer media-top-margin 500
},
{
    MEMBER keyword media-type "paper"
    MEMBER keyword media-type auto
    MEMBER keyword media-source main
    MEMBER keyword media-color white
    MEMBER collection media-size
    {
        MEMBER integer x-dimension 21590
        MEMBER integer y-dimension 27940
    }
    MEMBER integer media-bottom-margin 500
    MEMBER integer media-left-margin 500
    MEMBER integer media-right-margin 500
    MEMBER integer media-top-margin 500
}


#
# media-col-default
#
ATTR collection media-col-default
{
    MEMBER keyword media-type "auto"
    MEMBER keyword media-type auto
    MEMBER keyword media-source main
    MEMBER keyword media-color white
    MEMBER collection media-size
    {
        MEMBER integer x-dimension 21590
        MEMBER integer y-dimension 27940
    }
    MEMBER integer media-bottom-margin 500
    MEMBER integer media-left-margin 500
    MEMBER integer media-right-margin 500
    MEMBER integer media-top-margin 500
}

# Media Support (End)
############################



############################
# Other Features

# Two Sided Printing - supported and enabled by default
ATTR keyword          sides-supported                            one-sided,two-sided-long-edge,two-sided-short-edge
ATTR keyword          sides-default                              two-sided-long-edge

  1. Create a CUPS print queue:
lpadmin -p test-consumable-receptacle -D "Printer with Consumables and Receptacles" -E -v ipp://localhost:8000/ipp/print/both-classes -m everywhere
  1. Print a pdf job to this printer (or even a self-test)
  2. Job seems to work fine, however, we get no job-created or job-completed signals. We do see printer-state-changed.

We expect to see normal job-* signals as we do when ippserver is not running.

CUPS 2.4.16
Operating System: openSUSE Tumbleweed 20260317
KDE Plasma Version: 6.6.80
KDE Frameworks Version: 6.25.0
Qt Version: 6.10.2
Kernel Version: 7.0.0-rc4-4.ge23b6ac-default (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 1600 Six-Core Processor
Memory: 16 GiB of RAM (15.5 GiB usable)
Graphics Processor: AMD Radeon RX 560 Series

PipeWire 1.6.2
XOrg 1.21.1.21, XWayland 24.1.9
OpenGL 4.6 (Core Profile) Mesa 26.0.2
AMD Radeon RX 560 Series (radeonsi, polaris11, ACO, DRM 3.64, 7.0.0-rc4-4.ge23b6ac-default)

I know they're different animals, but we see the same behavior with ippeveprinter.

Metadata

Metadata

Assignees

Labels

configuration issueMalfunction is caused by misconfigurationquestionGeneral usage question

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions