-
Bug
-
Resolution: Fixed
-
P3
-
8
-
b06
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8045498 | 8u25 | Philip Race | P3 | Resolved | Fixed | b01 |
JDK-8034152 | 8u20 | Philip Race | P3 | Resolved | Fixed | b03 |
JDK-8053735 | emb-8u26 | Philip Race | P3 | Resolved | Fixed | b17 |
FULL PRODUCT VERSION :
Java(TM) SE Runtime Environment (build 1.8.0-ea-b124)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b66, mixed mode)
(this also happened with build 1.8.0-ea-b123)
ADDITIONAL OS VERSION INFORMATION :
Linux 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
EXTRA RELEVANT SYSTEM CONFIGURATION :
ii cups 1.7.0~rc1-0ubuntu5.2 amd64
A DESCRIPTION OF THE PROBLEM :
When trying to print to a CUPS-Printer using JDK 1.8EA the PrintService will not find any Printer. Other Versions of Java (1.6, 1.7) will find and list them.
I used the Test-Program from Bug #6181488:
---------------- Services_getStatus.java ------------------------
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class Services_getStatus {
public static void main(String[] args){
PrintService defServ = PrintServiceLookup.lookupDefaultPrintService();
System.out.println("Default PrintService: "+defServ);
PrintService[] serv = PrintServiceLookup.lookupPrintServices(null, null);
if (serv.length==0) {
System.out.println("no PrintService found");
} else {
System.out.println("number of Services "+serv.length);
}
for (int i = 0; i<serv.length ;i++) {
PrintServiceAttributeSet psa = serv[i].getAttributes();
System.out.println("printer name "+(i+1)+" "+psa.get(PrinterName.class));
System.out.println("accepting "+psa.get(PrinterIsAcceptingJobs.class));
}
}
}
-----------------------
-- Output with JDK1.8 --
Default PrintService: null
no PrintService found
-----------------------
-- Output with JDK 1.7 --
Default PrintService: null
number of Services 6
printer name 1 hp2055
accepting accepting-jobs
printer name 2 hp2055
accepting accepting-jobs
printer name 3 Kopierer
accepting accepting-jobs
printer name 4 Kopierer
accepting accepting-jobs
printer name 5 LaserJet
accepting accepting-jobs
printer name 6 LaserJet
accepting accepting-jobs
REGRESSION. Last worked in version 7u51
ADDITIONAL REGRESSION INFORMATION:
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile Code from above and run
java Services_getStatus
on a Linux-Machine with CUPS-Printers
or try to print from an Application like NetBeans (7.4)
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A list of CUPS-Printers
(Note: due to Bug #6181488 the Default-Printer is null)
Default PrintService: null
number of Services 6
printer name 1 hp2055
accepting accepting-jobs
printer name 2 hp2055
accepting accepting-jobs
printer name 3 Kopierer
accepting accepting-jobs
printer name 4 Kopierer
accepting accepting-jobs
printer name 5 LaserJet
accepting accepting-jobs
printer name 6 LaserJet
accepting accepting-jobs
ACTUAL -
Default PrintService: null
no PrintService found
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class Services_getStatus {
public static void main(String[] args){
PrintService defServ = PrintServiceLookup.lookupDefaultPrintService();
System.out.println("Default PrintService: "+defServ);
PrintService[] serv = PrintServiceLookup.lookupPrintServices(null, null);
if (serv.length==0) {
System.out.println("no PrintService found");
} else {
System.out.println("number of Services "+serv.length);
}
for (int i = 0; i<serv.length ;i++) {
PrintServiceAttributeSet psa = serv[i].getAttributes();
System.out.println("printer name "+(i+1)+" "+psa.get(PrinterName.class));
System.out.println("accepting "+psa.get(PrinterIsAcceptingJobs.class));
}
}
}
---------- END SOURCE ----------
Java(TM) SE Runtime Environment (build 1.8.0-ea-b124)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b66, mixed mode)
(this also happened with build 1.8.0-ea-b123)
ADDITIONAL OS VERSION INFORMATION :
Linux 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
EXTRA RELEVANT SYSTEM CONFIGURATION :
ii cups 1.7.0~rc1-0ubuntu5.2 amd64
A DESCRIPTION OF THE PROBLEM :
When trying to print to a CUPS-Printer using JDK 1.8EA the PrintService will not find any Printer. Other Versions of Java (1.6, 1.7) will find and list them.
I used the Test-Program from Bug #6181488:
---------------- Services_getStatus.java ------------------------
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class Services_getStatus {
public static void main(String[] args){
PrintService defServ = PrintServiceLookup.lookupDefaultPrintService();
System.out.println("Default PrintService: "+defServ);
PrintService[] serv = PrintServiceLookup.lookupPrintServices(null, null);
if (serv.length==0) {
System.out.println("no PrintService found");
} else {
System.out.println("number of Services "+serv.length);
}
for (int i = 0; i<serv.length ;i++) {
PrintServiceAttributeSet psa = serv[i].getAttributes();
System.out.println("printer name "+(i+1)+" "+psa.get(PrinterName.class));
System.out.println("accepting "+psa.get(PrinterIsAcceptingJobs.class));
}
}
}
-----------------------
-- Output with JDK1.8 --
Default PrintService: null
no PrintService found
-----------------------
-- Output with JDK 1.7 --
Default PrintService: null
number of Services 6
printer name 1 hp2055
accepting accepting-jobs
printer name 2 hp2055
accepting accepting-jobs
printer name 3 Kopierer
accepting accepting-jobs
printer name 4 Kopierer
accepting accepting-jobs
printer name 5 LaserJet
accepting accepting-jobs
printer name 6 LaserJet
accepting accepting-jobs
REGRESSION. Last worked in version 7u51
ADDITIONAL REGRESSION INFORMATION:
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile Code from above and run
java Services_getStatus
on a Linux-Machine with CUPS-Printers
or try to print from an Application like NetBeans (7.4)
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A list of CUPS-Printers
(Note: due to Bug #6181488 the Default-Printer is null)
Default PrintService: null
number of Services 6
printer name 1 hp2055
accepting accepting-jobs
printer name 2 hp2055
accepting accepting-jobs
printer name 3 Kopierer
accepting accepting-jobs
printer name 4 Kopierer
accepting accepting-jobs
printer name 5 LaserJet
accepting accepting-jobs
printer name 6 LaserJet
accepting accepting-jobs
ACTUAL -
Default PrintService: null
no PrintService found
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class Services_getStatus {
public static void main(String[] args){
PrintService defServ = PrintServiceLookup.lookupDefaultPrintService();
System.out.println("Default PrintService: "+defServ);
PrintService[] serv = PrintServiceLookup.lookupPrintServices(null, null);
if (serv.length==0) {
System.out.println("no PrintService found");
} else {
System.out.println("number of Services "+serv.length);
}
for (int i = 0; i<serv.length ;i++) {
PrintServiceAttributeSet psa = serv[i].getAttributes();
System.out.println("printer name "+(i+1)+" "+psa.get(PrinterName.class));
System.out.println("accepting "+psa.get(PrinterIsAcceptingJobs.class));
}
}
}
---------- END SOURCE ----------
- backported by
-
JDK-8034152 javax.print.PrintService does not find any CUPS-Printers on Linux
-
- Resolved
-
-
JDK-8045498 javax.print.PrintService does not find any CUPS-Printers on Linux
-
- Resolved
-
-
JDK-8053735 javax.print.PrintService does not find any CUPS-Printers on Linux
-
- Resolved
-