The Samba-Bugzilla – Bug 10930
race condition between job submission, enumeration and background print queue process
Last modified: 2017-07-25 14:56:41 UTC
The spoolss addprinter[ex].print_job_enum smbtorture test currently fails intermittently on the autobuild host.
I believe the failure is due to a race condition between the spoolss
process (S) and the print queue background process (BG).
On client submission, a new job is added by the spoolss client process to a INFO/jobs_added record in the print queue database.
The background print queue process then periodically queries the printing backend for the current queue status and removes jobs from the INFO/jobs_added record.
On client job enumeration, jobs carried in the current queue status and the INFO/jobs_added record are provided in the enumeration response.
IIUC, queue status and INFO/jobs_added record updates are not done atomically, so a newly added job may be carried twice in the EnumJobs response. Further investigation is required.
addprinter[ex].print_job_enum test results should be ignored until this bug is resolved.
There was an issue that the vlp backend was not started with the uid it should have. uid_wrapper did not have support for fork + exec.
Please check if this is still an issue.