Opened 8 years ago

Closed 8 years ago

#141 closed defect (fixed)

printing fails with "Unable to open listen socket for address"

Reported by: Lewis Rosenthal Owned by:
Priority: major Milestone:
Component: cups Version:
Severity: highest Keywords:
Cc:

Description

Fresh install on Blue Lion beta 4.9.3.

cups-filters-libs-1.8.2-5.oc00.i686
cups-libs-2.1.3-7.oc00.i686
gutenprint-cups-5.2.11-3.oc00.i686
cups-filesystem-2.1.3-7.oc00.noarch
cups-client-2.1.3-7.oc00.i686
cups-2.1.3-7.oc00.i686
cups-filters-1.8.2-5.oc00.i686

Upon cups daemon startup, we get:

E [07/Feb/2017:20:51:47 +0500] Unable to open listen socket for address /@unixroot/var/run/cups/cups.sock:0 - No such file or directory.

The last message repeats.

cupsd.conf contains:

# Only listen for connections from the local machine.
Listen localhost:631
Listen /@unixroot/var/run/cups/cups.sock

This port configuration is as expected, I believe.

Change History (8)

comment:1 by Yuri Dario, 8 years ago

local sockets name must start with \socket\ or /socket/

comment:2 by Silvan Scherrer, 8 years ago

is the /@unixroot/var/run/cups directory available at all?

comment:3 by Lewis Rosenthal, 8 years ago

Yes, /@unixroot/var/run/cups is there. The directory itself (fresh install; same error) only contains the certs subdirectory, which itself contains a single file (0) of 32 bytes, as expected.

The cups directory only has attributes of D and A, which seems normal. The directory is writeable.

comment:4 by Lewis Rosenthal, 8 years ago

Added /var/run to path rewriter as C:\var\run, and got past this error. Now stopping with "Failed to execute ghostscript to determine number of input pages!" - will investigate further.

Meanwhile, this seems to be a path error, at this point. The above kludge is obviously just for testing.

comment:5 by Yuri Dario, 8 years ago

Unlike linux, OS/2 local sockets are not bound to local file system, they only need to start with \socket\. If application fails because dir does not exist, it is only because application is checking file system for directory. This kind of check can be disabled on OS/2.

comment:6 by Lewis Rosenthal, 8 years ago

Ah. So what you are saying is that the check for the actual existence of the directory in the filesystem which I addressed with the path rewriter is really just an unnecessary check, anyway, but apparently when it fails, the processing stops?

comment:7 by Yuri Dario, 8 years ago

yes, if check fails the application exists because (in linux) the socket is mapped to a file in a real file system. If you create the path, the check is ok but then OS/2 API fails because \socket\ is not present. Just change the name in the configuration file.

comment:8 by Silvan Scherrer, 8 years ago

Resolution: fixed
Status: newclosed

fixed in r2182

Note: See TracTickets for help on using tickets.