Waiting for multiple threads?

I'm currently writing an app which, when a user opens a GUI screen, several threads are created which go away to load data. A "loading..." message should be displayed until all loading threads have completed.
What's the best way to implement this?

Ah yes. I was doing that, ish, but was doing:
t1.start();
t1.join();
t2.start();
t2.join();
But of course it should have been:
t1.start();
t2.start();
t1.join();
t2.join();
Cool, thanks!

Similar Messages

  • Waiting for multiple threads to complete.......

    Search the forum archives but have not found a definitive solution...
    I have java app which spawns many threads (runnable objects) in the main() method. As one would expect, main exits before the threads finish but I don't want this to happen. I want to wait until all the threads have completed so I can use the results (stored in a vector) in the main thread....kindof like waitformultipleobjects in windows NT...
    does any guru out there know how best to achieve this????
    thanks

    Have you tried using a ThreadGroup? I imagine something like the following. I think it is not so nice because of the empty while loop but you get the idea.
    public class ThreadGroupTest {
         private static class Dummy extends Thread{
              private long sleepms;
              private String msg = null;
              public Dummy(ThreadGroup tg,long sleepms){
                   super(tg,"test"+String.valueOf(sleepms));
                   this.sleepms = sleepms;     
              public void run(){
                   try {
                        Thread.sleep(sleepms);
                   } catch (InterruptedException e) {
                   this.msg="Slept "+String.valueOf(sleepms)+" millis.";
              public String getMsg() {
                   return msg;
         public static void main(String[] args) {
              Dummy[] threads = new Dummy[10];
              ThreadGroup tg = new ThreadGroup("test");
              for(int i = 0;i<10;i++){
                   threads[i] = new Dummy(tg,(i+1)*1000);
                   threads.start();
              while(tg.activeCount()>0){
                   System.out.println(tg.activeCount());
              for(int i=0;i<threads.length;i++){
                   System.out.println(threads[i].getMsg());
    Hope that helps.

  • Waiting for a thread to die.

    Hello, I hope you can help me...
    I am writting a jdk1.4.1 Swing application that displays a small animation. This animation is processed from within a separate thread. My program makes a call starting this 'animation thread'. For practical reasons my program needs to wait for this thread to die (and thus the full animation to be shown) before it can continue. I am waiting for the animation thread to die using Threads 'join' method. However the problem with this is that I am forcing the GUI thread to wait resulting in the animation being calculated but not displayed. And so... how can I fix this... all I want is to wait until the animation is shown.
    What I would like to do is:
    1. Start animation;
    2. wait intil animation has completed;
    3. continue with program.
    Any help or advice will be greatly appreciated.
    Thank you in advance.

    Maybe this design could work for you. You divide your program into three parts running in three separate threads.
    1. The main thread handling GUI stuff and coordination of the two other threads.
    2. A working thread doing most of what the main thread is now doing.
    3. The animation thread.
    With this division of labour the working thread is waiting for the animation thread to finish (the main GUI thread isn't). The main thread will be free at all times to react to the users input or updating the screen or whatever, while the other two threads are cooperating to produce the animation.

  • Application waits for the thread to finish

    Hi all,
    I have a class let say test that extends Thread.
    In my application i say:
    test Xtest = new test();
    Xtest.start();
    System.out.println("Thread finished");
    I need my application to wait for the thread to finish for it to continue, i.e. in my example print "Thread finished" .
    Can someone help me.
    Thanks in advance for your help.
    Best regards,
    Saadi MONLA

    This should work:
    test Xtest = new test();
    Xtest.start();
    Xtest.join();
    System.out.println("Thread finished");

  • Waiting for many threads

    Hey guys,
    I know how to make one thread wait for another named thread to complete, but how do u make a thread wait for many threads to complete with the added problem of not knowing the names of the threads your waiting for? Looked and been trying for ages but can't get anything to work.
    Thanx
    Lisa

    No i saw it, pehaps i should rephrase with a question, how would you go about giving all these threads a reference? If it ain't obvious already am not great with java and if someone could tell me how to give the threads spawned references it would be great.
    As ive explained the code is really long so am not going to waist peoples time by posting it. Here is basically how i am spawning the threads "willy-nilly" style.
         while ((p < searchTerms.size())&&(p < 30)){
             term = (searchTerms.elementAt(p)).toString();
             NetChecker nc = new NetChecker(term,excludedAdds,refWeb);
             searchClasses.addElement(nc);     
             new Thread(nc).start();
             p++;
         } the classes all return web addresses in a vector, thats why i need all the threads to complete so i can collect all the results
    Thanx
    Lisa

  • Standby media recovery waiting for inactive thread

    Hi,
    Please let me know any idea on this scenario. Thanks.
    Environment:
    Oracle 11.2.0.2
    primary: 3 node RAC
    standby: 3 node RAC
    Problem:
    there is thread 5 (not registered instance or did not show in srvctl) that generates archivelog. but the lag apply stopped because of this when the instance (of thread 5) is shutdown.
    question: somehow an instance is registered in the cluster but in srvctl only 3 instance is running. it should have 4 instance but 1 is not running. How can I remove the thread 5 so when someone startup then shutdown instance#4 it will not create archivelog that will stopped the apply of archivelog in standby.
    note: this is perf environment server so someone and "other" DBA is accessing this environment which I am not aware what are they doing with the cluster.
    looking in alert log file: - it is waiting for thread 5 sequence 510. But the instance is down so log is not shipped to standby database and this resulted to lag in other threads.
    Sat Aug 03 18:54:47 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_1_seq_13718.1544.822333555
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17665.22678.822315375
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15465.14138.822313997
    Media Recovery Waiting for thread 5 sequence 510
       THREAD# LAST_SEQ_RECEIVED LAST_SEQ_APPLIED
             1             13745            13717
             2             17728            17664
             3             15527            15464
             5               509              509
    what I did is:
    1. primary (asm copy to file system)
    2. scp primary to standby
    3. standby (file system copy to asm)
    4. rman target / -> catalog archivelog <thread 5 sequence 510)
    5. then looking into alert log file; it performed media recovery
    Sat Aug 03 23:03:13 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_1_seq_13718.1544.822333555
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17665.22678.822315375
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15465.14138.822313997
    Media Recovery Waiting for thread 5 sequence 510
    Sat Aug 03 23:15:21 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_5_seq_510
    Sat Aug 03 23:15:32 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15466.10925.822316315
    Sat Aug 03 23:17:18 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17666.853.822333143
    Sat Aug 03 23:18:39 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15467.834.822333553
    Sat Aug 03 23:20:54 2013

    in Standby, thread 4 and 5 are both UNUSED, and size is incorrect (not equal to other redo log). I want to recreate it but cannot drop redo log. I follow Doc ID 740675.1.
    any idea what are the missing steps? thanks.
    ORA-01624: needed for crash recovery of instance UNNAMED_INSTANCE_5 (thread 5)
    select group#,thread#,archived,status,bytes from v$log;
    primary DB:
        GROUP#    THREAD# ARC STATUS                BYTES
             1          1 YES INACTIVE         1073741824
             2          1 YES INACTIVE         1073741824
             3          2 NO  CURRENT          1073741824
             4          2 YES INACTIVE         1073741824
             5          3 YES INACTIVE         1073741824
             6          3 YES INACTIVE         1073741824
             7          2 YES INACTIVE         1073741824
             8          1 NO  CURRENT          1073741824
             9          3 NO  CURRENT          1073741824
            10          4 YES INACTIVE         1073741824
            11          4 NO  CURRENT          1073741824
        GROUP#    THREAD# ARC STATUS                BYTES
            12          4 YES INACTIVE         1073741824
            13          5 YES INACTIVE         1073741824
            14          5 YES INACTIVE         1073741824
            15          5 NO  CURRENT          1073741824
    standby DB:
        GROUP#    THREAD# ARC STATUS                BYTES
             1          1 YES INACTIVE         1073741824
             2          1 YES INACTIVE         1073741824
             3          2 NO  CURRENT          1073741824
             4          2 YES INACTIVE         1073741824
             5          3 YES INACTIVE         1073741824
             6          3 YES INACTIVE         1073741824
             7          2 YES INACTIVE         1073741824
             8          1 NO  CURRENT          1073741824
             9          3 NO  CURRENT          1073741824
            10          4 YES INACTIVE         1073741824
            11          4 NO  CURRENT          1073741824
        GROUP#    THREAD# ARC STATUS                BYTES
            12          4 YES INACTIVE         1073741824
            13          5 YES INACTIVE         1073741824
            14          5 YES INACTIVE         1073741824
            15          5 NO  CURRENT          1073741824

  • Waiting for multiple Replies

    Hi all,
    in my Pub/Sub scenario, the subscribers should send a reply to the publisher through a temporary Topic. The publisher should receive all replies and treat all of them. It's no problem for me to gather the multiple replies (I have written my own Requestor that waits some seconds and during that time gathers the replies). However, this solution is improvable. There is a great chance that the waiting time is too short and the publisher misses some replies that could be very relevant. It would be great if the publisher could find out how many subscribers are currently subscribed and so find out for how many replies it should wait for. Has anyone an idea how to do that?
    TIA, Christian

    This is not defined as part of the specification. Some vendors offer RuntimeMBeans that allow you to get the information. However, without tighter coupling to JMS there would be races. Even registering for JMX notifications would not be enough to close the race. JMS would need to return the number of matched consumers.
    And in some cases the number would not be available. For instance, you send in a transaction. The message doesn't exist until you commit. So the vendor doesn't generally do any matching until commit time. By that time the send has long since completed. How would the count be returned to you.

  • What do you think of this Design for Multiple Threads

    Hi Java Experts ;
    I'm curious to know what you think about this design for a multhreaded app i'm working on.
    I have a controller thread that (a.) creates threads and (b.) keeps a reference to threads that it creates (by sticking them in a hashtable along with the generated Id for that thread).
    When a created thread completes its job, it decrements the thread counter and removes its reference from the hashtable before it finishes its run method.
    Now here's the interesting part in my controller thread i'm creating new threads on the fly with this infinite loop
         public void run(){
              while(true){
                   try{
                        Thread.sleep(500);
                   }catch(InterruptedException e){
                   if(threadCounter<maxThreadCount && moreJobsToDo.size()>0){
                        createDomainThread();
              }//end while
    what do you think about this pattern ? My goal is to maintain about 200+ created threads running at all times with this pattern.

    jeff kesslerman's book says about threads
    "5.2.3 Threads
    The impact that threads have on RAM footprint isn't a problem for most programs, but running threads do need space to store their stack state, and the system- specific data structures do consume memory.
    Because runtime implementations vary widely in how threads are handled, you might encounter situations where the impact threads have on footprint is significant. For example, some ports of the JRE create a heavyweight OS process for each running thread. In an application that uses many threads, this means that thread costs, rather than class or object costs, can become the dominant factor in the program's memory consumption.
    You shouldn't avoid using threads-they're necessary in many cases, and generally don't have a large impact on footprint. However, you should be aware that the impact can be very different across runtimes. This is one of the reasons it's a good idea to measure performance characteristics under your program's different target environments. "
    Question #1: how does garbage collection go about clearing the stack state, and the system- specific data structures that consume memory.
    Question #2: in my situation, each worker thread's activity is not as brief as a simple server request. Each thread does a lot work and does a lot of network connections. on average I would say 100 http request - each of which can be easily blocked or delayed significantly. Therefore each worker thread may operate for between 2 - 10 minutes.
    Do you think thread pooling is useful in this situation ?
    stev

  • Waiting for a thread to finish

    I've been researching this issue for a couple of days, but I dont think I know enough about threading to ask the right question in a search engine. Sorry if this is a basic blunder....I dont write swing often and it shows.
    I have a swing app that includes a long task so I have implemented a progress bar. I need to wait until the progress bar task completes before continuing to the rest of the method. I've tried:
    1. Putting the progress bar within a while loop (while task not complete...) but the progress bar dialog does not render fully. I've even added repaint, but still the dialog looks blank.
    2. SwingUtilities.invokeLater, but it doesnt wait until the progress bar is finished
    3. SwingUtilities.invokeAndWait, though after all the reading I did about deadlock conditions I didnt like the idea. However I was desperate so I tried it and got an error:"Cannot call invokeAndWait from the event dispatcher thread".
    4. Putting the code that needs to occur after the progress bar in an "invokeLater" thread
    5. I've also used the ProgressBarDemo from the java.sun example with the swingworker hoping the worker thread would handle the issue.
    A much smaller version of the code is below:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.Border;
    public class ProblemCode extends JFrame
         private JFrame jFrame = null;
         private JPanel jMain = null;
         private JButton startButton = null;
         public ProblemCode()
              initialize();
         public void initialize()
              //Setup the main application window size
              jFrame = new JFrame();
              jFrame.setContentPane(getJMainPanel());
              jFrame.pack();
              jFrame.addWindowListener(new java.awt.event.WindowAdapter()
                   public void windowClosing(java.awt.event.WindowEvent e)
                        dispose();
              SwingUtilities.invokeLater(new Runnable()
                public void run()
                    jFrame.setVisible(true);
         private JPanel getJMainPanel()
              if(jMain == null)
                   jMain = new JPanel();
                   jMain.add(getJStartButton());
              return jMain;
         private JButton getJStartButton()
              if (startButton == null)
                   startButton = new JButton();
                   startButton.setText("Start");
                   startButton.setVisible(true);
                   startButton.addActionListener(new ActionListener()
                       public void actionPerformed(ActionEvent e)
                           SwingUtilities.invokeLater(new Runnable()
                                 public void run()
                                          progBar();
                            System.out.println("Do this after the progress bar completes");
                            SwingUtilities.invokeLater(new Runnable()
                                 public void run()
                                      System.out.println("invokeLater doesnt work either....");
              return startButton;
         private void progBar()
            JFrame jProgFrame = new JFrame("JProgressBar Sample");
            jProgFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Container content = jProgFrame.getContentPane();
            final JProgressBar progressBar = new JProgressBar();
            new Thread()
                private int counter = 0;
                private final int val = (int)(Math.random()*10)+1;
                public void run()
                    for(int i = 0;i <= 100;i++)
                        counter += val;
                        javax.swing.SwingUtilities.invokeLater( new Runnable()
                            public void run()
                                progressBar.setValue(counter);
                        try
                            Thread.sleep(500);
                        catch (InterruptedException e)
            }.start();
            progressBar.setStringPainted(true);
            Border border = BorderFactory.createTitledBorder("Reading...");
            progressBar.setBorder(border);
            content.add(progressBar, BorderLayout.NORTH);
            jProgFrame.setSize(300, 100);
            jProgFrame.setVisible(true);
         public static void main(String[] args)
              SwingUtilities.invokeLater(new Runnable()
                   public void run()
                        new ProblemCode();
    }Thank you for taking the time to review this.

    Hi,
    I made some tiny changes in yoyr code, marked with
    // PBHere the changed code
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.Border;
    public class ProblemCode extends JFrame {
        private JFrame jFrame = null;
        private JPanel jMain = null;
        private JButton startButton = null;
        public ProblemCode() {
         initialize();
        public void initialize() {
         // Setup the main application window size
         jFrame = new JFrame();
         jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // PB
         jFrame.setContentPane(getJMainPanel());
         jFrame.pack();
         jFrame.addWindowListener(new java.awt.event.WindowAdapter() {
             public void windowClosing(java.awt.event.WindowEvent e) {
              dispose();
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
              jFrame.setVisible(true);
        private JPanel getJMainPanel() {
         if (jMain == null) {
             jMain = new JPanel();
             jMain.add(getJStartButton());
         return jMain;
        private JButton getJStartButton() {
         if (startButton == null) {
             startButton = new JButton();
             startButton.setText("Start");
             startButton.setVisible(true);
             startButton.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                  SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                       progBar();
                  System.out
                       .println("Do this after the progress bar completes");
                  SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                       System.out
                            .println("invokeLater doesnt work either....");
         return startButton;
        private void progBar() {
         JFrame jProgFrame = new JFrame("JProgressBar Sample");
         jProgFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         Container content = jProgFrame.getContentPane();
         final int val = (int) (Math.random() * 10) + 1; // PB
         final JProgressBar progressBar = new JProgressBar(0, 100 * val); // PB
         progressBar.setStringPainted(true);
         Border border = BorderFactory.createTitledBorder("Reading...");
         progressBar.setBorder(border);
         content.add(progressBar, BorderLayout.NORTH);
         jProgFrame.setSize(300, 100);
         jProgFrame.setVisible(true);
         // PB
         final Thread longTask = new Thread() {
             private int counter = 0;
             public void run() {
              for (int i = 0; i <= 100; i++) {
                  counter += val;
                  javax.swing.SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                       progressBar.setValue(counter);
                  try {
                   Thread.sleep(100); // PB
                  } catch (InterruptedException e) {
         longTask.start();
         // PB
         Thread followUpTask = new Thread(new Runnable() {
             @Override
             public void run() {
              try {
                  System.out.println("Follow up task is waiting");
                  longTask.join();
                  System.out.println("Follow up task  continues");
              } catch (InterruptedException e) {
                  e.printStackTrace();
         followUpTask.start();
        public static void main(String[] args) {
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
              new ProblemCode();
    }Piet

  • Wait for all threads in a array to die

    I everyone. I'm from Portugal and I have some experience in JAVA programming (approximately five years) but this is the first the first time that i'm trying to use threads. I'm trying to learn writing some simpler code that does almost exactly at the basic level the same stuff that a complex application that I need to write for my work.
    What I'm trying to do is execute a counter that counts all operations in threads belonging to the same array (an array of n threads).
    A static variable in the Thread class (implementing Runnable) counts all operations performed by all threads and sums them all and shoud display the total of operations after all threads terminate, but this exactly what I don't know how to do:
    This is my example code:
    public class TT1 implements Runnable {
         int id;
         double last_number;
         static int threads_counter = 0;
         static int total_threads = 4;
         static long total_numbers;
         int total_randoms = 1000;
         public void run() {
              for (int i=0;i<total_randoms;i++)
                   total_numbers++;
                   // does some stuff, in this case, generate a random number!
                   last_number = Math.random();
              System.out.printf("Thread %d:%f(%d)\n",id,last_number,total_numbers);
         public TT1() {
              id = threads_counter++;
              new Thread(this).start();
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              Thread [] threads = new Thread[total_threads];
              for (int i=0;i<threads.length;i++)
                   threads[i] = new Thread(new TT1());
              /* commented code using join(), is not working or I don't know
              how to use it! */
              for (int i=0;i<threads.length;i++)
                   try {
                        threads.join();
                   } catch (InterruptedException e) {
                        e.printStackTrace();
              try {
                   threads[total_threads-1].join();
              } catch (InterruptedException e) {
                   e.printStackTrace();
              // this line should be executed ONLY after ALL threads have died!
              System.out.println("******GENERATED NUMBERS TOTAL:" + total_numbers);
    Somebody can give me a hint how to solve this ?

    Thanks for your replies.
    Actually, i've corrected the code, now i'm starting the threads outside the constructor. Originally I thought this could be a simpler way to create the threads: launching them at same time I'm creating them! Is this wrong ? :) Well, watching the results.
    I changed my code:
    public class TT1 implements Runnable {
         int id;
         double last_number;
         static int threads_counter = 0;
         static int total_threads = 4;
         static long total_numbers;
         int total_randoms = 1000;
         public void run() {
              for (int i=0;i<total_randoms;i++)
                   total_numbers++;
                   // does some stuff, in this case, generate a random number!
                   last_number = Math.random();
              System.out.printf("Thread %d:%f(%d)\n",id,last_number,total_numbers);
         public TT1() {
              id = threads_counter++;
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              Thread [] threads = new Thread[total_threads];
              /* create individual threads */
              for (int i=0;i<threads.length;i++)
                   threads[i] = new Thread(new TT1());
              /* launch the threads (NEW CODE) */
              for (int i=0;i<threads.length;i++)
                   threads.start();
              /* commented code using join(), is not working or I don't know
              how to use it! */
              for (int i=0;i<threads.length;i++)
                   try {
                        threads[i].join();
                   } catch (InterruptedException e) {
                        e.printStackTrace();
              // this line should be executed ONLY after ALL threads have died!
              System.out.println("******GENERATED NUMBERS TOTAL:" + total_numbers);
    And I obtain the output:
    $ java TT1
    Thread 0:0,191546(1000)
    Thread 1:0,937476(2000)
    Thread 2:0,825079(3000)
    Thread 3:0,451367(4000)
    ******GENERATED NUMBERS TOTAL:4000Exactly as I want it!
    All is good when it works good ;)
    Best regards

  • Waiting for multiple images to load

    Are there any support classes which helps with tracking image loading in background issues?
    Something which would work like ImageTracker(List <Image>) and have ability to call one function on finished loading and second if one or more images fails to load.

    Hi, I don't think there is (but, I'm no expert). You can try with Tasks, though. It's a good way to run things in background and be notified when they're done or when error occurs. Check out this link: http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm

  • Problem with ioinning multiple Threads

    Hi,
    I have multiple sub Threads T1, T2, T3.... started by main Thread T. After starting each sub Thread, I stored them in the HashMap. When finish starting all Threads, I want to join each sub Thread to my main Thread.
    The problem is when T3 join with T, it hanged forever! Here is my code:
    class MyThread extends Thread
    private name;
    MyThread(String tName)
    name = tName;
    public void run()
    // doing something....
    public HashMap startThreads()
    HashMap tList = new HashMap();
    for (int i=0; i<5; ++i)
    String tName = "Thread" + i;
    MyThread myT = new MyThread(tName);
    myT.start();
    tList.put(tName, myT);
    public void joinThreads(HashMap tList)
    Iterator iter = tList.values().iterator();
    while (iter.hasNext())
    Thread activeThread = (Thread)iter.next();
    if (activeThread.isAlive()) {
    System.out.println("Join alive thread " + activeThread.tName);
    activeThread.join();
    In my method:
    ... doing s/t
    HashMap tMap = startThreads();
    joinThreads(tMap);
    ... doing s/t else (never excecuted!!!)
    My purpose is staring multi Threads at the same time and executing some code after they all die.
    If I join my sub Thread right after creating it, then the other sub Thread couldn't started until subThread 1 dies!
    If I don't join the sub Thread but remove it from the thread Map when it's not alive then my code executed perfectly. I want to apply join method with my mutiple Threads, how ????
    Could some one give me a hint? Thanks.

    Hi,
    What I don't understand here is why the main Thread
    does not join all the sub Threads ?If you're getting a ConcurrentModificationException while iterating the list of threads, then that's why.
    Why main Thread
    has to wait for sub Thread 1 to finish before joinning
    next sub Threads?It has to join all of the threads. That means it has to wait for all of them to finish. In order to wait for all of the threads it has to wait for the first thread.
    I'm 100% sure that my sub Threads in
    the threadList are valid and alive since I already
    veriffied with other methods.I don't see what that has to do with your problem.
    I already set my joinThreads method as synchronized,
    how come I still have ConcurrentModificationException?Because the list was modified concurrently.
    How can I fix this error?Stop modifying the list concurrently. You haven't posted all of the relevant code, so I can't offer any clues about how to do that.

  • If i want to write something that waits for more then one thing

    how do i do that?
    if it's for one thing i'll write:
    sinchronized(a){
    while (true){
    wait();
    my_code();
    }

    He's not saying he wants to wait for multiple
    conditions. Unless I just don't understand what he's
    saying (real possibility there.):) It sounded to me like he wanted to wait for multiple things to happen.
    CountDownLatch works fine for waiting on multiple
    threads. If one thread wants to force the await() to
    end, it can force the latch count to zero. Any thread
    can also call interrupt() on the waiting thread (as
    long as it has a reference to the thread object.)A CountdownLatch set to one can also be used to wait for one of a set of events to occur. Of course you'd need further information to determine which event it was.
    The kinds of "events" can influence the shape of the solution here. Eg if you're interested in muiltiple I/O events then you need to use an I/O framework that supports a select-style operation.

  • 64-bit JNI C++ to JAVA invocation multiple threads classloader problem

    Hi ALL,
    I have a C++ app that invokes Java classes on 64-bit Solaris 10 with 64-bit JVM.
    Here is the problem:
    The native non-main (not the thread that initializes the JVM) threads would not be able to find any user-define class.
    Here are the symptoms and observations:
    1. JNIEnv::ExceptionDescribe() showed the following StackOverflowError:
    Exception in thread "Thread-0" java.lang.StackOverflowError
            at java.util.Arrays.copyOf(Arrays.java:2734)
            at java.util.Vector.ensureCapacityHelper(Vector.java:226)
            at java.util.Vector.addElement(Vector.java:573)
            at java.lang.ClassLoader.addClass(ClassLoader.java:173)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
            at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)2. The "main thread" that instantiates the JVM has no problem finding and loading any class or method
    3. But the other threads (non-main threads) would not be able to find the user-defined classes unless the classes were already loaded by the main thread.
    4. The non-main threads can find the "standard" java classes with no problem
    5. The same app ran fine on 32-bit system.
    6. Except for the JVM reference is global, each thread acquired JNIEnv by either GetEnv() or AttachCurrentThread().
    Any idea why it is a problem with 64-bit?
    I have the sample program to reproduce this issue in this thread: http://forums.sun.com/thread.jspa?messageID=10885363&#10885363. That was the original thread I raised but I have narrowed it down to a more concrete scenario. That's why I am creating this new thread. I hope this does not break any rule on this forum. If it does, I apologize.
    I really appreciate it if anyone can provide any help/suggestion.
    Regards,
    - Triet

    Here is the sample program. Again, this works on 32-bit but not 64-bit.
    #include <string>
    #include "jni.h"
    #include "TestThread.h"
    static JavaVM *g_pjvm = NULL;  /* denotes a Java VM */
    static JNIEnv *g_penv = NULL;  /* pointer to native method interface */
    void initJVM(char** jvmOptions) {
        printf("RJniTest init starts...\n");
        JavaVMInitArgs vm_args; /* JDK/JRE 6 VM initialization arguments */
        JavaVMOption* poptions;
        int optionLen = 0;
        while (jvmOptions[optionLen]) {
            optionLen++;
        printf("RJniTest::init len=%d\n", optionLen);
        if (optionLen > 0) {
            printf("RJniWrapper::init jvmOptions\n");
            poptions = new JavaVMOption[optionLen];
            //poptions[0].optionString = "-Djava.class.path=/usr/lib/java";
            int idx = 0;
            while (jvmOptions[idx]) {
                poptions[idx].optionString = jvmOptions[idx];
                idx++;
        printf("RJniTest::init vm_args: version(%x), nOptions(%d)\n",
                JNI_VERSION_1_6, optionLen);
        vm_args.version = JNI_VERSION_1_6;
        vm_args.nOptions = optionLen;
        vm_args.options = poptions;
        vm_args.ignoreUnrecognized = JNI_FALSE;
        // load and initialize a Java VM, return a JNI interface
        // pointer in env
        printf("RJniTest::init creates JVM\n");
        JNI_CreateJavaVM(&g_pjvm, (void**)&g_penv, &vm_args);
        printf("RJniTest init ends\n");
    void findClass(const char* classname) {
        static const char* fname = "justFindClasses";
        printf("%s: findClass: %s\n", fname, classname);
        JNIEnv* jenv;
        jint ret = g_pjvm->GetEnv((void**)&jenv, JNI_VERSION_1_6);
        if (ret == JNI_EDETACHED) {
            ret = g_pjvm->AttachCurrentThread((void**)&jenv, NULL);
            if (ret != JNI_OK || jenv == NULL) {
                printf("%s: get env error: ret=%d\n", ret, fname);
            } else {
                printf("%s: got new env\n", fname);
        } else if (ret == JNI_OK) {
            printf("%s: env already there\n");
        jclass classref;
        classref = jenv->FindClass(classname);
        if (classref == NULL) {
            printf("%s: %s class not found!\n", fname, classname);
            if (jenv->ExceptionOccurred()) {
                jenv->ExceptionDescribe();
                jenv->ExceptionClear();
        printf("%s: found class: %s\n", fname, classname);
    class RJniTestThread : public TestThread {
    public:
        void threadmain();
    void RJniTestThread::threadmain() {
        printf("RJniTestThread::threadmain: Starting testing\n");
        findClass("org/apache/commons/logging/Log");
        findClass("java/util/List");
        printf("RJniTestThread::threadmain: done.\n");
    int main(int argc, char** argv) {
        char **jvmOptions = NULL;
        printf("RJniTestDriver starts...\n");
        if (argc > 1) {
            jvmOptions = new char*[argc];
            for (int i = 0; i < argc ; i ++) {
                jvmOptions[i] = argv[i + 1];
            jvmOptions[argc - 1] = NULL;
        } else {
            int size = 8;
            int i = 0;
            jvmOptions = new char*[size];
            jvmOptions[i++] = (char*) "-Djava.class.path=<list of jar files and path here>";
            jvmOptions[i++] = (char*) "-Djava.library.path=/sandbox/mxdev/3rdparty/java/unix/jdk1.6.0_14/jre/lib/sparc";
            jvmOptions[i++] = (char*) "-Djava.compiler=NONE";
            jvmOptions[i++] = (char*) "-verbose:jni";
            jvmOptions[i++] = (char*) "-Xcheck:jni";
            jvmOptions[i++] = NULL;
        printf("init JVM\n");
        initJVM(jvmOptions);
        // UNCOMMENT HERE
        // findClass("org/apache/commons/logging/Log");
        // findClass("java/util/List");
        // UNCOMMENT END
        printf("start test thread\n");
        RJniTestThread testThread;
        ThreadId tid = testThread.launch();
        printf("wait for test thread\n");
        int ret = pthread_join(tid, NULL);
        printf("RJniTestDriver ends\n");
    }

  • CUPS: Printer always waits for more data, and finally times out.

    I apologise if this should be categorised as" system administration" rather than "installation". The reason why I chose this category was that the error happened right after installing and setting up cups, so it should not have to do with fine-tuning or be the result of a particularly specific situation.
    I have had a novel kind of problem with printing since I first installed Arch Linux:
    Whenever I print - regardless of application -, my OKI 431 printer will always wait for more data after having completed the print job (as shown in its small display, where it keeps saying 'DATA' even after the last printed page has come out). After 25 to 30 seconds of such waiting, it will print out two pages, the first one empty, the second one saying:
    ERROR:
    timeout
    OFFENDING COMMAND:
    timeout
    STACK:
    The printer display then goes back to saying 'ONLINE'. If I print several documents WITHIN this 25 to 30 sec delay, i.e. in fast succession, I only get the two pages once, i.e. after the last of these jobs has been printed.
    What seems to be related to that is the status message on the "Printers" page of CUPS' Web interface: It says
    Idle - "Sending data to printer."
    all the time, even though I am not printing anything. (And this was the same before the update.)
    Printing is otherwise completely fine - the one practical problem is I have an ever-growing pile of empty pages mixed with pages containing the above error message next to my printer, i.e. two extra pages after each printout. (The one workaround I have found so far is quickly switching off the printer after within the 25 - 30 secs time window.) I have tried to google this problem with various search term combinations, but have not been able to find pages specific to this problem anywhere.
    What I have tried out was wiping the /etc/cups directory, updating cups, adding the printer again using lpadmin, and setting it as the default printer with lpoptions (both as explained in the Arch Wiki page). This has not changed anything relevant about the behaviour.
    (The one effect this has had is that pointing some browsers (Opera, Dillo) to localhost:631 now gets a "Bad request" response from CUPS, but on most browsers (Mozilla, Qupzilla, Midori, Google Chrome, Lynx) it gets the normal Web interface. But this is probably not related to the problem.)
    I will try to give some basic context:
    > uname -a
    Linux bertrandrussell 3.12.9-2-ARCH #1 SMP PREEMPT Fri Jan 31 10:22:54 CET 2014 x86_64 GNU/Linux
    > pacman -Qi cups
    Version : 1.7.1-3
    > cat /etc/cups/printers.conf
    # Printer configuration file for CUPS v1.7.1
    # Written by cupsd on 2014-02-16 12:24
    # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
    <Printer OKI>
    UUID urn:uuid:6414e199-9c1c-3330-4b66-5311b2bff8e8
    Info OKI
    MakeModel OKI DATA CORP B431(PS)
    DeviceURI usb://OKI%20DATA%20CORP/B431?serial=AK17008654
    State Idle
    StateTime 1392549811
    Type 8425556
    Accepting Yes
    Shared Yes
    JobSheets none none
    QuotaPeriod 0
    PageLimit 0
    KLimit 0
    OpPolicy default
    ErrorPolicy abort-job
    </Printer>
    Can anybody help me on where to start looking?
    Thank you very much for any help!
    Florian

    It seems I have lost my first error_log, but I have produced a fresh one. It contains precisely what was logged since the reboot (albeit not the marker of when exactly I printed the document):
    I'll try the wrapper - here goes:
    I [22/Feb/2014:18:13:07 +0100] Listening to [v1.::1]:631 (IPv6)
    I [22/Feb/2014:18:13:07 +0100] Listening to 127.0.0.1:631 (IPv4)
    I [22/Feb/2014:18:13:07 +0100] Listening to /run/cups/cups.sock (Domain)
    I [22/Feb/2014:18:13:07 +0100] Remote access is disabled.
    D [22/Feb/2014:18:13:07 +0100] Added auto ServerAlias bertrandrussell
    I [22/Feb/2014:18:13:07 +0100] Loaded configuration file "/etc/cups/cupsd.conf"
    D [22/Feb/2014:18:13:07 +0100] Repairing ownership of "/run/cups"
    D [22/Feb/2014:18:13:07 +0100] Creating missing directory "/run/cups/certs"
    D [22/Feb/2014:18:13:07 +0100] Repairing ownership of "/run/cups/certs"
    D [22/Feb/2014:18:13:07 +0100] Repairing access permissions of "/run/cups/certs"
    I [22/Feb/2014:18:13:07 +0100] Using default TempDir of /var/spool/cups/tmp...
    I [22/Feb/2014:18:13:07 +0100] Configured for up to 100 clients.
    I [22/Feb/2014:18:13:07 +0100] Allowing up to 100 client connections per host.
    I [22/Feb/2014:18:13:07 +0100] Using policy "default" as the default.
    I [22/Feb/2014:18:13:07 +0100] Full reload is required.
    I [22/Feb/2014:18:13:07 +0100] Loaded MIME database from "/usr/share/cups/mime" and "/etc/cups": 39 types, 52 filters...
    D [22/Feb/2014:18:13:07 +0100] Loading printer OKI...
    D [22/Feb/2014:18:13:07 +0100] load_ppd: Loading /var/cache/cups/OKI.data...
    D [22/Feb/2014:18:13:07 +0100] cupsdRegisterPrinter(p=0x7fa99aa6d130(OKI))
    I [22/Feb/2014:18:13:07 +0100] Loading job cache file "/var/cache/cups/job.cache"...
    D [22/Feb/2014:18:13:07 +0100] [Job 1] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 2] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 3] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 4] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 5] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 6] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 7] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 8] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 9] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 10] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 11] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 12] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 13] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 14] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 15] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 16] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 17] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 18] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 19] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 20] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 21] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 22] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 23] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 24] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 25] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 26] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 27] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 28] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 29] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 30] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 31] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 32] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 33] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 34] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 35] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 36] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 37] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 38] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 39] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 40] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 41] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 42] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 43] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 44] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 45] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 46] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 47] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 48] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 49] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 50] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 51] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 52] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 53] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 54] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 55] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 56] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 57] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 58] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 59] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 60] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 61] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 62] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 63] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 64] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 65] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 66] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 67] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 68] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 69] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 70] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 71] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 72] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 73] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 74] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 75] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 76] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 77] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 78] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 79] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 80] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 81] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 82] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 83] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 84] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 85] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 86] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 87] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 88] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 89] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 90] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 91] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 92] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 93] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 94] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 95] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 96] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 97] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 98] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 99] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 100] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 101] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 102] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 103] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 104] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 105] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 106] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 107] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 108] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 109] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 110] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 111] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 112] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 113] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 114] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 115] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 116] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 117] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 118] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 119] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 120] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 121] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 122] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 123] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 124] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 125] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 126] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 127] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 128] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 129] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 130] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 131] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 132] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 133] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 134] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 135] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 136] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 137] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 138] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 139] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 140] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 141] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 142] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 143] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 144] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 145] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 146] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 147] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 148] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 149] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 150] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 151] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 152] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 153] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 154] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 155] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 156] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 157] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 158] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 159] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 160] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 161] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 162] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 163] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 164] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 165] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 166] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 167] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 168] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 169] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 170] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 171] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 172] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 173] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 174] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 175] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 176] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 177] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 178] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 179] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 180] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 181] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 182] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 183] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 184] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 185] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 186] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 187] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 188] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 189] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 190] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 191] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 192] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 193] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 194] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 195] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 196] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 197] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 198] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 199] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 200] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 201] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 202] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 203] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 204] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 205] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 206] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 207] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 208] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 209] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 210] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 211] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 212] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 213] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 214] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 215] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 216] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 217] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 218] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 219] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 220] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 221] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 222] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 223] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 224] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 225] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 226] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 227] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 228] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 229] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 230] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 231] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 232] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 233] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 234] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 235] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 236] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 237] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 238] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 239] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 240] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 241] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 242] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 243] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 244] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 245] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 246] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 247] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 248] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 249] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 250] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 251] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 252] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 253] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 254] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 255] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 256] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 257] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 258] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 259] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 260] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 261] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 262] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 263] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 264] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 265] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 266] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 267] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 268] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 269] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 270] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 271] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 272] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 273] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 274] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 275] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 276] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 277] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 278] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 279] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 280] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 281] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 282] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 283] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 284] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 285] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 286] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 287] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 288] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 289] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 290] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 291] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 292] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 293] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 294] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 295] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 296] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 297] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 298] Loading from cache...
    D [22/Feb/2014:18:13:07 +0100] [Job 299] Loading from cache...
    I [22/Feb/2014:18:13:07 +0100] Full reload complete.
    D [22/Feb/2014:18:13:07 +0100] cupsdCleanFiles(path="/var/spool/cups/tmp", pattern="(null)")
    I [22/Feb/2014:18:13:07 +0100] Cleaning out old files in "/var/spool/cups/tmp".
    D [22/Feb/2014:18:13:07 +0100] cupsdCleanFiles(path="/var/cache/cups", pattern="*.ipp")
    I [22/Feb/2014:18:13:07 +0100] Cleaning out old files in "/var/cache/cups".
    D [22/Feb/2014:18:13:07 +0100] systemd_checkin: Matched existing listener /run/cups/cups.sock with fd 3...
    D [22/Feb/2014:18:13:07 +0100] systemd_checkin: Adding new listener [v1.::] with fd 4...
    D [22/Feb/2014:18:13:07 +0100] Calling FindDeviceById(cups-OKI)
    D [22/Feb/2014:18:13:08 +0100] FindDeviceById failed: org.freedesktop.ColorManager.NotFound:device id 'cups-OKI' does not exist
    D [22/Feb/2014:18:13:08 +0100] Using profile ID "OKI-Gray..".
    D [22/Feb/2014:18:13:08 +0100] Calling CreateProfile(OKI-Gray..,temp)
    D [22/Feb/2014:18:13:09 +0100] Created profile "/org/freedesktop/ColorManager/profiles/OKI_Gray__".
    I [22/Feb/2014:18:13:09 +0100] Registering ICC color profiles for "OKI".
    D [22/Feb/2014:18:13:09 +0100] Calling CreateDevice(cups-OKI,temp)
    D [22/Feb/2014:18:13:09 +0100] Created device "/org/freedesktop/ColorManager/devices/cups_OKI".
    D [22/Feb/2014:18:13:09 +0100] Calling /org/freedesktop/ColorManager/devices/cups_OKI:AddProfile(/org/freedesktop/ColorManager/profiles/OKI_Gray__) [soft]
    E [22/Feb/2014:18:13:09 +0100] Unable to bind socket for address [v1.::1]:631 - Address already in use.
    E [22/Feb/2014:18:13:09 +0100] Unable to bind socket for address 127.0.0.1:631 - Address already in use.
    I [22/Feb/2014:18:13:09 +0100] Listening to /run/cups/cups.sock:631 on fd 3...
    I [22/Feb/2014:18:13:09 +0100] Listening to [v1.::]:631 on fd 4...
    I [22/Feb/2014:18:13:09 +0100] Resuming new connection processing...
    D [22/Feb/2014:18:13:09 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:13:09 +0100] Discarding unused server-started event...
    D [22/Feb/2014:18:13:10 +0100] Report: clients=0
    D [22/Feb/2014:18:13:10 +0100] Report: jobs=299
    D [22/Feb/2014:18:13:10 +0100] Report: jobs-active=0
    D [22/Feb/2014:18:13:10 +0100] Report: printers=1
    D [22/Feb/2014:18:13:10 +0100] Report: stringpool-string-count=1578
    D [22/Feb/2014:18:13:10 +0100] Report: stringpool-alloc-bytes=8880
    D [22/Feb/2014:18:13:10 +0100] Report: stringpool-total-bytes=27352
    D [22/Feb/2014:18:13:56 +0100] [Client 13] Accepted from localhost:631 (IPv6)
    D [22/Feb/2014:18:13:56 +0100] [Client 13] Waiting for request.
    D [22/Feb/2014:18:13:59 +0100] [Client 13] GET / HTTP/1.1
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:13:59 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:13:59 +0100] [Client 13] GET /cups.css HTTP/1.1
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:13:59 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:13:59 +0100] [Client 13] GET /images/left.gif HTTP/1.1
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:13:59 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:13:59 +0100] [Client 14] Accepted from localhost:631 (IPv6)
    D [22/Feb/2014:18:13:59 +0100] [Client 14] Waiting for request.
    D [22/Feb/2014:18:13:59 +0100] [Client 15] Accepted from localhost:631 (IPv6)
    D [22/Feb/2014:18:13:59 +0100] [Client 15] Waiting for request.
    D [22/Feb/2014:18:13:59 +0100] [Client 14] GET /images/right.gif HTTP/1.1
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:13:59 +0100] [Client 14] No authentication data provided.
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:13:59 +0100] [Client 16] Accepted from localhost:631 (IPv6)
    D [22/Feb/2014:18:13:59 +0100] [Client 16] Waiting for request.
    D [22/Feb/2014:18:13:59 +0100] [Client 15] GET /images/cups-icon.png HTTP/1.1
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:13:59 +0100] [Client 15] No authentication data provided.
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:13:59 +0100] [Client 16] GET /images/sel.gif HTTP/1.1
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:13:59 +0100] [Client 16] No authentication data provided.
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:13:59 +0100] [Client 13] GET /images/unsel.gif HTTP/1.1
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:13:59 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:13:59 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:14:02 +0100] [Client 14] GET /printers/ HTTP/1.1
    D [22/Feb/2014:18:14:02 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:14:02 +0100] [Client 14] No authentication data provided.
    D [22/Feb/2014:18:14:02 +0100] [CGI] argv[0] = "/usr/lib/cups/cgi-bin/printers.cgi"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[0] = "CUPS_CACHEDIR=/var/cache/cups"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[1] = "CUPS_DATADIR=/usr/share/cups"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[2] = "CUPS_DOCROOT=/usr/share/cups/doc"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[3] = "CUPS_FONTPATH=/usr/share/cups/fonts"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[4] = "CUPS_REQUESTROOT=/var/spool/cups"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[5] = "CUPS_SERVERBIN=/usr/lib/cups"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[6] = "CUPS_SERVERROOT=/etc/cups"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[7] = "CUPS_STATEDIR=/run/cups"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[8] = "HOME=/var/spool/cups/tmp"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[9] = "PATH=/usr/lib/cups/filter:/usr/bin:/usr/bin:/bin:/usr/bin"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[10] = "SERVER_ADMIN=root@bertrandrussell"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[11] = "SOFTWARE=CUPS/1.7.1"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[12] = "TMPDIR=/var/spool/cups/tmp"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[13] = "USER=root"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[14] = "CUPS_MAX_MESSAGE=2047"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[15] = "CUPS_SERVER=/run/cups/cups.sock"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[16] = "CUPS_ENCRYPTION=IfRequested"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[17] = "IPP_PORT=631"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[18] = "LANG=en_US.UTF8"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[19] = "REDIRECT_STATUS=1"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[20] = "GATEWAY_INTERFACE=CGI/1.1"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[21] = "SERVER_NAME=localhost"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[22] = "SERVER_PORT=631"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[23] = "REMOTE_ADDR=[v1.::1]"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[24] = "REMOTE_HOST=localhost"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[25] = "SCRIPT_NAME=/printers/"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[26] = "SCRIPT_FILENAME=/usr/share/cups/doc/printers/"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[27] = "SERVER_PROTOCOL=HTTP/1.1"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[28] = "HTTP_USER_AGENT=Mozilla/5.0 (X11; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[29] = "HTTP_REFERER=http://localhost:631/"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[30] = "REQUEST_METHOD=GET"
    D [22/Feb/2014:18:14:02 +0100] [CGI] envp[31] = "QUERY_STRING="
    D [22/Feb/2014:18:14:02 +0100] [CGI] Started /usr/lib/cups/cgi-bin/printers.cgi (PID 668)
    I [22/Feb/2014:18:14:02 +0100] [Client 14] Started "/usr/lib/cups/cgi-bin/printers.cgi" (pid=668)
    D [22/Feb/2014:18:14:02 +0100] [Client 14] file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [CGI] org.cups.sid cookie not found, initializing!
    D [22/Feb/2014:18:14:02 +0100] [CGI] org.cups.sid cookie is "4d43abea28d1837cbb1175a07cd5bb45"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: SECTION="printers"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: REFRESH_PAGE=""
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Accepted from localhost (Domain)
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Waiting for request.
    D [22/Feb/2014:18:14:02 +0100] [Client 18] POST / HTTP/1.1
    D [22/Feb/2014:18:14:02 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
    D [22/Feb/2014:18:14:02 +0100] [Client 18] No authentication data provided.
    D [22/Feb/2014:18:14:02 +0100] [Client 18] 2.0 CUPS-Get-Default 1
    D [22/Feb/2014:18:14:02 +0100] CUPS-Get-Default
    D [22/Feb/2014:18:14:02 +0100] CUPS-Get-Default client-error-not-found: No default printer.
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Returning IPP client-error-not-found for CUPS-Get-Default (no URI) from localhost
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Content-Length: 113
    D [22/Feb/2014:18:14:02 +0100] [Client 18] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=113, response=0x7fa99aaad580(IPP_IDLE), pipe_pid=0, file=-1
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Writing IPP response, ipp_state=DATA, old wused=0, new wused=0
    D [22/Feb/2014:18:14:02 +0100] [Client 18] bytes=0, http_state=0, data_remaining=0
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Waiting for request.
    D [22/Feb/2014:18:14:02 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
    D [22/Feb/2014:18:14:02 +0100] [CGI] show_all_printers(http=0x7f1162e63260, user="(null)")
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: TITLE="Printers"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: SERVER_NAME="localhost"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: CUPS_VERSION="CUPS v1.7.1"
    D [22/Feb/2014:18:14:02 +0100] [Client 14] CGI data ready to be sent.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] Script header: Set-Cookie: org.cups.sid=4d43abea28d1837cbb1175a07cd5bb45; path=/;
    D [22/Feb/2014:18:14:02 +0100] Script header: Content-Type: text/html;charset=utf-8
    D [22/Feb/2014:18:14:02 +0100] Script header:
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] CGI data ready to be sent.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 18] POST / HTTP/1.1
    D [22/Feb/2014:18:14:02 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
    D [22/Feb/2014:18:14:02 +0100] [Client 18] No authentication data provided.
    D [22/Feb/2014:18:14:02 +0100] [Client 18] 2.0 CUPS-Get-Printers 2
    D [22/Feb/2014:18:14:02 +0100] CUPS-Get-Printers
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Returning IPP successful-ok for CUPS-Get-Printers (no URI) from localhost
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Content-Length: 292
    D [22/Feb/2014:18:14:02 +0100] [Client 18] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=292, response=0x7fa99aadf780(IPP_IDLE), pipe_pid=0, file=-1
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Writing IPP response, ipp_state=DATA, old wused=0, new wused=0
    D [22/Feb/2014:18:14:02 +0100] [Client 18] bytes=0, http_state=0, data_remaining=0
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Waiting for request.
    D [22/Feb/2014:18:14:02 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: TOTAL="1"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: SERVER_NAME="localhost"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: CUPS_VERSION="CUPS v1.7.1"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetArray: printer_state[0]="3"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetArray: printer_state_message[0]=""
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetArray: admin_uri[0]="/admin/"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetArray: printer_uri_supported[0]="/printers/OKI"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetArray: printer_name[0]="OKI"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetArray: printer_location[0]=""
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetArray: printer_info[0]="OKI"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetArray: printer_make_and_model[0]="OKI DATA CORP B431(PS)"
    D [22/Feb/2014:18:14:02 +0100] [CGI] cgiSetVariable: THISURL="/printers/"
    D [22/Feb/2014:18:14:02 +0100] [Client 14] CGI data ready to be sent.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] CGI data ready to be sent.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] CGI data ready to be sent.
    D [22/Feb/2014:18:14:02 +0100] [Client 18] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:14:02 +0100] [Client 18] Closing connection.
    D [22/Feb/2014:18:14:02 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] CGI data ready to be sent.
    D [22/Feb/2014:18:14:02 +0100] PID 668 (/usr/lib/cups/cgi-bin/printers.cgi) exited with no errors.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] cupsdWriteClient error=0, used=0, state=HTTP_STATE_GET_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=668, file=17
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for CGI data.
    D [22/Feb/2014:18:14:02 +0100] [Client 14] Waiting for request.
    D [22/Feb/2014:18:14:02 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Accepted from localhost (Domain)
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Waiting for request.
    D [22/Feb/2014:18:14:21 +0100] Report: clients=5
    D [22/Feb/2014:18:14:21 +0100] Report: jobs=299
    D [22/Feb/2014:18:14:21 +0100] Report: jobs-active=0
    D [22/Feb/2014:18:14:21 +0100] Report: printers=1
    D [22/Feb/2014:18:14:21 +0100] Report: stringpool-string-count=1582
    D [22/Feb/2014:18:14:21 +0100] Report: stringpool-alloc-bytes=8904
    D [22/Feb/2014:18:14:21 +0100] Report: stringpool-total-bytes=27416
    D [22/Feb/2014:18:14:21 +0100] [Client 17] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Closing connection.
    D [22/Feb/2014:18:14:21 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Accepted from localhost (Domain)
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Waiting for request.
    D [22/Feb/2014:18:14:21 +0100] [Client 17] POST / HTTP/1.1
    D [22/Feb/2014:18:14:21 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:14:21 +0100] [Client 17] No authentication data provided.
    D [22/Feb/2014:18:14:21 +0100] [Client 17] 2.0 CUPS-Get-Printers 1
    D [22/Feb/2014:18:14:21 +0100] CUPS-Get-Printers
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Returning IPP successful-ok for CUPS-Get-Printers (no URI) from localhost
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Content-Length: 1073
    D [22/Feb/2014:18:14:21 +0100] [Client 17] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=1073, response=0x7fa99aaad7c0(IPP_IDLE), pipe_pid=0, file=-1
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Writing IPP response, ipp_state=DATA, old wused=0, new wused=0
    D [22/Feb/2014:18:14:21 +0100] [Client 17] bytes=0, http_state=0, data_remaining=0
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Waiting for request.
    D [22/Feb/2014:18:14:21 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:14:21 +0100] [Client 17] POST / HTTP/1.1
    D [22/Feb/2014:18:14:21 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:14:21 +0100] [Client 17] No authentication data provided.
    D [22/Feb/2014:18:14:21 +0100] [Client 17] 2.0 CUPS-Get-Default 2
    D [22/Feb/2014:18:14:21 +0100] CUPS-Get-Default
    D [22/Feb/2014:18:14:21 +0100] CUPS-Get-Default client-error-not-found: No default printer.
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Returning IPP client-error-not-found for CUPS-Get-Default (no URI) from localhost
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Content-Length: 113
    D [22/Feb/2014:18:14:21 +0100] [Client 17] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=113, response=0x7fa99aae73c0(IPP_IDLE), pipe_pid=0, file=-1
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Writing IPP response, ipp_state=DATA, old wused=0, new wused=0
    D [22/Feb/2014:18:14:21 +0100] [Client 17] bytes=0, http_state=0, data_remaining=0
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Waiting for request.
    D [22/Feb/2014:18:14:21 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:14:21 +0100] [Client 17] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:14:21 +0100] [Client 17] Closing connection.
    D [22/Feb/2014:18:14:21 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:14:30 +0100] [Client 16] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:14:30 +0100] [Client 16] Closing connection.
    D [22/Feb/2014:18:14:30 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:14:30 +0100] [Client 15] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:14:30 +0100] [Client 15] Closing connection.
    D [22/Feb/2014:18:14:30 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:14:30 +0100] [Client 13] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:14:30 +0100] [Client 13] Closing connection.
    D [22/Feb/2014:18:14:30 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Accepted from localhost (Domain)
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Waiting for request.
    D [22/Feb/2014:18:14:32 +0100] [Client 13] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Closing connection.
    D [22/Feb/2014:18:14:32 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Accepted from localhost (Domain)
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Waiting for request.
    D [22/Feb/2014:18:14:32 +0100] [Client 13] POST / HTTP/1.1
    D [22/Feb/2014:18:14:32 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:14:32 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:14:32 +0100] [Client 13] 2.0 CUPS-Get-Printers 3
    D [22/Feb/2014:18:14:32 +0100] CUPS-Get-Printers
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Returning IPP successful-ok for CUPS-Get-Printers (no URI) from localhost
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Content-Length: 1073
    D [22/Feb/2014:18:14:32 +0100] [Client 13] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=1073, response=0x7fa99aaad750(IPP_IDLE), pipe_pid=0, file=-1
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Writing IPP response, ipp_state=DATA, old wused=0, new wused=0
    D [22/Feb/2014:18:14:32 +0100] [Client 13] bytes=0, http_state=0, data_remaining=0
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Waiting for request.
    D [22/Feb/2014:18:14:32 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:14:32 +0100] [Client 13] POST / HTTP/1.1
    D [22/Feb/2014:18:14:32 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:14:32 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:14:32 +0100] [Client 13] 2.0 CUPS-Get-Default 4
    D [22/Feb/2014:18:14:32 +0100] CUPS-Get-Default
    D [22/Feb/2014:18:14:32 +0100] CUPS-Get-Default client-error-not-found: No default printer.
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Returning IPP client-error-not-found for CUPS-Get-Default (no URI) from localhost
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Content-Length: 113
    D [22/Feb/2014:18:14:32 +0100] [Client 13] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=113, response=0x7fa99aaad7a0(IPP_IDLE), pipe_pid=0, file=-1
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Writing IPP response, ipp_state=DATA, old wused=0, new wused=0
    D [22/Feb/2014:18:14:32 +0100] [Client 13] bytes=0, http_state=0, data_remaining=0
    D [22/Feb/2014:18:14:32 +0100] [Client 13] Waiting for request.
    D [22/Feb/2014:18:14:32 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
    D [22/Feb/2014:18:14:33 +0100] [Client 14] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:14:33 +0100] [Client 14] Closing connection.
    D [22/Feb/2014:18:14:33 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:14:44 +0100] [Client 13] POST /printers/OKI HTTP/1.1
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:14:44 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:14:44 +0100] [Client 13] 2.0 Create-Job 5
    D [22/Feb/2014:18:14:44 +0100] Create-Job ipp://localhost:631/printers/OKI
    D [22/Feb/2014:18:14:44 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Active clients"
    D [22/Feb/2014:18:14:44 +0100] add_job: requesting-user-name="lehrer"
    D [22/Feb/2014:18:14:44 +0100] Adding default job-sheets values "none,none"...
    I [22/Feb/2014:18:14:44 +0100] [Job 300] Adding start banner page "none".
    D [22/Feb/2014:18:14:44 +0100] Discarding unused job-created event...
    I [22/Feb/2014:18:14:44 +0100] [Job 300] Queued on "OKI" by "lehrer".
    D [22/Feb/2014:18:14:44 +0100] [Client 13] Returning IPP successful-ok for Create-Job (ipp://localhost:631/printers/OKI) from localhost
    D [22/Feb/2014:18:14:44 +0100] [Client 13] Content-Length: 183
    D [22/Feb/2014:18:14:44 +0100] [Client 13] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=183, response=0x7fa99aaad890(IPP_IDLE), pipe_pid=0, file=-1
    D [22/Feb/2014:18:14:44 +0100] [Client 13] Writing IPP response, ipp_state=DATA, old wused=0, new wused=0
    D [22/Feb/2014:18:14:44 +0100] [Client 13] bytes=0, http_state=0, data_remaining=0
    D [22/Feb/2014:18:14:44 +0100] [Client 13] Waiting for request.
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Dirty files", busy="Active clients and dirty files"
    D [22/Feb/2014:18:14:44 +0100] [Client 13] POST /printers/OKI HTTP/1.1
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Dirty files"
    D [22/Feb/2014:18:14:44 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:14:44 +0100] [Client 13] 2.0 Send-Document 6
    D [22/Feb/2014:18:14:44 +0100] Send-Document ipp://localhost:631/printers/OKI
    D [22/Feb/2014:18:14:44 +0100] cupsdIsAuthorized: requesting-user-name="lehrer"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Auto-typing file...
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Request file type is application/pdf.
    D [22/Feb/2014:18:14:44 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Active clients and dirty files"
    I [22/Feb/2014:18:14:44 +0100] [Job 300] File of type application/pdf queued by "lehrer".
    I [22/Feb/2014:18:14:44 +0100] [Job 300] Adding end banner page "none".
    D [22/Feb/2014:18:14:44 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Active clients and dirty files"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] time-at-processing=1393089284
    D [22/Feb/2014:18:14:44 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Active clients and dirty files"
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Active clients and dirty files"
    D [22/Feb/2014:18:14:44 +0100] Discarding unused printer-state-changed event...
    D [22/Feb/2014:18:14:44 +0100] [Job 300] 3 filters for job:
    D [22/Feb/2014:18:14:44 +0100] [Job 300] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
    D [22/Feb/2014:18:14:44 +0100] [Job 300] pdftops (application/vnd.cups-pdf to application/vnd.cups-postscript, cost 100)
    D [22/Feb/2014:18:14:44 +0100] [Job 300] - (application/vnd.cups-postscript to printer/OKI, cost 0)
    D [22/Feb/2014:18:14:44 +0100] [Job 300] job-sheets=none,none
    D [22/Feb/2014:18:14:44 +0100] [Job 300] argv[0]="OKI"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] argv[1]="300"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] argv[2]="lehrer"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] argv[3]="32_noun_clauses"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] argv[4]="1"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] argv[5]="Duplex=None InputSlot=Upper PageSize=A4 job-uuid=urn:uuid:f6fd7095-afa2-3a84-4db2-7a65f497728a job-originating-host-name=localhost time-at-creation=1393089284 time-at-processing=1393089284"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] argv[6]="/var/spool/cups/d00300-001"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[1]="CUPS_DATADIR=/usr/share/cups"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[2]="CUPS_DOCROOT=/usr/share/cups/doc"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[4]="CUPS_REQUESTROOT=/var/spool/cups"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[5]="CUPS_SERVERBIN=/usr/lib/cups"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[6]="CUPS_SERVERROOT=/etc/cups"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[7]="CUPS_STATEDIR=/run/cups"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[8]="HOME=/var/spool/cups/tmp"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[9]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/bin:/bin:/usr/bin"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[10]="SERVER_ADMIN=root@bertrandrussell"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[11]="SOFTWARE=CUPS/1.7.1"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[12]="TMPDIR=/var/spool/cups/tmp"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[13]="USER=root"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[14]="CUPS_MAX_MESSAGE=2047"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[15]="CUPS_SERVER=/run/cups/cups.sock"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[16]="CUPS_ENCRYPTION=IfRequested"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[17]="IPP_PORT=631"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[18]="CHARSET=utf-8"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[19]="LANG=de_DE.UTF-8"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[20]="PPD=/etc/cups/ppd/OKI.ppd"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[21]="RIP_MAX_CACHE=128m"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[22]="CONTENT_TYPE=application/pdf"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[23]="DEVICE_URI=usb://OKI%20DATA%20CORP/B431?serial=AK17008654"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[24]="PRINTER_INFO=OKI"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[25]="PRINTER_LOCATION="
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[26]="PRINTER=OKI"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[27]="PRINTER_STATE_REASONS=none"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[28]="CUPS_FILETYPE=document"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[29]="FINAL_CONTENT_TYPE=printer/OKI"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] envp[30]="AUTH_I****"
    I [22/Feb/2014:18:14:44 +0100] [Job 300] Started filter /usr/lib/cups/filter/pdftopdf (PID 703)
    I [22/Feb/2014:18:14:44 +0100] [Job 300] Started filter /usr/lib/cups/filter/pdftops (PID 704)
    I [22/Feb/2014:18:14:44 +0100] [Job 300] Started backend /usr/lib/cups/backend/usb (PID 705)
    D [22/Feb/2014:18:14:44 +0100] Discarding unused job-state-changed event...
    D [22/Feb/2014:18:14:44 +0100] [Client 13] Returning IPP successful-ok for Send-Document (ipp://localhost:631/printers/OKI) from localhost
    D [22/Feb/2014:18:14:44 +0100] [Client 13] Content-Length: 175
    D [22/Feb/2014:18:14:44 +0100] [Client 13] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=175, response=0x7fa99aae6ec0(IPP_IDLE), pipe_pid=0, file=-1
    D [22/Feb/2014:18:14:44 +0100] [Client 13] Writing IPP response, ipp_state=DATA, old wused=0, new wused=0
    D [22/Feb/2014:18:14:44 +0100] [Client 13] bytes=0, http_state=0, data_remaining=0
    D [22/Feb/2014:18:14:44 +0100] [Client 13] Waiting for request.
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Active clients and dirty files"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] pdftops - copying to temp print file "/var/spool/cups/tmp/002c0530d3451"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Loading USB quirks from "/usr/share/cups/usb".
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Loaded 67 quirks.
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Printing on printer with URI: usb://OKI%20DATA%20CORP/B431?serial=AK17008654
    D [22/Feb/2014:18:14:44 +0100] [Job 300] libusb_get_device_list=12
    I [22/Feb/2014:18:14:44 +0100] [Job 300] Waiting for printer to become available.
    D [22/Feb/2014:18:14:44 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Printing jobs and dirty files"
    D [22/Feb/2014:18:14:44 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:14:44 +0100] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Printing jobs and dirty files"
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Set job-printer-state-message to "Waiting for printer to become available.", current level=INFO
    D [22/Feb/2014:18:14:44 +0100] Discarding unused job-progress event...
    D [22/Feb/2014:18:14:44 +0100] Discarding unused printer-state-changed event...
    D [22/Feb/2014:18:14:44 +0100] [Job 300] PID 703 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Printer make and model: Oki B431
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Running command line for pstops: pstops 300 lehrer 32_noun_clauses 1 'Duplex=None InputSlot=Upper PageSize=A4 job-uuid=urn:uuid:f6fd7095-afa2-3a84-4db2-7a65f497728a job-originating-host-name=localhost time-at-creation=1393089284 time-at-processing=1393089284'
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Using image rendering resolution 600 dpi
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Running command line for gs: gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=ps2write -sOUTPUTFILE=%stdout -dLanguageLevel=3 -r600 -dCompressFonts=false -dNoT3CCITT -dNOINTERPOLATE -c 'save pop' -f /var/spool/cups/tmp/002c0530d3451
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Started filter gs (PID 707)
    D [22/Feb/2014:18:14:44 +0100] [Job 300] Started filter pstops (PID 708)
    D [22/Feb/2014:18:14:45 +0100] [Job 300] Page = 595x842; 13,13 to 582,829
    D [22/Feb/2014:18:14:45 +0100] [Job 300] slow_collate=0, slow_duplex=0, slow_order=0
    D [22/Feb/2014:18:14:45 +0100] [Job 300] Before copy_comments - %!PS-Adobe-3.0
    D [22/Feb/2014:18:14:45 +0100] [Job 300] %!PS-Adobe-3.0
    D [22/Feb/2014:18:14:45 +0100] [Job 300] %%BoundingBox: 0 0 595 842
    D [22/Feb/2014:18:14:45 +0100] [Job 300] %%HiResBoundingBox: 0 0 595.00 842.00
    D [22/Feb/2014:18:14:45 +0100] [Job 300] %%Creator: GPL Ghostscript 910 (ps2write)
    D [22/Feb/2014:18:14:45 +0100] [Job 300] %%LanguageLevel: 2
    D [22/Feb/2014:18:14:45 +0100] [Job 300] %%CreationDate: D:20140222181445+01'00'
    D [22/Feb/2014:18:14:45 +0100] [Job 300] %%Pages: 1
    D [22/Feb/2014:18:14:45 +0100] [Job 300] %%EndComments
    D [22/Feb/2014:18:14:45 +0100] [Job 300] Before copy_prolog - %%BeginProlog
    D [22/Feb/2014:18:14:49 +0100] [Job 300] libusb_get_device_list=12
    I [22/Feb/2014:18:14:49 +0100] [Job 300] Waiting for printer to become available.
    D [22/Feb/2014:18:14:54 +0100] [Job 300] libusb_get_device_list=12
    I [22/Feb/2014:18:14:54 +0100] [Job 300] Waiting for printer to become available.
    D [22/Feb/2014:18:14:59 +0100] [Job 300] libusb_get_device_list=12
    I [22/Feb/2014:18:14:59 +0100] [Job 300] Waiting for printer to become available.
    D [22/Feb/2014:18:15:04 +0100] [Job 300] libusb_get_device_list=12
    I [22/Feb/2014:18:15:04 +0100] [Job 300] Waiting for printer to become available.
    D [22/Feb/2014:18:15:09 +0100] [Job 300] libusb_get_device_list=13
    D [22/Feb/2014:18:15:09 +0100] [Job 300] STATE: +connecting-to-device
    D [22/Feb/2014:18:15:09 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:15:09 +0100] cupsdSetBusyState: newbusy="Dirty files", busy="Printing jobs and dirty files"
    D [22/Feb/2014:18:15:09 +0100] Discarding unused printer-state-changed event...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] STATE: -connecting-to-device
    D [22/Feb/2014:18:15:09 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:15:09 +0100] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Dirty files"
    D [22/Feb/2014:18:15:09 +0100] Discarding unused printer-state-changed event...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Device protocol: 2
    I [22/Feb/2014:18:15:09 +0100] [Job 300] Sending data to printer.
    D [22/Feb/2014:18:15:09 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:15:09 +0100] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Printing jobs and dirty files"
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Set job-printer-state-message to "Sending data to printer.", current level=INFO
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:09 +0100] Discarding unused job-progress event...
    D [22/Feb/2014:18:15:09 +0100] Discarding unused printer-state-changed event...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] PID 707 (gs) exited with no errors.
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Before copy_setup - %%Page: 1 1
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Before page loop - %%Page: 1 1
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Copying page 1...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] PAGE: 1 1
    D [22/Feb/2014:18:15:10 +0100] Discarding unused job-progress event...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] pagew = 569.0, pagel = 816.0
    D [22/Feb/2014:18:15:10 +0100] [Job 300] bboxx = 0, bboxy = 0, bboxw = 595, bboxl = 842
    D [22/Feb/2014:18:15:10 +0100] [Job 300] PageLeft = 13.0, PageRight = 582.0
    D [22/Feb/2014:18:15:10 +0100] [Job 300] PageTop = 829.0, PageBottom = 13.0
    D [22/Feb/2014:18:15:10 +0100] [Job 300] PageWidth = 595.0, PageLength = 842.0
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 1 pages...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] PID 708 (pstops) exited with no errors.
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] PID 704 (/usr/lib/cups/filter/pdftops) exited with no errors.
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:10 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Read 8192 bytes of print data...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Wrote 8192 bytes of print data...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Read 3272 bytes of print data...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Wrote 3272 bytes of print data...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Sent 216264 bytes...
    D [22/Feb/2014:18:15:11 +0100] [Job 300] Waiting for read thread to exit...
    I [22/Feb/2014:18:15:15 +0100] Saving job.cache...
    D [22/Feb/2014:18:15:15 +0100] cupsdSetBusyState: newbusy="Printing jobs", busy="Printing jobs and dirty files"
    D [22/Feb/2014:18:15:18 +0100] [Job 300] Read thread still active, aborting the pending read...
    D [22/Feb/2014:18:15:19 +0100] [Job 300] PID 705 (/usr/lib/cups/backend/usb) exited with no errors.
    D [22/Feb/2014:18:15:19 +0100] [Job 300] time-at-completed=1393089319
    D [22/Feb/2014:18:15:19 +0100] Discarding unused job-completed event...
    I [22/Feb/2014:18:15:19 +0100] [Job 300] Job completed.
    D [22/Feb/2014:18:15:19 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:15:19 +0100] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Printing jobs"
    D [22/Feb/2014:18:15:19 +0100] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Printing jobs and dirty files"
    D [22/Feb/2014:18:15:19 +0100] Discarding unused printer-state-changed event...
    D [22/Feb/2014:18:15:19 +0100] cupsdMarkDirty(---J-)
    D [22/Feb/2014:18:15:19 +0100] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Printing jobs and dirty files"
    D [22/Feb/2014:18:15:20 +0100] [Job 300] Unloading...
    I [22/Feb/2014:18:15:50 +0100] Saving job.cache...
    D [22/Feb/2014:18:15:50 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Printing jobs and dirty files"
    D [22/Feb/2014:18:15:50 +0100] Report: clients=1
    D [22/Feb/2014:18:15:50 +0100] Report: jobs=300
    D [22/Feb/2014:18:15:50 +0100] Report: jobs-active=0
    D [22/Feb/2014:18:15:50 +0100] Report: printers=1
    D [22/Feb/2014:18:15:50 +0100] Report: stringpool-string-count=1580
    D [22/Feb/2014:18:15:50 +0100] Report: stringpool-alloc-bytes=8880
    D [22/Feb/2014:18:15:50 +0100] Report: stringpool-total-bytes=27368
    D [22/Feb/2014:18:16:31 +0100] [Client 13] HTTP_STATE_WAITING Closing on EOF
    D [22/Feb/2014:18:16:31 +0100] [Client 13] Closing connection.
    D [22/Feb/2014:18:16:31 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
    D [22/Feb/2014:18:16:32 +0100] [Client 13] Accepted from localhost:631 (IPv6)
    D [22/Feb/2014:18:16:32 +0100] [Client 13] Waiting for request.
    D [22/Feb/2014:18:16:32 +0100] [Client 13] GET /printers/ HTTP/1.1
    D [22/Feb/2014:18:16:32 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
    D [22/Feb/2014:18:16:32 +0100] [Client 13] No authentication data provided.
    D [22/Feb/2014:18:16:32 +0100] [CGI] argv[0] = "/usr/lib/cups/cgi-bin/printers.cgi"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[0] = "CUPS_CACHEDIR=/var/cache/cups"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[1] = "CUPS_DATADIR=/usr/share/cups"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[2] = "CUPS_DOCROOT=/usr/share/cups/doc"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[3] = "CUPS_FONTPATH=/usr/share/cups/fonts"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[4] = "CUPS_REQUESTROOT=/var/spool/cups"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[5] = "CUPS_SERVERBIN=/usr/lib/cups"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[6] = "CUPS_SERVERROOT=/etc/cups"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[7] = "CUPS_STATEDIR=/run/cups"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[8] = "HOME=/var/spool/cups/tmp"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[9] = "PATH=/usr/lib/cups/filter:/usr/bin:/usr/bin:/bin:/usr/bin"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[10] = "SERVER_ADMIN=root@bertrandrussell"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[11] = "SOFTWARE=CUPS/1.7.1"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[12] = "TMPDIR=/var/spool/cups/tmp"
    D [22/Feb/2014:18:16:32 +0100] [CGI] envp[13] = "USER=root"
    D [22/Feb/2014:

Maybe you are looking for