CUPS

Jan-Benedict Glaw jbglaw at lug-owl.de
Thu Dec 5 13:26:02 CET 2002


On Thu, 2002-12-05 11:41:14 +0100, "Vennekötter, Matthias" <matthias.vennekoetter at bielefeld.goldbeckbau.com>
wrote in message <D6469A1276B6D411B806009027E8915C0A7B86 at BI_POST_SERV1>:
> > Ich würde (wie immer:-) mir mal per strace angucken, was da denn so
> > eigentlich passiert:
> > 
> > 	strace -tt -f -o xxx -f -ff lp druckdatei.ps
> > 
> > ...und das dann so oft aufrufen, bis es mal hängt.
> 
> 	anbei die Ausgabe gekürzt, der 12te Job hängt 5 Minuten.
> 
> 	Kann mir jemand die Zeilen erklären, mein Halbwissen ist hier am
> Ende.
> 
> 	11:19:03.682107 recv(3, "HP LaserJet 5000 Series PS on bo"..., 35,
> 0) = 35

Wenn Ihr Texte schreibt, dann bitte auf <75 zeichen pro Zeile achten.
Wenn Ihr Log-Daten oder Ähnliches zitiert, bitte _keine_
Extra-Zeilenumbrüche einbauen. Hier empfangen wir Daten vom CUPS-Server.

> 	11:19:03.682177 time(NULL)              = 1039083543

Wie spät ist es? ()Antwort in Sekunden steit 01.01.1970, 00:00:00 Uhr
UTC.

> 	11:19:03.682237 recv(3, "#", 1, 0)      = 1
> 	11:19:03.682297 time(NULL)              = 1039083543
> 	11:19:03.682357 recv(3, "\0\f", 2, 0)   = 2
> 	11:19:03.682420 time(NULL)              = 1039083543
> 	11:19:03.682479 recv(3, "printer-type", 12, 0) = 12
> 	11:19:03.682543 brk(0x819a000)          = 0x819a000

Speicher malloc()ieren... Allerdings führt nicht jeder malloc() so
dieser Zeile, da die libc mehr Speicher holt, um nicht jedesmal den
Adreßraum ausweiten zu müssen.

> 	11:19:03.682618 time(NULL)              = 1039083543
> 	11:19:03.682750 recv(3, "\0\4", 2, 0)   = 2
> 	11:19:03.682820 time(NULL)              = 1039083543
> 	11:19:03.682880 recv(3, "\0\0\260V", 4, 0) = 4
> 	11:19:03.682945 time(NULL)              = 1039083543
> 	11:19:03.683005 recv(3, "\3", 1, 0)     = 1
> 	11:19:03.683095 time(NULL)              = 1039083543
> 	11:19:03.683155 recv(3, "", 97, 0)      = 0

Hier ist anscheinend die Wartezeit. Wie warten auf Daten vom CUPS-Server
und stellen zum Empfang derer einen Buffer von 97Bytes zur Verfügung.
...kommt aber nix!

> 	11:24:02.881433 close(3)                = 0

...und wir machen dicht.

> 	11:24:02.881881 rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
> 	11:24:02.882078 gettimeofday({1039083842, 882110}, NULL) = 0

Wir versuchen, einen Namen oder eine IP-Adresse aufzulösen.

> 	11:24:02.882494 open("/etc/hosts", O_RDONLY) = 3
> 	11:24:02.882612 fcntl64(3, F_GETFD)     = 0
> 	11:24:02.882676 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
> 	11:24:02.882748 fstat64(3, {st_mode=S_IFREG|0644, st_size=5884,
> ...}) = 0
> 	11:24:02.882855 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
> 	11:24:02.882952 read(3, "## Configured using SAM by root "..., 4096)
> = 4096
> 	11:24:02.883295 read(3, "1 \n104.0.0.82    \ttbo2\n104.0.0.9"...,
> 4096) = 1788
> 	11:24:02.883481 read(3, "", 4096)       = 0
> 	11:24:02.883551 close(3)                = 0
> 	11:24:02.883611 munmap(0x40016000, 4096) = 0 

Es sieht also hier so aus, als ob der Client auf Daten vom Server
wartet, aber keine bekommt. Nun sollte man das Spielchen nochmal
wiederholen, und nun _beide_ Teile (CUPS-Server und den Client) stracen.
Dazu mußt Du vom Server die PID herausbekommen ('ps axf|less -S') und
diese dann mit dem "-p"-Parameter bei strace angeben; den Programmnamen
und die Parameter zm Programm-Aufruf erübrigen sich dann natürlich:-)

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur
    fuer einen Freien Staat voll Freier Bürger" | im Internet!
   Shell Script APT-Proxy: http://lug-owl.de/~jbglaw/software/ap2/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20021205/35c28352/attachment.sig>


More information about the Linux mailing list