From ptisnovs at icedtea.classpath.org Thu Nov 1 02:21:13 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 01 Nov 2012 09:21:13 +0000 Subject: /hg/rhino-tests: First version of generator of history result pa... Message-ID: changeset 54e2a2055eec in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=54e2a2055eec author: Pavel Tisnovsky date: Thu Nov 01 10:23:59 2012 +0100 First version of generator of history result pages. diffstat: ChangeLog | 5 + src/org/RhinoTests/Reporter/HistoryPagesGenerator.java | 215 ++++++++++++++++- 2 files changed, 216 insertions(+), 4 deletions(-) diffs (247 lines): diff -r c9ebb01301a7 -r 54e2a2055eec ChangeLog --- a/ChangeLog Tue Oct 23 13:35:27 2012 +0200 +++ b/ChangeLog Thu Nov 01 10:23:59 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-01 Pavel Tisnovsky + + * src/org/RhinoTests/Reporter/HistoryPagesGenerator.java: + First version of generator of history result pages. + 2012-10-23 Pavel Tisnovsky * src/org/RhinoTests/Reporter/StringUtils.java: diff -r c9ebb01301a7 -r 54e2a2055eec src/org/RhinoTests/Reporter/HistoryPagesGenerator.java --- a/src/org/RhinoTests/Reporter/HistoryPagesGenerator.java Tue Oct 23 13:35:27 2012 +0200 +++ b/src/org/RhinoTests/Reporter/HistoryPagesGenerator.java Thu Nov 01 10:23:59 2012 +0100 @@ -40,11 +40,17 @@ package org.RhinoTests.Reporter; +import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + + /** - * + * History page(s) generator. + * * @author Pavel Tisnovsky */ public class HistoryPagesGenerator @@ -52,8 +58,209 @@ public static void generate(Map>> testResults, CommandLineParameters params) { - // TODO Auto-generated method stub - + createHtmlPageFromTemplate(testResults, params, 10, TestType.FAILED); + createHtmlPageFromTemplate(testResults, params, 20, TestType.FAILED); + createHtmlPageFromTemplate(testResults, params, 30, TestType.FAILED); + createHtmlPageFromTemplate(testResults, params, -1, TestType.ALL); + createHtmlPageFromTemplate(testResults, params, -1, TestType.FAILED); } - + + private static void createHtmlPageFromTemplate(Map>> testResults, CommandLineParameters params, int testCount, TestType testType) + { + List template = FileUtils.readTextFile(params.getTemplateDir() + "/hist.html"); + List out = new LinkedList(); + List dateList = getDateList(testResults, testCount, testType); + // list of all tests + Set testList = getTestList(testResults, dateList); + + // iterate through whole template + for (String templateLine : template) { + // replace text in template where needed + if (templateLine.contains("${RESULTS}")) + { + String testCountMessage = generateTitleMessage(testCount, testType); + templateLine = templateLine.replace("${RESULTS}", testCountMessage); + out.add(templateLine); + } + else if (templateLine.contains("${TABLE_DATA}")) + { + renderTableData(out, testResults, dateList, testList); + } + else + { + out.add(templateLine); + } + } + + // write list of string to a file with given name + String outName = createOutputFileName(testCount, testType); + FileUtils.writeTextFile(params.getReportDir() + "/" + outName + ".html", out); + } + + private static List getDateList(Map>> testResults, int testCount, TestType testType) { + List dates = new LinkedList(); + for (Map.Entry>> oneResult : testResults.entrySet()) { + dates.add(oneResult.getKey()); + } + if (testCount >= 0) { + dates = dates.subList(dates.size() - testCount, dates.size()); + } + return dates; + } + + private static Set getTestList(Map>> testResults, List dateList) { + Set failedTests = new TreeSet(); + + for (String date : dateList) + { + for (Map.Entry> test : testResults.get(date).entrySet()) + { + failedTests.addAll(grepTests(test.getValue(), "FAILED: ")); + } + } + for (int i = 0; i < dateList.size() - 1; i++) + { + String date1 = dateList.get(i); + String date2 = dateList.get(i + 1); + Set passedTests1 = new TreeSet(); + Set passedTests2 = new TreeSet(); + + for (Map.Entry> test : testResults.get(date1).entrySet()) + { + passedTests1.addAll(grepTests(test.getValue(), "PASSED: ")); + } + for (Map.Entry> test : testResults.get(date2).entrySet()) + { + passedTests2.addAll(grepTests(test.getValue(), "PASSED: ")); + } + + Set diff1 = new TreeSet(); + Set diff2 = new TreeSet(); + diff1.addAll(passedTests1); + diff2.addAll(passedTests2); + diff1.removeAll(passedTests2); + diff2.removeAll(passedTests1); + failedTests.addAll(diff1); + failedTests.addAll(diff2); + } + return failedTests; + } + + /** + * @param failedTests + * @param log + */ + private static Set grepTests(List log, String prefix) { + Set result = new TreeSet(); + for (String line : log) + { + if (line.startsWith(prefix)) + { + String testName = line.substring(prefix.length()); + if (testName.indexOf(' ') >= 0) + { + testName = testName.substring(0, testName.indexOf(' ')); + } + if (testName.indexOf(':') >= 0) + { + testName = testName.substring(0, testName.indexOf(':')); + } + result.add(testName); + } + } + return result; + } + + /** + * @param testCount + * @param testType + * @return + */ + private static String generateTitleMessage(int testCount, TestType testType) { + return testCount == -1 ? testType == TestType.ALL ? "all results" : "failed tests" : "last " + testCount + " results"; + } + + /** + * @param testCount + * @return + */ + private static String createOutputFileName(int testCount, TestType testType) { + String s = testCount == -1 ? testType == TestType.ALL ? "all_tests" : "failed_tests" : "" + testCount; + return "hist_" + s; + } + + private static void renderTableData(List out, Map>> testResults, List dateList, Set testList) { + printFirstTableLine(out, dateList); + printRestOfTable(out, testResults, dateList, testList); + } + + /** + * @param out + * @param dateList + */ + private static void printFirstTableLine(List out, List dateList) { + out.add("Test name/Date:"); + for (String date : dateList) + { + String d1 = date.substring(0, 4); + String d2 = date.substring(5); + out.add("" + d1 + "
" + d2 + ""); + } + out.add(""); + } + + private static void printRestOfTable(List out, Map>> testResults, List dateList, Set testList) { + for (String testName : testList) + { + out.add("" + testName + ""); + for (String date : dateList) + { + TestStatus testStatus = getTestStatus(testName, date, testResults); + String cssClass = testStatus == TestStatus.PASSED ? "passed-header" : testStatus == TestStatus.FAILED ? "failed-header" : "empty"; + out.add(" "); + } + out.add(""); + } + } + + private static TestStatus getTestStatus(String testName, String date, Map>> testResults) + { + String simpleName = date + "/" + testName.substring("org.RhinoTests.".length(), testName.lastIndexOf('.')) + ".log"; + for (Map.Entry> test : testResults.get(date).entrySet()) + { + if (test.getKey().endsWith(simpleName)) + { + List log = test.getValue(); + for (String line : log) + { + if (line.startsWith("FAILED: ")) + { + String tn = line.substring("FAILED: ".length()); + if (tn.indexOf(' ') >= 0) + { + tn = tn.substring(0, tn.indexOf(' ')); + } + if (tn.indexOf(':') >= 0) + { + tn = tn.substring(0, tn.indexOf(':')); + } + if (tn.equals(testName)) + { + return TestStatus.FAILED; + } + } + if (line.startsWith("PASSED: ")) + { + String tn = line.substring("PASSED: ".length()); + if (tn.equals(testName)) + { + return TestStatus.PASSED; + } + } + } + } + } + return TestStatus.NOT_FOUND; + } + } From ptisnovs at icedtea.classpath.org Thu Nov 1 02:47:19 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 01 Nov 2012 09:47:19 +0000 Subject: /hg/gfx-test: Fixed comments and added new tests to the test suite Message-ID: changeset 1368deeafc02 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=1368deeafc02 author: Pavel Tisnovsky date: Thu Nov 01 10:49:40 2012 +0100 Fixed comments and added new tests to the test suite src/org/gfxtest/testsuites/BitBltBasicTests.java diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBasicTests.java | 345 +++++++++++++++++------ 2 files changed, 260 insertions(+), 90 deletions(-) diffs (truncated from 994 to 500 lines): diff -r f649871e5624 -r 1368deeafc02 ChangeLog --- a/ChangeLog Tue Oct 23 12:11:13 2012 +0200 +++ b/ChangeLog Thu Nov 01 10:49:40 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-01 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBasicTests.java: + Fixed comments and added new tests to this test suite. + 2012-10-23 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestBitBltMirrorImage.java: diff -r f649871e5624 -r 1368deeafc02 src/org/gfxtest/testsuites/BitBltBasicTests.java --- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Tue Oct 23 12:11:13 2012 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Thu Nov 01 10:49:40 2012 +0100 @@ -81,7 +81,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -96,7 +96,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -111,7 +111,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -126,7 +126,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_BYTE_BINARY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -141,7 +141,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_INT_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -156,7 +156,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -171,7 +171,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -186,7 +186,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_INT_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -201,7 +201,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_USHORT_565_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -216,7 +216,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_USHORT_555_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -231,7 +231,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_BYTE_GRAY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -246,7 +246,7 @@ * Test basic BitBlt operation for empty buffered image with type TYPE_USHORT_GRAY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -261,7 +261,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_BINARY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -276,7 +276,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_INT_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -291,7 +291,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_INT_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -306,7 +306,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -321,7 +321,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_INT_ARGB_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -336,7 +336,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -351,7 +351,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -366,7 +366,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_BYTE_GRAY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -381,7 +381,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_GRAY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -396,7 +396,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_565_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -411,7 +411,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_USHORT_555_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -426,7 +426,7 @@ * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -441,7 +441,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -456,7 +456,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -471,7 +471,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -486,7 +486,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -501,7 +501,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -516,7 +516,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_4BYTE_ABGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -531,7 +531,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -546,7 +546,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -561,7 +561,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_GRAY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -576,7 +576,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_565_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -591,7 +591,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_555_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -606,7 +606,7 @@ * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_3BYTE_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -621,7 +621,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_BYTE_BINARY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -636,7 +636,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_INT_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -651,7 +651,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_INT_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -666,7 +666,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_INT_ARGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -681,7 +681,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_INT_ARGB_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -696,7 +696,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_4BYTE_ABGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -711,7 +711,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_4BYTE_ABGR_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -726,7 +726,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_BYTE_GRAY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -741,7 +741,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_USHORT_GRAY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -756,7 +756,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_USHORT_565_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -771,7 +771,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_USHORT_555_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -786,7 +786,7 @@ * Test basic BitBlt operation for grid buffered image with type TYPE_3BYTE_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -802,7 +802,7 @@ * TYPE_BYTE_BINARY. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -817,7 +817,7 @@ * Test basic BitBlt operation for diagonal grid buffered image with type TYPE_INT_RGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -832,7 +832,7 @@ * Test basic BitBlt operation for diagonal grid buffered image with type TYPE_INT_BGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -847,7 +847,7 @@ * Test basic BitBlt operation for diagonal grid buffered image with type TYPE_INT_ARGB. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -862,7 +862,7 @@ * Test basic BitBlt operation for diagonal grid buffered image with type TYPE_INT_ARGB_PRE. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas * @return test result status - PASSED, FAILED or ERROR @@ -877,7 +877,7 @@ * Test basic BitBlt operation for diagonal grid buffered image with type TYPE_4BYTE_ABGR. * * @param image - * image to which line is to be drawn + * image to used as a destination for BitBlt-type operations * @param graphics2d * graphics canvas From aph at redhat.com Thu Nov 1 05:11:58 2012 From: aph at redhat.com (Andrew Haley) Date: Thu, 01 Nov 2012 12:11:58 +0000 Subject: Hello, World! / 64-bit ARMv8 Message-ID: <5092670E.8010800@redhat.com> Having successfully run "Hello, World!" on our 64-bit ARM simulation just after Java One, we've fixed a few bugs and I'm moving on to some more difficult tests. This is a great demonstration of how far we've come: happy:~ $ /home/aph/aarch64/jdk8/build/linux-amd64-debug/j2sdk-image/bin/javac Hello.java happy:~ $ /home/aph/aarch64/jdk8/build/linux-amd64-debug/j2sdk-image/bin/java Hello Hello, World! I think this is turning into something real. TCK testing next. Andrew. From jvanek at redhat.com Thu Nov 1 08:32:40 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 01 Nov 2012 16:32:40 +0100 Subject: Icedtea-web splashscreen implementation In-Reply-To: <508ECE31.1040507@redhat.com> References: <501928CB.4090002@redhat.com> <5019354B.3020100@redhat.com> <501983CD.4080405@redhat.com> <5020D6D8.6050302@redhat.com> <5021400A.1050804@redhat.com> <50291A05.1080606@redhat.com> <507C4A48.2020404@redhat.com> <5086D90A.5020701@redhat.com> <5086DEFE.3070106@redhat.com> <5086E1A5.5000301@redhat.com> <5087BA8E.7010106@redhat.com> <508ECE31.1040507@redhat.com> Message-ID: <50929618.9030001@redhat.com> On 10/29/2012 07:42 PM, Omair Majid wrote: > Hi Jiri, > > Comments in-line below. Thank you :) But you are giving me hard times. It needs a lot of garbage-searching in deep corners of my nearly-forgotten memories to recall why I have done something. I hope You will like this new patch more! > > On 10/24/2012 05:53 AM, Jiri Vanek wrote: >> diff -r c52fcd37dbd8 netx/net/sourceforge/jnlp/GuiLaunchHandler.java >> --- a/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Tue Oct 23 09:56:26 2012 +0200 >> +++ b/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Wed Oct 24 11:46:08 2012 +0200 >> @@ -80,10 +80,13 @@ >> } >> >> private void closeSplashScreen() { >> - synchronized(mutex) { >> + synchronized (mutex) { >> if (splashScreen != null) { >> if (splashScreen.isSplashScreenValid()) { >> splashScreen.setVisible(false); >> + if (splashScreen.isCustomSplashscreen()) { >> + splashScreen.stopAnimation(); >> + } > > Perhaps splashScreen.stopAnimation() can be called without the > splashScreen.isCustomSplashscreen check? stopAnimation() already does > this check. Sure, sorry. > >> diff -r c52fcd37dbd8 netx/net/sourceforge/jnlp/JNLPSplashScreen.java >> --- a/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Tue Oct 23 09:56:26 2012 +0200 >> +++ b/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Wed Oct 24 11:46:08 2012 +0200 > >> + //Toolkit.getDefaultToolkit().getScreenSize(); works always, but center >> + //only to middle of all monitors. >> + //Below code works on 1.4 and higher, and center to middle of primary monmtor > > This comment, just by itself, does not make too much sense (I guess it > requires the reader to know about the previous implementation). Perhaps > you can rephrase it? > > // Centering to middle of Toolkit.getDefaultToolkit().getScreenSize() > // centers to the middle of all monitors. Let's center to the middle > // of the primary monitor instead. > // TODO center on the 'current' monitor to meet user expectation As you wish:) > > >> + setLocationRelativeTo(null); >> } >> >> @Override >> public void paint(Graphics g) { >> if (splashImage == null) { >> + super.paint(g); > > Nice catch! > >> + >> + boolean isCustomSplashscreen() { >> + return (componetSplash!=null); >> + } >> + >> + void stopAnimation() { >> + if (isCustomSplashscreen()) componetSplash.stopAnimation(); >> + } > > Please consider making these methods public or private. It was intentional to keep them package-private, but there is no harm to make them public. Done. > >> } >> diff -r c52fcd37dbd8 netx/net/sourceforge/jnlp/Launcher.java >> --- a/netx/net/sourceforge/jnlp/Launcher.java Tue Oct 23 09:56:26 2012 +0200 >> +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Oct 24 11:46:08 2012 +0200 > >> protected ApplicationInstance launchApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { > >> + if (JNLPRuntime.getForksAllowed()&& file.needsNewVM()) { >> + if (!JNLPRuntime.isHeadless()) { >> + SplashScreen sp = SplashScreen.getSplashScreen(); >> + if (sp != null) { >> + sp.close(); >> + } >> + } > > This is really puzzling. Forks are never allowed for applets, so the > first if statement should never evaluate to true. But if we could start > new VMs for applets, we would need to prevent applets from running in > this VM. We need to return from this method to avoid executing further > code, but we also need to notify the plugin that another VM now handles > the plugin. Really? Not even when launched from jnlfile even with xmx?? I thin there is no reason not to allow them... However I have followed your advice. But I really think that applets launched via jnlp should be able to fork... > > I think it's just simpler to remove this code. Maybe add this instead? > > if (JNLPRuntime.getForksAllowed()) { > throw new AssertionError("applets are not allowed to fork"); > } > >> + } >> + if (handler != null) { >> + handler.launchInitialized(file); >> + } > > Please don't add null checks. Why is the handler null? Maybe it should > be set to a no-op handler instance (in the constructor of this class) if > it's not otherwise set? hmm.. I see your point. But for this I have to had some reason... I feel better with this null check. I have kept this in. > >> - protected AppletInstance createApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { >> + protected synchronized AppletInstance createApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { > > Okay, this "synchronized" keyword here looks rather out of place. If > synchronization is really needed, I don't think we should be adding it > to this class. Well here we have an disagreeing. I have played with those two newly synchronised methods again. When two (or even more) applets are on same page, launched together, without both method synchronised the splashscrens are initiated wiredly:( After those tests I have kept those new synchronisation in code. What is actually your reason not to add them? > >> + // appletInstance is needed by ServiceManager when looking up >> + // services. This could potentially be done in applet constructor >> + // so initialize appletInstance before creating applet. > > Could you leave this change out of the patch? Let's not mix in multiple > fixes/changes. > Done. Although with heavy heart because I have no Idea why I it ever write inside... But I suppose you are right with removing it:) > Also, I am not sure if applets are allowed to use the ServiceManager > methods until init() is invoked. They are not allowed to call applet > methods, for example: > http://docs.oracle.com/javase/7/docs/api/java/applet/Applet.html#Applet() > >> + AppletInstance appletInstance = null; >> + ThreadGroup group = Thread.currentThread().getThreadGroup(); >> try { >> JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy); >> >> if (enableCodeBase) { >> loader.enableCodeBase(); >> } else if (file.getResources().getJARs().length == 0) { >> - throw new ClassNotFoundException("Can't do a codebase look up and there are no jars. Failing sooner rather than later"); >> + Exception ex = new ClassNotFoundException("Can't do a codebase look up and there are no jars. Failing sooner rather than later"); >> + try { >> + SplashUtils.showError(ex, new AppletEnvironment(file, new AppletInstance(file, group, new ClassLoader() { >> + }, null))); >> + } catch (Exception exx) { >> + if (JNLPRuntime.isDebug()) { >> + exx.printStackTrace(); >> + } >> + } > > Would it be possible to use launchError to handle this message rather > than using SplashUtils directly? Actually not:) But I have removed whole spalsh related stuff from this catch block, because exception is catch later and in this place properly shown by ErrorSpalsh. Thank you for hint. > >> private LaunchException launchError(LaunchException ex) { >> + return launchError(ex, null); >> + } >> + >> + private LaunchException launchError(LaunchException ex, AppletInstance applet) { >> + if (applet != null) { >> + SplashUtils.showErrorCaught(ex, applet); >> + } > > RFE: I would like to see (in some future patch) a applet-specific > handler that can be used to avoid needing a explicit call to SplashUtils. > > >> + public void setAppletViewerFrame(SplashController framePanel) { >> + appletViewerFrame=framePanel; >> + } >> + >> + @Override >> + public void removeSplash() { >> + appletViewerFrame.removeSplash(); >> + } >> + >> + @Override >> + public void replaceSplash(SplashPanel r) { >> + appletViewerFrame.replaceSplash(r); >> + } >> + >> + @Override >> + public int getSplashWidth() { >> + return appletViewerFrame.getSplashWidth(); >> + } >> + >> + @Override >> + public int getSplashHeigth() { >> + return appletViewerFrame.getSplashHeigth(); >> + } > > Interesting that all these methods are manipulating the > appletViewerFrame. Looks to me like they belong in PluginAppletViewer > class. Or maybe the instance variable appletViewerFrame should be > renamed to splashController. But it still seems odd that these methods > are in this class if all they are doing is passing the calls along to > the SplashController. Yes. This class is just exposing inside-SplashControler. I had the name toremeber that spalshcotroler inside IS AppletViewer. However - Renamed. > >> diff -r c52fcd37dbd8 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java >> --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Tue Oct 23 09:56:26 2012 +0200 >> +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Oct 24 11:46:08 2012 +0200 > > I would like someone more knowledgeable than me to review this piece of > code too. There are lots of changes with implications that I am unaware of. :( > >> @@ -145,7 +149,12 @@ >> @Override public void run() { >> panel.createNewAppContext(); >> // create the frame. >> - PluginAppletViewer.framePanel(identifier, handle, panel); >> + int width = Integer.parseInt(atts.get("width")); >> + int height = Integer.parseInt(atts.get("height")); >> + >> + PluginDebug.debug("X and Y are: " + width + " " + height); > > The width/height are being obtained twice now. Is the second invocation > needed? Checked and fixed. Although I have felt better with previous satte, it should be ok as it is in this new one (extracted get("width/height")) > >> - public static void framePanel(int identifier, long handle, NetxPanel panel) { >> + public static synchronized PluginAppletViewer framePanel(int identifier,long handle, int width, int height, NetxPanel panel) { > > Maybe this method should be renamed to createPanel now? It's not framing > the panel anymore. > > Also, why the 'synchronized' keyword. What requires synchronization? > >> + final AppletPanel fPanel = panel; >> + try { >> + SwingUtilities.invokeAndWait(new Runnable() { >> + >> + public void run() { >> + add("Center", fPanel); >> + fPanel.setVisible(false); >> + >> + splashPanel = SplashUtils.getSplashScreen(fPanel.getWidth(), fPanel.getHeight()); >> + if (splashPanel != null) { >> + splashPanel.startAnimation(); >> + PluginDebug.debug("Added splash " + splashPanel); >> + add("Center", splashPanel.getSplashComponent()); >> + } >> + pack(); >> + } >> + }); >> + } catch (Exception e) { >> + e.printStackTrace(); // Not much we can do other than print >> + } > > This new code looks like it really should be in its own method. Done. > >> + @Override >> + public void removeSplash() { >> + >> + // Loading done. Remove splash screen. >> + if (splashPanel == null) { >> + return; >> + } > > Is the comment relevant? At first I thought it was saying that > splashPanel == null implies that loading is done. But going through the > code, it looks like it just makes this method a no-op after first > invocation. No. Removed more this-one-like comments > >> + try { >> + SwingUtilities.invokeAndWait(new Runnable() { >> + >> + public void run() { >> + splashPanel.getSplashComponent().setVisible(false); >> + splashPanel.stopAnimation(); >> + remove(splashPanel.getSplashComponent()); >> + splashPanel = null; >> + // Re-add the applet >> + remove(panel); >> + add(panel); > > I am guessing the remove()/add() is need to notify the container of > changes? Maybe the comment can say why that's being done instead of > saying what's being done. Done. > >> + case AppletPanel.APPLET_START: { >> + String s="Error1 detected"; >> + PluginDebug.debug(s); >> + if (src.status != AppletPanel.APPLET_INIT&& src.status != AppletPanel.APPLET_STOP) { >> + SplashPanel sp=SplashUtils.getErrorSplashScreen(appletViewer.panel.getWidth(), appletViewer.panel.getHeight(), new Exception(s)); >> + appletViewer.replaceSplash(sp); >> + } >> + >> + break; >> + } > > Could you add a comment explaining how APPLET_START is an error? Eeeerrr. no:) The error is only inside if block. Both error messages (above and below) rewritten. > >> + case AppletPanel.APPLET_ERROR: { >> + String s="Error2 detected"; >> + PluginDebug.debug(s); > > The debug message doesn't explain anything. Could you add more information? > >> + System.err.println("Waiting for applet init"); > > Sounds like this should be a PluginDebug.debug() message. Srure. > Thank you again, j. -------------- next part -------------- A non-text attachment was scrubbed... Name: splash_Integration_X.diff Type: text/x-patch Size: 34249 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121101/1790e5f5/splash_Integration_X.diff From bugzilla-daemon at icedtea.classpath.org Thu Nov 1 08:48:29 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 01 Nov 2012 15:48:29 +0000 Subject: [Bug 1198] JSObject is not valid on Javascript side In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198 --- Comment #4 from Deepak Bhole --- Sorry for the confusion. I was not aware that new Object() is also a valid JS statement. This is clearly a bug in icedtea-web and we will look into it. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121101/b8fc3b35/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 1 08:49:03 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 01 Nov 2012 15:49:03 +0000 Subject: [Bug 1198] JSObject is not valid on Javascript side In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |adomurad at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121101/b5ac2610/attachment.html From omajid at redhat.com Thu Nov 1 09:30:24 2012 From: omajid at redhat.com (Omair Majid) Date: Thu, 01 Nov 2012 12:30:24 -0400 Subject: Icedtea-web splashscreen implementation In-Reply-To: <50929618.9030001@redhat.com> References: <501928CB.4090002@redhat.com> <5019354B.3020100@redhat.com> <501983CD.4080405@redhat.com> <5020D6D8.6050302@redhat.com> <5021400A.1050804@redhat.com> <50291A05.1080606@redhat.com> <507C4A48.2020404@redhat.com> <5086D90A.5020701@redhat.com> <5086DEFE.3070106@redhat.com> <5086E1A5.5000301@redhat.com> <5087BA8E.7010106@redhat.com> <508ECE31.1040507@redhat.com> <50929618.9030001@redhat.com> Message-ID: <5092A3A0.8030202@redhat.com> On 11/01/2012 11:32 AM, Jiri Vanek wrote: > On 10/29/2012 07:42 PM, Omair Majid wrote: >> Hi Jiri, >> >> Comments in-line below. > > Thank you :) > > But you are giving me hard times. It needs a lot of garbage-searching in > deep corners of my nearly-forgotten memories to recall why I have done > something. Err... sorry. >>> } >>> diff -r c52fcd37dbd8 netx/net/sourceforge/jnlp/Launcher.java >>> --- a/netx/net/sourceforge/jnlp/Launcher.java Tue Oct 23 09:56:26 >>> 2012 +0200 >>> +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Oct 24 11:46:08 >>> 2012 +0200 >> >>> protected ApplicationInstance launchApplet(JNLPFile file, >>> boolean enableCodeBase, Container cont) throws LaunchException { >> >>> + if (JNLPRuntime.getForksAllowed()&& file.needsNewVM()) { >>> + if (!JNLPRuntime.isHeadless()) { >>> + SplashScreen sp = SplashScreen.getSplashScreen(); >>> + if (sp != null) { >>> + sp.close(); >>> + } >>> + } >> >> This is really puzzling. Forks are never allowed for applets, so the >> first if statement should never evaluate to true. But if we could start >> new VMs for applets, we would need to prevent applets from running in >> this VM. We need to return from this method to avoid executing further >> code, but we also need to notify the plugin that another VM now handles >> the plugin. > > Really? Not even when launched from jnlfile even with xmx?? I thin there > is no reason not to allow them... > However I have followed your advice. But I really think that applets > launched via jnlp should be able to fork... Ah, you are right, of course! Can you post this particular change as a separate patch? It is not related to the rest of the patch and I will okay it ASAP. But you still need to create a new JVM and make it run that applet and stop this JVM from running it. >>> - protected AppletInstance createApplet(JNLPFile file, boolean >>> enableCodeBase, Container cont) throws LaunchException { >>> + protected synchronized AppletInstance createApplet(JNLPFile >>> file, boolean enableCodeBase, Container cont) throws LaunchException { >> >> Okay, this "synchronized" keyword here looks rather out of place. If >> synchronization is really needed, I don't think we should be adding it >> to this class. > > Well here we have an disagreeing. I have played with those two newly > synchronised methods again. > When two (or even more) applets are on same page, launched together, > without both method synchronised the splashscrens are initiated wiredly:( > After those tests I have kept those new synchronisation in code. > > What is actually your reason not to add them? As far as I can tell there are no existing 'synchronized' methods in this class. I am not sure if this class is meant to be thread safe or not. It forks a bunch of threads and then waits for them to join but I don't see any synchronization otherwise. This addition of synchronized adds additional responsibility to the class, but without any other details or explanation. I would be okay with adding them if you could clarify why they are needed here. Instead of adding 'synchronized' to two methods, lets find out why that weirdness is happening and the best way to fix it. Does this class need to be made thread-safe (and the documentation for this class updated)? Or do we need to use some higher level primitives to ensure exclusivity? Unless we understand the actual problem, this fix might turn out to be a bad decision. It may even cause deadlocks if we don't fully understand its consequences. If you really think this is needed right now, then please add a FIXME at least so we can double check this later. But I would really prefer to understand and fix the underlying problem correctly once and for all. I am okay with everything else in the patch. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvanek at redhat.com Thu Nov 1 10:01:16 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 01 Nov 2012 18:01:16 +0100 Subject: Icedtea-web splashscreen implementation In-Reply-To: <5092A3A0.8030202@redhat.com> References: <501928CB.4090002@redhat.com> <5019354B.3020100@redhat.com> <501983CD.4080405@redhat.com> <5020D6D8.6050302@redhat.com> <5021400A.1050804@redhat.com> <50291A05.1080606@redhat.com> <507C4A48.2020404@redhat.com> <5086D90A.5020701@redhat.com> <5086DEFE.3070106@redhat.com> <5086E1A5.5000301@redhat.com> <5087BA8E.7010106@redhat.com> <508ECE31.1040507@redhat.com> <50929618.9030001@redhat.com> <5092A3A0.8030202@redhat.com> Message-ID: <5092AADC.3010805@redhat.com> On 11/01/2012 05:30 PM, Omair Majid wrote: > On 11/01/2012 11:32 AM, Jiri Vanek wrote: >> On 10/29/2012 07:42 PM, Omair Majid wrote: >>> Hi Jiri, >>> >>> Comments in-line below. >> >> Thank you :) >> >> But you are giving me hard times. It needs a lot of garbage-searching in >> deep corners of my nearly-forgotten memories to recall why I have done >> something. > > Err... sorry. NP:) > >>>> } >>>> diff -r c52fcd37dbd8 netx/net/sourceforge/jnlp/Launcher.java >>>> --- a/netx/net/sourceforge/jnlp/Launcher.java Tue Oct 23 09:56:26 >>>> 2012 +0200 >>>> +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Oct 24 11:46:08 >>>> 2012 +0200 >>> >>>> protected ApplicationInstance launchApplet(JNLPFile file, >>>> boolean enableCodeBase, Container cont) throws LaunchException { >>> >>>> + if (JNLPRuntime.getForksAllowed()&& file.needsNewVM()) { >>>> + if (!JNLPRuntime.isHeadless()) { >>>> + SplashScreen sp = SplashScreen.getSplashScreen(); >>>> + if (sp != null) { >>>> + sp.close(); >>>> + } >>>> + } >>> >>> This is really puzzling. Forks are never allowed for applets, so the >>> first if statement should never evaluate to true. But if we could start >>> new VMs for applets, we would need to prevent applets from running in >>> this VM. We need to return from this method to avoid executing further >>> code, but we also need to notify the plugin that another VM now handles >>> the plugin. >> >> Really? Not even when launched from jnlfile even with xmx?? I thin there >> is no reason not to allow them... >> However I have followed your advice. But I really think that applets >> launched via jnlp should be able to fork... > > Ah, you are right, of course! Can you post this particular change as a > separate patch? It is not related to the rest of the patch and I will > okay it ASAP. > > But you still need to create a new JVM and make it run that applet and > stop this JVM from running it. I have reverted this section to previous state (without throw). it should be few lines to add xfork capability, but as you said, it is unrelated to this oone, and especially will need round of tests and reproducer. (== time :) > >>>> - protected AppletInstance createApplet(JNLPFile file, boolean >>>> enableCodeBase, Container cont) throws LaunchException { >>>> + protected synchronized AppletInstance createApplet(JNLPFile >>>> file, boolean enableCodeBase, Container cont) throws LaunchException { >>> >>> Okay, this "synchronized" keyword here looks rather out of place. If >>> synchronization is really needed, I don't think we should be adding it >>> to this class. >> >> Well here we have an disagreeing. I have played with those two newly >> synchronised methods again. >> When two (or even more) applets are on same page, launched together, >> without both method synchronised the splashscrens are initiated wiredly:( >> After those tests I have kept those new synchronisation in code. >> >> What is actually your reason not to add them? > > As far as I can tell there are no existing 'synchronized' methods in > this class. I am not sure if this class is meant to be thread safe or > not. It forks a bunch of threads and then waits for them to join but I > don't see any synchronization otherwise. This addition of synchronized > adds additional responsibility to the class, but without any other > details or explanation. > > I would be okay with adding them if you could clarify why they are > needed here. Instead of adding 'synchronized' to two methods, lets find > out why that weirdness is happening and the best way to fix it. Does > this class need to be made thread-safe (and the documentation for this > class updated)? Or do we need to use some higher level primitives to > ensure exclusivity? Unless we understand the actual problem, this fix > might turn out to be a bad decision. It may even cause deadlocks if we > don't fully understand its consequences. > > If you really think this is needed right now, then please add a FIXME at > least so we can double check this later. But I would really prefer to > understand and fix the underlying problem correctly once and for all. ok. I have removed synchronisation keywords, and added fixme. Do you mind to eyball patch last times? > > I am okay with everything else in the patch. > > Cheers, > Omair > -------------- next part -------------- A non-text attachment was scrubbed... Name: splashscreenIntegration_XI.patch Type: text/x-patch Size: 34720 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121101/4821bf88/splashscreenIntegration_XI.patch From jvanek at redhat.com Thu Nov 1 10:09:34 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 01 Nov 2012 18:09:34 +0100 Subject: [fyi] [icedtea-web] Czech locales and test for them Message-ID: <5092ACCE.2060807@redhat.com> Hi! Here are the locales Alexander have sent me yesterday. I have added also small test to ensure they proceed correctly. Should I add him to Authors? (As person who helped me with design of splash was forbiden to be add) Should locales be mentioned in news? (I guess yes. So I will : New in release 1.4 (2012-XX-XX): +* Integrated cs_CZ internationalization * Security updates Cheers, J. ps: sorry for not including news and authors directly in patch, but I have rest of this patch on offline machine:-/ -------------- next part -------------- A non-text attachment was scrubbed... Name: czechLocalisationAndTest.patch Type: text/x-patch Size: 42919 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121101/63874766/czechLocalisationAndTest.patch From vanaltj at icedtea.classpath.org Thu Nov 1 11:32:03 2012 From: vanaltj at icedtea.classpath.org (vanaltj at icedtea.classpath.org) Date: Thu, 01 Nov 2012 18:32:03 +0000 Subject: /hg/icedtea6: Enhanced garbage collection dtrace/systemtap instr... Message-ID: changeset 8f6318c8c2f4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8f6318c8c2f4 author: Lukas Berk date: Thu Nov 01 14:03:48 2012 -0400 Enhanced garbage collection dtrace/systemtap instrumentation. 2012-11-01 Lukas Berk * Makefile.am: (ICEDTEA_PATCHES): Add patches/systemtap.patch. (EXTRA_DIST): Add tapset/hotspot_gc.stp.in. (stamps/icedtea.stamp): Build tapset/hotspot_gc.stp. (stamps/icedtea-debug.stamp): Likewise. * configure.ac: Generate tapset/hotspot_gc.stp. * patches/systemtap_gc.patch: Add Garbage Collection dtrace/systemtap probes to hotspot. * tapset/hotspot_gc.stp.in: Systemtap tapset allowing use of GC probes more comfortablely. diffstat: ChangeLog | 13 + Makefile.am | 12 + configure.ac | 1 + patches/systemtap_gc.patch | 369 +++++++++++++++++++++++++++++++ tapset/hotspot_gc.stp.in | 534 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 929 insertions(+), 0 deletions(-) diffs (truncated from 997 to 500 lines): diff -r 109033172ae7 -r 8f6318c8c2f4 ChangeLog --- a/ChangeLog Wed Oct 31 11:34:40 2012 +0000 +++ b/ChangeLog Thu Nov 01 14:03:48 2012 -0400 @@ -1,3 +1,16 @@ +2012-11-01 Lukas Berk + + * Makefile.am: + (ICEDTEA_PATCHES): Add patches/systemtap.patch. + (EXTRA_DIST): Add tapset/hotspot_gc.stp.in. + (stamps/icedtea.stamp): Build tapset/hotspot_gc.stp. + (stamps/icedtea-debug.stamp): Likewise. + * configure.ac: Generate tapset/hotspot_gc.stp. + * patches/systemtap_gc.patch: + Add Garbage Collection dtrace/systemtap probes to hotspot. + * tapset/hotspot_gc.stp.in: + Systemtap tapset allowing use of GC probes more comfortablely. + 2012-10-31 Andrew John Hughes * NEWS: Correct bad CVE number given by Oracle. diff -r 109033172ae7 -r 8f6318c8c2f4 Makefile.am --- a/Makefile.am Wed Oct 31 11:34:40 2012 +0000 +++ b/Makefile.am Thu Nov 01 14:03:48 2012 -0400 @@ -453,6 +453,7 @@ patches/sdt-dtrace-hpp.patch \ patches/sdt-make.patch \ patches/sdt-arguments.patch \ + patches/systemtap_gc.patch patches/systemtap-gcc-4.5.patch \ patches/systemtap-alloc-size-workaround.patch endif @@ -646,6 +647,7 @@ tapset/hotspot.stp.in \ tapset/hotspot_jni.stp.in \ tapset/jstack.stp.in \ + tapset/hotspot_gc.stp.in \ scripts/jni_create_stap.c \ scripts/jni_desc \ rewriter/agpl-3.0.txt \ @@ -1543,6 +1545,9 @@ < $(abs_top_builddir)/tapset/hotspot.stp \ > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ sed -e '/\/client\/libjvm.so/d' \ + < $(abs_top_builddir)/tapset/hotspot_gc.stp \ + > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_gc.stp; \ + sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot_jni.stp \ > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ else \ @@ -1574,6 +1579,8 @@ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ + cp $(abs_top_builddir)/tapset/hotspot_gc.stp \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_gc.stp; \ cp $(abs_top_builddir)/tapset/hotspot_jni.stp \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ fi @@ -1797,11 +1804,16 @@ < $(abs_top_builddir)/tapset/hotspot.stp \ > $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ sed -e '/\/client\/libjvm.so/d' \ + < $(abs_top_builddir)/tapset/hotspot_gc.stp \ + > $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_gc.stp; \ + sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot_jni.stp \ > $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ + cp $(abs_top_builddir)/tapset/hotspot_gc.stp \ + $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_gc.stp; \ cp $(abs_top_builddir)/tapset/hotspot_jni.stp \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ fi diff -r 109033172ae7 -r 8f6318c8c2f4 configure.ac --- a/configure.ac Wed Oct 31 11:34:40 2012 +0000 +++ b/configure.ac Thu Nov 01 14:03:48 2012 -0400 @@ -327,6 +327,7 @@ AC_CONFIG_FILES([tapset/hotspot.stp]) AC_CONFIG_FILES([tapset/hotspot_jni.stp]) AC_CONFIG_FILES([tapset/jstack.stp]) + AC_CONFIG_FILES([tapset/hotspot_gc.stp]) fi dnl Check for libpng headers and libraries. diff -r 109033172ae7 -r 8f6318c8c2f4 patches/systemtap_gc.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/systemtap_gc.patch Thu Nov 01 14:03:48 2012 -0400 @@ -0,0 +1,369 @@ +--- openjdk.orig/hotspot/src/share/vm/compiler/oopMap.cpp 2012-06-26 09:24:22.390325184 -0400 ++++ openjdk/hotspot/src/share/vm/compiler/oopMap.cpp 2012-07-06 10:12:44.981413003 -0400 +@@ -33,9 +33,13 @@ + #include "memory/resourceArea.hpp" + #include "runtime/frame.inline.hpp" + #include "runtime/signature.hpp" ++#include "utilities/dtrace.hpp" + #ifdef COMPILER1 + #include "c1/c1_Defs.hpp" + #endif ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL1(provider, gc__collection__delete, *uintptr_t); ++#endif /* !USDT2 */ + + // OopMapStream + +@@ -677,6 +681,9 @@ + " - Derived: " INTPTR_FORMAT " Base: " INTPTR_FORMAT " (Offset: %d)", + derived_loc, (address)*derived_loc, (address)base, offset); + } ++#ifndef USDT2 ++ HS_DTRACE_PROBE1(hotspot, gc__collection__delete, entry); ++#endif /* !USDT2 */ + + // Delete entry + delete entry; +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2012-07-12 09:48:40.349999515 -0400 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2012-07-19 18:38:07.560757426 -0400 +@@ -53,11 +53,18 @@ + #include "runtime/vmThread.hpp" + #include "services/management.hpp" + #include "services/memoryService.hpp" ++#include "utilities/dtrace.hpp" + #include "utilities/events.hpp" + #include "utilities/stack.inline.hpp" + + #include + ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__ParallelCompact__clear, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__parallel__collect, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__move, *uintptr_t, *uintptr_t, *uintptr_t, *uintptr_t); ++#endif /* !USDT2 */ ++ + // All sizes are in HeapWords. + const size_t ParallelCompactData::Log2RegionSize = 9; // 512 words + const size_t ParallelCompactData::RegionSize = (size_t)1 << Log2RegionSize; +@@ -433,6 +439,9 @@ + + void ParallelCompactData::clear() + { ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__ParallelCompact__clear, &_region_data, _region_data->data_location()); ++#endif /* !USDT2 */ + memset(_region_data, 0, _region_vspace->committed_size()); + } + +@@ -1970,6 +1979,9 @@ + "should be in vm thread"); + + ParallelScavengeHeap* heap = gc_heap(); ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__parallel__collect, heap, heap->gc_cause()); ++#endif /* !USDT2 */ + GCCause::Cause gc_cause = heap->gc_cause(); + assert(!heap->is_gc_active(), "not reentrant"); + +@@ -3376,6 +3388,9 @@ + // past the end of the partial object entering the region (if any). + HeapWord* const dest_addr = sd.partial_obj_end(dp_region); + HeapWord* const new_top = _space_info[space_id].new_top(); ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__move, &beg_addr, &end_addr, &dest_addr, &new_top); ++#endif /* !USDT2 */ + assert(new_top >= dest_addr, "bad new_top value"); + const size_t words = pointer_delta(new_top, dest_addr); + +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp 2012-08-15 12:04:43.837439833 -0400 ++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp 2012-08-15 12:01:47.897745719 -0400 +@@ -45,8 +45,13 @@ + #include "runtime/thread.hpp" + #include "runtime/vmThread.hpp" + #include "utilities/copy.hpp" ++#include "utilities/dtrace.hpp" + #include "utilities/events.hpp" + ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__G1__begin, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__G1__end, *uintptr_t, *uintptr_t); ++ #endif /* !USDT2 */ + class HeapRegion; + + void G1MarkSweep::invoke_at_safepoint(ReferenceProcessor* rp, +@@ -84,6 +89,9 @@ + // The marking doesn't preserve the marks of biased objects. + BiasedLocking::preserve_marks(); + ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__G1__begin, &sh, sh->gc_cause()); ++#endif /* !USDT2 */ + mark_sweep_phase1(marked_for_unloading, clear_all_softrefs); + + mark_sweep_phase2(); +@@ -103,6 +111,9 @@ + GenRemSet* rs = sh->rem_set(); + rs->invalidate(sh->perm_gen()->used_region(), true /*whole_heap*/); + ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__G1__end, &sh, sh->gc_cause()); ++#endif /* !USDT2 */ + // "free at last gc" is calculated from these. + // CHF: cheating for now!!! + // Universe::set_heap_capacity_at_last_gc(Universe::heap()->capacity()); +--- openjdk.orig/hotspot/src/share/vm/memory/tenuredGeneration.cpp 2012-08-15 12:03:43.009543167 -0400 ++++ openjdk/hotspot/src/share/vm/memory/tenuredGeneration.cpp 2012-08-15 12:14:25.414381449 -0400 +@@ -33,6 +33,12 @@ + #include "memory/tenuredGeneration.hpp" + #include "oops/oop.inline.hpp" + #include "runtime/java.hpp" ++#include "utilities/dtrace.hpp" ++ ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__tenured__begin, bool, bool, size_t, bool); ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__tenured__end, bool, bool, size_t, bool); ++#endif /* !USDT2 */ + + TenuredGeneration::TenuredGeneration(ReservedSpace rs, + size_t initial_byte_size, int level, +@@ -307,8 +313,14 @@ + size_t size, + bool is_tlab) { + retire_alloc_buffers_before_full_gc(); ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__tenured__begin, full, clear_all_soft_refs, size, is_tlab); ++#endif /* !USDT2 */ + OneContigSpaceCardGeneration::collect(full, clear_all_soft_refs, + size, is_tlab); ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__tenured__end, full, clear_all_soft_refs, size, is_tlab); ++#endif /* !USDT2 */ + } + + void TenuredGeneration::update_gc_stats(int current_level, +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2012-08-15 12:03:43.039543116 -0400 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2012-08-15 12:18:57.181932342 -0400 +@@ -49,6 +49,12 @@ + #include "utilities/copy.hpp" + #include "utilities/globalDefinitions.hpp" + #include "utilities/workgroup.hpp" ++#include "utilities/dtrace.hpp" ++ ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__parnew__begin, bool, bool, size_t, bool); ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__parnew__end, bool, bool, size_t, bool); ++#endif /* !USDT2 */ + + #ifdef _MSC_VER + #pragma warning( push ) +@@ -878,6 +884,9 @@ + bool clear_all_soft_refs, + size_t size, + bool is_tlab) { ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__parnew__begin, full, clear_all_soft_refs, size, is_tlab); ++#endif /* !USDT2 */ + assert(full || size > 0, "otherwise we don't want to collect"); + GenCollectedHeap* gch = GenCollectedHeap::heap(); + assert(gch->kind() == CollectedHeap::GenCollectedHeap, +@@ -1032,6 +1041,10 @@ + gch->print_heap_change(gch_prev_used); + } + ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__parnew__end, full, clear_all_soft_refs, size, is_tlab); ++#endif /* !USDT2 */ ++ + if (PrintGCDetails && ParallelGCVerbose) { + TASKQUEUE_STATS_ONLY(thread_state_set.print_termination_stats()); + TASKQUEUE_STATS_ONLY(thread_state_set.print_taskqueue_stats()); +--- openjdk.orig/hotspot/src/share/vm/memory/defNewGeneration.cpp 2012-08-15 12:03:43.010543164 -0400 ++++ openjdk/hotspot/src/share/vm/memory/defNewGeneration.cpp 2012-08-15 12:21:41.076673646 -0400 +@@ -38,6 +38,7 @@ + #include "oops/oop.inline.hpp" + #include "runtime/java.hpp" + #include "utilities/copy.hpp" ++#include "utilities/dtrace.hpp" + #include "utilities/stack.inline.hpp" + #ifdef TARGET_OS_FAMILY_linux + # include "thread_linux.inline.hpp" +@@ -51,7 +52,10 @@ + #ifdef TARGET_OS_FAMILY_windows + # include "thread_windows.inline.hpp" + #endif +- ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__defnew__begin, bool, bool, size_t, bool); ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__defnew__end, bool, bool, size_t, bool); ++#endif /* !USDT2 */ + // + // DefNewGeneration functions. + +@@ -528,6 +532,9 @@ + bool clear_all_soft_refs, + size_t size, + bool is_tlab) { ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__defnew__begin, full, clear_all_soft_refs, size, is_tlab); ++#endif /* !USDT2 */ + assert(full || size > 0, "otherwise we don't want to collect"); + GenCollectedHeap* gch = GenCollectedHeap::heap(); + _next_gen = gch->next_gen(this); +@@ -661,6 +668,10 @@ + to()->set_concurrent_iteration_safe_limit(to()->top()); + SpecializationStats::print(); + update_time_of_last_gc(os::javaTimeMillis()); ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__defnew__end, full, clear_all_soft_refs, size, is_tlab); ++#endif /* !USDT2 */ ++ + } + + class RemoveForwardPointerClosure: public ObjectClosure { +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2012-08-15 12:03:43.044543106 -0400 ++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2012-08-15 12:25:26.632316692 -0400 +@@ -55,6 +55,12 @@ + #include "runtime/vmThread.hpp" + #include "services/memoryService.hpp" + #include "services/runtimeService.hpp" ++#include "utilities/dtrace.hpp" ++ ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__begin, bool, bool, size_t, bool); ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__end, bool, bool, size_t, bool); ++#endif /* !USDT2 */ + + // statics + CMSCollector* ConcurrentMarkSweepGeneration::_collector = NULL; +@@ -1647,7 +1653,13 @@ + size_t size, + bool tlab) + { ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__contig__begin, full, clear_all_soft_refs, size, tlab); ++#endif /* !USDT2 */ + collector()->collect(full, clear_all_soft_refs, size, tlab); ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__contig__end, full, clear_all_soft_refs, size, tlab); ++#endif /* !USDT2 */ + } + + void CMSCollector::collect(bool full, +--- openjdk.orig/hotspot/src/share/vm/memory/generation.cpp 2012-08-15 12:03:43.009543167 -0400 ++++ openjdk/hotspot/src/share/vm/memory/generation.cpp 2012-08-15 12:27:46.378095083 -0400 +@@ -39,8 +39,14 @@ + #include "oops/oop.inline.hpp" + #include "runtime/java.hpp" + #include "utilities/copy.hpp" ++#include "utilities/dtrace.hpp" + #include "utilities/events.hpp" + ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__begin, bool, bool, size_t, bool); ++ HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__end, bool, bool, size_t, bool); ++#endif /* !USDT2 */ ++ + Generation::Generation(ReservedSpace rs, size_t initial_size, int level) : + _level(level), + _ref_processor(NULL) { +@@ -470,7 +476,13 @@ + // refs discovery is over the entire heap, not just this generation + ReferenceProcessorSpanMutator + x(ref_processor(), GenCollectedHeap::heap()->reserved_region()); ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__contig__begin, full, clear_all_soft_refs, size, is_tlab); ++#endif /* !USDT2 */ + GenMarkSweep::invoke_at_safepoint(_level, ref_processor(), clear_all_soft_refs); ++#ifndef USDT2 ++ HS_DTRACE_PROBE4(hotspot, gc__collection__contig__end, full, clear_all_soft_refs, size, is_tlab); ++#endif /* !USDT2 */ + SpecializationStats::print(); + } + +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp 2012-07-25 13:24:07.000000000 -0400 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp 2012-08-17 10:26:44.181117802 -0400 +@@ -51,8 +51,17 @@ + #include "runtime/vmThread.hpp" + #include "runtime/vm_operations.hpp" + #include "services/memoryService.hpp" ++#include "utilities/dtrace.hpp" + #include "utilities/stack.inline.hpp" + ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSScavenge__begin, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSScavenge__end, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSParallelCompact__begin, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSParallelCompact__end, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSMarkSweep__begin, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSMarkSweep__end, *uintptr_t, *uintptr_t); ++#endif /* !USDT2 */ + + HeapWord* PSScavenge::_to_space_top_before_gc = NULL; + int PSScavenge::_consecutive_skipped_scavenges = 0; +@@ -226,7 +235,13 @@ + PSAdaptiveSizePolicy* policy = heap->size_policy(); + IsGCActiveMark mark; + ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__PSScavenge__begin, &heap, heap->gc_cause()); ++#endif /* !USDT2 */ + bool scavenge_was_done = PSScavenge::invoke_no_policy(); ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__PSScavenge__end, &heap, heap->gc_cause()); ++#endif /* !USDT2 */ + + PSGCAdaptivePolicyCounters* counters = heap->gc_policy_counters(); + if (UsePerfData) +@@ -243,9 +258,21 @@ + const bool clear_all_softrefs = cp->should_clear_all_soft_refs(); + + if (UseParallelOldGC) { ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__PSParallelCompact__begin, &heap, heap->gc_cause()); ++#endif /* !USDT2 */ + PSParallelCompact::invoke_no_policy(clear_all_softrefs); ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__PSParallelCompact__end, &heap, heap->gc_cause()); ++#endif /* !USDT2 */ + } else { ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__PSMarkSweep__begin, &heap, heap->gc_cause()); ++#endif /* !USDT2 */ + PSMarkSweep::invoke_no_policy(clear_all_softrefs); ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__PSMarkSweep__end, &heap, heap->gc_cause()); ++#endif /* !USDT2 */ + } + } + } +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp 2012-07-25 13:24:07.000000000 -0400 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp 2012-08-31 15:14:23.936576341 -0400 +@@ -40,8 +40,14 @@ + #include "runtime/handles.inline.hpp" + #include "runtime/java.hpp" + #include "runtime/vmThread.hpp" ++#include "utilities/dtrace.hpp" + #include "utilities/vmError.hpp" + ++#ifndef USDT2 ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__parscavenge__heap__begin, *uintptr_t, *uintptr_t); ++ HS_DTRACE_PROBE_DECL2(provider, gc__collection__parscavenge__heap__end, *uintptr_t, *uintptr_t); ++#endif /* !USDT2 */ ++ + PSYoungGen* ParallelScavengeHeap::_young_gen = NULL; + PSOldGen* ParallelScavengeHeap::_old_gen = NULL; + PSPermGen* ParallelScavengeHeap::_perm_gen = NULL; +@@ -806,7 +812,13 @@ + } + + VM_ParallelGCSystemGC op(gc_count, full_gc_count, cause); ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__parscavenge__heap__begin, &op, cause); ++#endif /* !USDT2 */ + VMThread::execute(&op); ++#ifndef USDT2 ++ HS_DTRACE_PROBE2(hotspot, gc__collection__parscavenge__heap__end, &op, cause); ++#endif /* !USDT2 */ + } + + // This interface assumes that it's being called by the diff -r 109033172ae7 -r 8f6318c8c2f4 tapset/hotspot_gc.stp.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tapset/hotspot_gc.stp.in Thu Nov 01 14:03:48 2012 -0400 @@ -0,0 +1,534 @@ +/* + * probe - gc_collect_contig_begin + * + * @name: gc_collect_contig_begin + * @is_full: If TRUE, attempt a full collection of the generation. + * Else; perform a scavenge + * @size: The collection should achieve a minimum region of available + * memory to allow for an allocation of 'size'. + * @is_tlab: Is this a Thread Local Allocation Buffer? + * + * Description: This marks the start of a contiguous space generation collection. + * + */ + +probe hotspot.gc_collect_contig_begin = + process("@ABS_CLIENT_LIBJVM_SO@").mark("gc__collection__contig__begin"), + process("@ABS_SERVER_LIBJVM_SO@").mark("gc__collection__contig__begin") +{ + + name = "gc_collect_contig_begin"; + is_full = $arg2; + size = $arg3; + is_tlab = $arg4; + probestr = sprintf("%s(is_full='%d', size='%d', is_tlab='%d')", name, is_full, size, is_tlab); + +} + +/* + * probe - gc_collect_contig_end + * + * @name: gc_collect_contig_end_ + * @is_full: If TRUE, attempt a full collection of the generation. + * Else; perform a scavenge. + * @size: The collection should achieve a minimum region of available + * memory to allow for an allocation of 'size'. + * @is_tlab: Is this a Thread Local Allocation Buffer? + * From jvanalte at redhat.com Thu Nov 1 11:32:57 2012 From: jvanalte at redhat.com (Jon VanAlten) Date: Thu, 1 Nov 2012 14:32:57 -0400 (EDT) Subject: [RFC] Enhanced Garbage Collection Probe Points In-Reply-To: <46828227.1968825.1351600651879.JavaMail.root@redhat.com> Message-ID: <394779842.5094559.1351794777018.JavaMail.root@redhat.com> ----- Original Message ----- > From: "Andrew Hughes" > > > > > > Why has this been pushed? We don't want more patches adding to > > > IcedTea7. > > > Please revert. > > > > > > > I'm sorry for the mix-up. Andrew and I discussed this further > > offline (sorry, this did not happen in public, but neither was it > > intentionally private). > > > > We reached the conclusion (I believe) that it would be best to > > wait and hear from Mark about plans referred to in email archive > > link below. Mark, do you have any comment here? Would it be > > for the best to revert here and apply instead to 7 forest? > > > > Also, I've backported this changeset to icedtea6, and it should > > also probably go somehow to 8. Can someone refresh me, as a > > rather seldom-contributor here, what the correct repos are for > > these? > > > > Patch needs to be applied to: > > http://icedtea.classpath.org/hg/icedtea6/ > http://icedtea.classpath.org/hg/icedtea7-forest/jdk/ > http://icedtea.classpath.org/hg/icedtea8-forest/jdk/ > > and reverted from: > > http://icedtea.classpath.org/hg/icedtea7/ > > as all patches for 7 & 8 go to the forest. > I would also prefer the 7 stuff to go to the forest, but... > From: "Mark Wielaard" > > Adding patches directly to the tree is fine with me. > My only hesitation was my own confusion since the default > configure/make setup doesn't pick up a patched forest. > You don't have that issue with patches, which are directly > applied. If we are going for a complete forest setup it > might make sense to also add the tapsets and testsuite > directly there. > > I'll try and figure it all out again and also port the existing > patches to the forest. Hints and tips appreciated. So about this patch and 7, I'm getting mixed messages here. Some other things to consider here: The new work from Lukas can be conceptually divided into two parts: the new probes added to hotspot code, and the tapset referring to those probes. The thing is, the probes are not afaik usable from linux (my dev/testing platform) without some parts of Mark's patches. For this reason, I'm hesitant to port and push Lukas' work to forest, ahead of Mark's (it becomes essentially dead code except on Solaris). So, would it be acceptable to keep in tree for now, porting to 7/8 forests later once the prerequisite bits have been ported? (in the meantime, I *have* ported to 6 tree and pushed that, since there is no controversy there...) cheers, jon From mark at klomp.org Thu Nov 1 12:05:45 2012 From: mark at klomp.org (Mark Wielaard) Date: Thu, 01 Nov 2012 20:05:45 +0100 Subject: [RFC] Enhanced Garbage Collection Probe Points In-Reply-To: <394779842.5094559.1351794777018.JavaMail.root@redhat.com> References: <394779842.5094559.1351794777018.JavaMail.root@redhat.com> Message-ID: <1351796745.2848.61.camel@springer.wildebeest.org> On Thu, 2012-11-01 at 14:32 -0400, Jon VanAlten wrote: > I would also prefer the 7 stuff to go to the forest, but... > > > From: "Mark Wielaard" > > > > > > Adding patches directly to the tree is fine with me. > > My only hesitation was my own confusion since the default > > configure/make setup doesn't pick up a patched forest. > > You don't have that issue with patches, which are directly > > applied. If we are going for a complete forest setup it > > might make sense to also add the tapsets and testsuite > > directly there. > > > > I'll try and figure it all out again and also port the existing > > patches to the forest. Hints and tips appreciated. > > So about this patch and 7, I'm getting mixed messages here. What is the mixed message? I am fine with adding patches directly to the forest and even adding the other stuff like the tapsets and the staptests there. I just don't know the workflow when I would work against the forest directly and not just have patches in the tree. And I just haven't found the time to create a new workflow. I am sure it is just a different ./configure flag, just haven't figured out which one. So, how do people work against the forest directly? What configure flags do they use? What does your edit/build/test/commit/pull cycle look like? Basically the only step I seem to miss is how to make sure the tree is in sync with what I push to the forest. Somehow I am missing how when I commit to the forest the icedtea tree is updated so people who update their tree get the new patch. Knowing how that works would also help with making sure the buildbot rebuilds the tree each time the forest is changed and not only when a patch is added to the tree. Cheers, Mark From omajid at redhat.com Thu Nov 1 12:48:26 2012 From: omajid at redhat.com (Omair Majid) Date: Thu, 01 Nov 2012 15:48:26 -0400 Subject: Icedtea-web splashscreen implementation In-Reply-To: <5092AADC.3010805@redhat.com> References: <501928CB.4090002@redhat.com> <5019354B.3020100@redhat.com> <501983CD.4080405@redhat.com> <5020D6D8.6050302@redhat.com> <5021400A.1050804@redhat.com> <50291A05.1080606@redhat.com> <507C4A48.2020404@redhat.com> <5086D90A.5020701@redhat.com> <5086DEFE.3070106@redhat.com> <5086E1A5.5000301@redhat.com> <5087BA8E.7010106@redhat.com> <508ECE31.1040507@redhat.com> <50929618.9030001@redhat.com> <5092A3A0.8030202@redhat.com> <5092AADC.3010805@redhat.com> Message-ID: <5092D20A.1050703@redhat.com> On 11/01/2012 01:01 PM, Jiri Vanek wrote: > Do you mind to eyball patch last times? Nothing jumps out at me. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvanalte at redhat.com Thu Nov 1 15:11:52 2012 From: jvanalte at redhat.com (Jon VanAlten) Date: Thu, 1 Nov 2012 18:11:52 -0400 (EDT) Subject: [RFC] Enhanced Garbage Collection Probe Points In-Reply-To: <1351796745.2848.61.camel@springer.wildebeest.org> Message-ID: <420573755.5235724.1351807912849.JavaMail.root@redhat.com> ----- Original Message ----- > From: "Mark Wielaard" > To: "Jon VanAlten" > Cc: "Andrew Hughes" , systemtap at sourceware.org, distro-pkg-dev at openjdk.java.net, "Lukas Berk" > > Sent: Thursday, November 1, 2012 3:05:45 PM > Subject: Re: [RFC] Enhanced Garbage Collection Probe Points > > On Thu, 2012-11-01 at 14:32 -0400, Jon VanAlten wrote: > > I would also prefer the 7 stuff to go to the forest, but... > > > > > From: "Mark Wielaard" > > > > > > > > > > Adding patches directly to the tree is fine with me. > > > My only hesitation was my own confusion since the default > > > configure/make setup doesn't pick up a patched forest. > > > You don't have that issue with patches, which are directly > > > applied. If we are going for a complete forest setup it > > > might make sense to also add the tapsets and testsuite > > > directly there. > > > > > > I'll try and figure it all out again and also port the existing > > > patches to the forest. Hints and tips appreciated. > > > > So about this patch and 7, I'm getting mixed messages here. > > What is the mixed message? Just the difference between Andrew's message (which I will summarize as "forest not tree except where there is no forest") and yours ("tree is OK, forest is also probably OK but so far I don't 'get' it"). > I am fine with adding patches directly to > the > forest and even adding the other stuff like the tapsets and the > staptests there. I just don't know the workflow when I would work > against the forest directly and not just have patches in the tree. > And I > just haven't found the time to create a new workflow. I am sure it is > just a different ./configure flag, just haven't figured out which > one. > So, how do people work against the forest directly? What configure > flags > do they use? What does your edit/build/test/commit/pull cycle look > like? I admit to forest-ignorance as well, and would appreciate any and all suggestions here. Perhaps someone has a pointer to some changesets in both tree and forest where some conditionally-applied patch has undergone a similar move? cheers, jon From helpcrypto at gmail.com Fri Nov 2 00:42:32 2012 From: helpcrypto at gmail.com (helpcrypto helpcrypto) Date: Fri, 2 Nov 2012 08:42:32 +0100 Subject: One battle after another (Bug 1198 - JSObject is not valid on Javascript side) In-Reply-To: <20121031183650.GL6705@redhat.com> References: <20121031183650.GL6705@redhat.com> Message-ID: > Thanks for updating it. Sorry for the lag, I've been away for the past > couple of days. I will take a look at it later today/tomorrow; this does > look like a bug to me now. > > Deepak Au contraire! Thank you for looking on this From amiko212 at 126.com Fri Nov 2 02:01:23 2012 From: amiko212 at 126.com (liu chao jun) Date: Fri, 2 Nov 2012 17:01:23 +0800 (CST) Subject: x86 run SPECJVM2008 error with "-Xcomp" parameter Message-ID: <6a8fab85.2f541.13ac05a71c4.Coremail.amiko212@126.com> Hi all : Is anybody meet the following errors when run SPECJVM2008 test with "-Xcomp" paramter ? SPECjvm2008 Peak Properties file: none Benchmarks: startup.helloworld startup.compiler.compiler startup.compiler.sunflow startup.compress startup.crypto.aes startup.crypto.rsa startu p.crypto.signverify startup.mpegaudio startup.scimark.fft startup.scimark.lu startup.scimark.monte_carlo startup.scimark.sor startup.scimark.sparse star tup.serial startup.sunflow startup.xml.transform startup.xml.validation compiler.compiler compiler.sunflow compress crypto.aes crypto.rsa crypto.signver ify derby mpegaudio scimark.fft.large scimark.lu.large scimark.sor.large scimark.sparse.large scimark.fft.small scimark.lu.small scimark.sor.small scima rk.sparse.small scimark.monte_carlo serial sunflow xml.transform xml.validation WARNING: Run will not be compliant. Property specjvm.run.checksum.validation must be true for publication. --- --- --- --- --- --- --- --- --- Benchmark: check Run mode: static run Test type: functional Threads: 1 Iterations: 1 Run length: 1 operation Iteration 1 (1 operation) begins: Mon Oct 29 10:19:37 CST 2012 Iteration 1 (1 operation) ends: Mon Oct 29 10:19:38 CST 2012 Iteration 1 (1 operation) result: FAILED Errors in benchmark: check [iter=1] Interrupted when joining benchmark thread 0: null [iter=1] java.lang.InterruptedException: null java.lang.Object.wait(Native Method) java.lang.Thread.join(Thread.java:1203) java.lang.Thread.join(Thread.java:1256) spec.harness.ProgramRunner.runIteration(ProgramRunner.java:504) spec.harness.ProgramRunner.runBenchmark(ProgramRunner.java:348) spec.harness.ProgramRunner.run(ProgramRunner.java:98) [iter=1] Iteration failed. [iter=1][bt:1|op:1] java.lang.NullPointerException: No benchmarks will be run, since initial check test failed. The Javac version test in check failed. The Javac version must be the one included in SPECjvm2008. There is a known issue with this for Java on Mac OS X, including a workaround. For more info, see ./docs/KnownIssues.html Results are stored in: /home/SPECjvm2008/results/SPECjvm2008.019/SPECjvm2008.019.raw Generating reports in: /home/SPECjvm2008/results/SPECjvm2008.019 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (sharkNativeWrapper.cpp:81), pid=14499, tid=3049286464 # Error: Unimplemented() # # JRE version: 6.0 # Java VM: OpenJDK Shark VM (20.0-b12 compiled mode linux-i386 ) # Derivative: IcedTea6 1.11.4 # Distribution: Built on Ubuntu 12.04.1 LTS (Thu Oct 11 14:42:41 CST 2012) # An error report file with more information is saved as: # /home/SPECjvm2008/hs_err_pid14499.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # Aborted (core dumped) it seems some errores happen before the real run SPEJVM2008 cases ,Thank you very much BR//Amiko -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121102/3f8ed3b2/attachment.html From ptisnovs at redhat.com Fri Nov 2 03:02:45 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 2 Nov 2012 06:02:45 -0400 (EDT) Subject: [fyi] [icedtea-web] Czech locales and test for them In-Reply-To: <5092ACCE.2060807@redhat.com> Message-ID: <814944596.5812506.1351850565143.JavaMail.root@redhat.com> Hi Jiri, these sort of patches are really welcome and I'm looking forward for more localizations! Some comments: 1) The property file seems to use line ending which is not incorrect from the Java side, but it might confuse other developers & patch & diff tools (and you are going to add some new tests written in BASH, are not you?). AFAIK it's safer to use Unix-like line endings. 2) Some questionable translations: +Password=Heslo: <- should be ':' here? +Field=Pole - <- "Vstupn? pole"? +LFatalVerificationInfo= <- missing value 3) The following snippet is not incorrect but it is quite unusual: + int i = -1; + for (Iterator> it = rr.iterator(); it.hasNext();) { + i++; Why not to use standard idiom int i=0; before the loop and i++ inside to "for" statement itself: ...for (Iterator> it = rr.iterator(); it.hasNext(); i++)... 4) private void iteratePropertiesFor(ResourceBundle props, String s, boolean b, String id) { Well I know this is a private method, but it would be better to rename the parameters (what the "s" and especially "b" means?). And in general it would be great to add short JavaDoc to all methods :) 5) I would prefer to use Locale parameter for the method getProperties(). You can then get instance of Locale class by passing country+language pair to the Locale constructor: language - lowercase two-letter ISO-639 code country - uppercase two-letter ISO-3166 code + public ResourceBundle getPropertiesCz() throws IOException { + return getProperties("_cs_CZ"); + + } 6) iteratePropertiesForAproxCz/iteratePropertiesFor: better name for an "x" variable should be keysFound or something like it 7) method regexIt() & String[] czEvil - well this is specific to systems *not* set to UTF-8 *and* using CZ at the same time (Windows and its stupid Windows-1250 code page?). AFAIK it would be better to use "\uXXXX" Unicode literals in the array and refactor regexIt() for other languages too (ie you should pass czEvil array to this method as an another parameter). And please add JavaDoc to regexId() - it took me 2-3 minutes to figure out this method behavior and it could be described in one sentence + one example :) 8) value = value.replace(string.toUpperCase(), "."); you need to use Locale here Cheers, Pavel ----- Jiri Vanek wrote: > Hi! > Here are the locales Alexander have sent me yesterday. I have added also small test to ensure they proceed correctly. > Should I add him to Authors? (As person who helped me with design of splash was forbiden to be add) > Should locales be mentioned in news? (I guess yes. So I will : > > New in release 1.4 (2012-XX-XX): > +* Integrated cs_CZ internationalization > * Security updates > > Cheers, > J. > > > ps: sorry for not including news and authors directly in patch, but I have rest of this patch on offline machine:-/ > From jvanek at icedtea.classpath.org Fri Nov 2 04:16:47 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 02 Nov 2012 11:16:47 +0000 Subject: /hg/icedtea-web: Splashscreen integrated to javaws and plugin Message-ID: changeset b76eaadf30cc in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b76eaadf30cc author: Jiri Vanek date: Fri Nov 02 12:22:09 2012 +0100 Splashscreen integrated to javaws and plugin diffstat: ChangeLog | 37 ++ Makefile.am | 2 + NEWS | 1 + launcher/javaws.in | 12 + netx/javaws_splash.png | Bin netx/net/sourceforge/jnlp/GuiLaunchHandler.java | 63 ++- netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 109 +++-- netx/net/sourceforge/jnlp/Launcher.java | 75 +++- netx/net/sourceforge/jnlp/NetxPanel.java | 36 +- plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 181 +++++++++- tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2.html | 2 +- tests/reproducers/simple/simpletest1/resources/netxPlugin.png | Bin 12 files changed, 417 insertions(+), 101 deletions(-) diffs (truncated from 981 to 500 lines): diff -r 34a7d51b30f5 -r b76eaadf30cc ChangeLog --- a/ChangeLog Wed Oct 31 17:07:58 2012 +0100 +++ b/ChangeLog Fri Nov 02 12:22:09 2012 +0100 @@ -1,3 +1,40 @@ +2012-11-02 Jiri Vanek + + Splashscreen integrated to javaws and plugin + * Makefile.am: (edit_launcher_script) added JAVAWS_SPLASH_LOCATION + substitution for installed javaws_splash.png. + (install-exec-loca) added installation of javaws_splash.png. + * NEWS: mentioned splashscreen + * launcher/javaws.in: added SPLASH_LOCATION, as path to image with "java" + splash which s then shown until internal vector one appear. + * netx/net/sourceforge/jnlp/GuiLaunchHandler.java: splashScreen made volatile, + (launchInitialized) splashscreen is created and shown + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java: (setSplashImageURL) + splash bg image is loaded from given url or default is used if not found + or not specified by jnlp/applet. (correctSize) width is calculated from + bg image or default is used when no image set. Splash is centered to + primary monitor. + * netx/net/sourceforge/jnlp/Launcher.java: (launchApplet) and + (launchApplication) enriched by handling of splashs. + (launchError) overloaded and is now handling forwarding of errors to + splash. All relevant calls of launchError enriched by appletInstance. + * netx/net/sourceforge/jnlp/NetxPanel.java: is now implementing + SplashController.This is done by setting and wrapping of splashController + variable. + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: is now handling + splashscreen for applets in browsers. + (framePanel) is now providing panel to be processed (PluginAppletViewer) + is now invoking SplashCreator. (replaceSplash) new method which replace + splashscreen with error splashscreen. (removeSplash) new method to remove + splash when loading is done. (update) is added to call paint directly + (SplashCreator) new internal runnable to create splash + * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2.html: + second jar made XslowX to track two FIXME introduced in this patch - + Launcher's createApplet and PluginAppletViewer's framePanel. + * netx/javaws_splash.png: Binary image to be shown before java is launched + * tests/reproducers/simple/simpletest1/resources/netxPlugin.png: Binary image + to ne used for testing custom splashscreens + 2012-10-31 Jana Fabrikova *tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: diff -r 34a7d51b30f5 -r b76eaadf30cc Makefile.am --- a/Makefile.am Wed Oct 31 17:07:58 2012 +0100 +++ b/Makefile.am Fri Nov 02 12:22:09 2012 +0100 @@ -178,6 +178,7 @@ edit_launcher_script = sed \ -e 's|[@]LAUNCHER_BOOTCLASSPATH[@]|$(LAUNCHER_BOOTCLASSPATH)|g' \ -e 's|[@]JAVAWS_BIN_LOCATION[@]|$(bindir)/$(javaws)|g' \ + -e 's|[@]JAVAWS_SPLASH_LOCATION[@]|$(datadir)/$(PACKAGE_NAME)/javaws_splash.png|g' \ -e 's|[@]ITWEB_SETTINGS_BIN_LOCATION[@]|$(bindir)/$(itweb_settings)|g' \ -e 's|[@]JAVA[@]|$(JAVA)|g' \ -e 's|[@]JRE[@]|$(SYSTEM_JRE_DIR)|g' @@ -208,6 +209,7 @@ ${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar endif ${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar + ${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png ${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir) ${INSTALL_DATA} extra-lib/about.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar ${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir) diff -r 34a7d51b30f5 -r b76eaadf30cc NEWS --- a/NEWS Wed Oct 31 17:07:58 2012 +0100 +++ b/NEWS Fri Nov 02 12:22:09 2012 +0100 @@ -9,6 +9,7 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.4 (2012-XX-XX): +* Splash screen for javaws and plugin * Security updates - CVE-2012-3422, RH840592: Potential read from an uninitialized memory location - CVE-2012-3423, RH841345: Incorrect handling of not 0-terminated strings diff -r 34a7d51b30f5 -r b76eaadf30cc launcher/javaws.in --- a/launcher/javaws.in Wed Oct 31 17:07:58 2012 +0100 +++ b/launcher/javaws.in Fri Nov 02 12:22:09 2012 +0100 @@ -5,6 +5,7 @@ LAUNCHER_FLAGS=-Xms8m CLASSNAME=net.sourceforge.jnlp.runtime.Boot BINARY_LOCATION=@JAVAWS_BIN_LOCATION@ +SPLASH_LOCATION=@JAVAWS_SPLASH_LOCATION@ PROGRAM_NAME=javaws CP=@JRE@/lib/rt.jar @@ -15,6 +16,10 @@ i=0 j=0 +SPLASH="false" +if [ "x$ICEDTEA_WEB_SPLASH" = "x" ] ; then +SPLASH="true" +fi; while [ "$#" -gt "0" ]; do case "$1" in -J*) @@ -24,6 +29,9 @@ *) ARGS[$j]="$1" j=$((j+1)) + if [ "$1" = "-headless" ] ; then + SPLASH="false" + fi ;; esac shift @@ -32,6 +40,10 @@ k=0 COMMAND[k]="${JAVA}" k=$((k+1)) +if [ "$SPLASH" = "true" ] ; then +COMMAND[k]="-splash:${SPLASH_LOCATION}" +k=$((k+1)) +fi; COMMAND[k]="${LAUNCHER_BOOTCLASSPATH}" k=$((k+1)) COMMAND[k]="${LAUNCHER_FLAGS}" diff -r 34a7d51b30f5 -r b76eaadf30cc netx/javaws_splash.png Binary file netx/javaws_splash.png has changed diff -r 34a7d51b30f5 -r b76eaadf30cc netx/net/sourceforge/jnlp/GuiLaunchHandler.java --- a/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Wed Oct 31 17:07:58 2012 +0100 +++ b/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Fri Nov 02 12:22:09 2012 +0100 @@ -1,5 +1,5 @@ /* GuiLaunchHandler.java - Copyright (C) 2011 Red Hat, Inc. + Copyright (C) 2012 Red Hat, Inc. This file is part of IcedTea. @@ -54,7 +54,7 @@ */ public class GuiLaunchHandler extends AbstractLaunchHandler { - private JNLPSplashScreen splashScreen = null; + private volatile JNLPSplashScreen splashScreen = null; private final Object mutex = new Object(); private UpdatePolicy policy = UpdatePolicy.ALWAYS; @@ -80,10 +80,11 @@ } private void closeSplashScreen() { - synchronized(mutex) { + synchronized (mutex) { if (splashScreen != null) { if (splashScreen.isSplashScreenValid()) { splashScreen.setVisible(false); + splashScreen.stopAnimation(); } splashScreen.dispose(); } @@ -102,40 +103,56 @@ @Override public void launchInitialized(final JNLPFile file) { - + int preferredWidth = 500; int preferredHeight = 400; final URL splashImageURL = file.getInformation().getIconLocation( IconDesc.SPLASH, preferredWidth, preferredHeight); + final ResourceTracker resourceTracker = new ResourceTracker(true); if (splashImageURL != null) { - final ResourceTracker resourceTracker = new ResourceTracker(true); resourceTracker.addResource(splashImageURL, file.getFileVersion(), null, policy); - synchronized(mutex) { - try { - SwingUtilities.invokeAndWait(new Runnable() { - @Override - public void run() { - splashScreen = new JNLPSplashScreen(resourceTracker, file); - } - }); - } catch (InterruptedException ie) { - // Wait till splash screen is created - while (splashScreen == null); - } catch (InvocationTargetException ite) { - ite.printStackTrace(); - } + } + synchronized (mutex) { + try { + SwingUtilities.invokeAndWait(new Runnable() { - splashScreen.setSplashImageURL(splashImageURL); + @Override + public void run() { + splashScreen = new JNLPSplashScreen(resourceTracker, file); + } + }); + } catch (InterruptedException ie) { + // Wait till splash screen is created + while (splashScreen == null); + } catch (InvocationTargetException ite) { + ite.printStackTrace(); } + try { + SwingUtilities.invokeAndWait(new Runnable() { + + @Override + public void run() { + splashScreen.setSplashImageURL(splashImageURL); + } + }); + } catch (InterruptedException ie) { + // Wait till splash screen is created + while (!splashScreen.isSplashImageLoaded()); + } catch (InvocationTargetException ite) { + ite.printStackTrace(); + } + + } - + SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { - if (splashImageURL != null) { - synchronized(mutex) { + if (splashScreen != null) { + synchronized (mutex) { if (splashScreen.isSplashScreenValid()) { splashScreen.setVisible(true); } diff -r 34a7d51b30f5 -r b76eaadf30cc netx/net/sourceforge/jnlp/JNLPSplashScreen.java --- a/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Wed Oct 31 17:07:58 2012 +0100 +++ b/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Fri Nov 02 12:22:09 2012 +0100 @@ -43,19 +43,16 @@ import java.awt.Graphics2D; import java.awt.Image; import java.awt.Insets; -import java.awt.Toolkit; import java.io.IOException; import java.net.URL; - import javax.imageio.ImageIO; import javax.swing.JDialog; - import net.sourceforge.jnlp.cache.ResourceTracker; import net.sourceforge.jnlp.runtime.JNLPRuntime; -import net.sourceforge.jnlp.util.ImageResources; import net.sourceforge.jnlp.splashscreen.SplashPanel; import net.sourceforge.jnlp.splashscreen.SplashUtils; import net.sourceforge.jnlp.splashscreen.parts.InformationElement; +import net.sourceforge.jnlp.util.ImageResources; public class JNLPSplashScreen extends JDialog { @@ -68,6 +65,7 @@ public static final int DEF_WIDTH=635; public static final int DEF_HEIGHT=480; private SplashPanel componetSplash; + private boolean splashImageLoaded=false; public JNLPSplashScreen(ResourceTracker resourceTracker, final JNLPFile file) { @@ -78,61 +76,86 @@ // JNLP file. this.resourceTracker = resourceTracker; - - this.file=file; + this.file=file; } public void setSplashImageURL(URL url) { - splashImageUrl = url; - splashImage = null; + splashImageLoaded = false; try { - splashImage = ImageIO.read(resourceTracker - .getCacheFile(splashImageUrl)); + if (url != null) { + splashImageUrl = url; + splashImage = null; + try { + splashImage = ImageIO.read(resourceTracker.getCacheFile(splashImageUrl)); + if (splashImage == null) { + if (JNLPRuntime.isDebug()) { + System.err.println("Error loading splash image: " + url); + } + } + } catch (IOException e) { + if (JNLPRuntime.isDebug()) { + System.err.println("Error loading splash image: " + url); + } + splashImage = null; + } catch (IllegalArgumentException argumentException) { + if (JNLPRuntime.isDebug()) { + System.err.println("Error loading splash image: " + url); + } + splashImage = null; + } + } + if (splashImage == null) { - if (JNLPRuntime.isDebug()) { - System.err.println("Error loading splash image: " + url); + this.setLayout(new BorderLayout()); + SplashPanel splash = SplashUtils.getSplashScreen(DEF_WIDTH, DEF_HEIGHT); + if (splash != null) { + splash.startAnimation(); + splash.setInformationElement(InformationElement.createFromJNLP(file)); + this.add(splash.getSplashComponent()); + this.componetSplash = splash; } - return; } - } catch (IOException e) { - if (JNLPRuntime.isDebug()) { - System.err.println("Error loading splash image: " + url); - } - splashImage = null; - return; - } catch (IllegalArgumentException argumentException) { - if (JNLPRuntime.isDebug()) { - System.err.println("Error loading splash image: " + url); - } - splashImage = null; - return; + correctSize(); + } finally { + splashImageLoaded = true; } - - correctSize(); } + public boolean isSplashImageLoaded() { + return splashImageLoaded; + } + + public boolean isSplashScreenValid() { - return (splashImage != null); + return (splashImage != null) || (componetSplash != null); } private void correctSize() { - - Insets insets = getInsets(); - int minimumWidth = splashImage.getWidth(null) + insets.left - + insets.right; - int minimumHeight = splashImage.getHeight(null) + insets.top - + insets.bottom; - setMinimumSize(new Dimension(minimumWidth, minimumHeight)); - - Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - setLocation((screenSize.width - minimumWidth) / 2, - (screenSize.height - minimumHeight) / 2); + int minimumWidth = DEF_WIDTH; + int minimumHeight = DEF_HEIGHT; + if (splashImage != null) { + Insets insets = getInsets(); + minimumWidth = splashImage.getWidth(null) + insets.left + + insets.right; + minimumHeight = splashImage.getHeight(null) + insets.top + + insets.bottom; + } + setMinimumSize(new Dimension(0, 0)); + setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); + setSize(new Dimension(minimumWidth, minimumHeight)); + setPreferredSize(new Dimension(minimumWidth, minimumHeight)); + // Centering to middle of Toolkit.getDefaultToolkit().getScreenSize() + // centers to the middle of all monitors. Let's center to the middle + // of the primary monitor instead. + // TODO center on the 'current' monitor to meet user expectation + setLocationRelativeTo(null); } @Override public void paint(Graphics g) { if (splashImage == null) { + super.paint(g); return; } @@ -141,4 +164,12 @@ g2.drawImage(splashImage, getInsets().left, getInsets().top, null); } + + public boolean isCustomSplashscreen() { + return (componetSplash!=null); + } + + public void stopAnimation() { + if (isCustomSplashscreen()) componetSplash.stopAnimation(); + } } diff -r 34a7d51b30f5 -r b76eaadf30cc netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Wed Oct 31 17:07:58 2012 +0100 +++ b/netx/net/sourceforge/jnlp/Launcher.java Fri Nov 02 12:22:09 2012 +0100 @@ -20,6 +20,7 @@ import java.applet.Applet; import java.awt.Container; +import java.awt.SplashScreen; import java.io.File; import java.lang.reflect.Method; import java.net.InetAddress; @@ -42,6 +43,8 @@ import javax.swing.SwingUtilities; import javax.swing.text.html.parser.ParserDelegator; +import net.sourceforge.jnlp.runtime.AppletEnvironment; +import net.sourceforge.jnlp.splashscreen.SplashUtils; import sun.awt.SunToolkit; @@ -543,6 +546,12 @@ } if (JNLPRuntime.getForksAllowed() && file.needsNewVM()) { + if (!JNLPRuntime.isHeadless()){ + SplashScreen sp = SplashScreen.getSplashScreen(); + if (sp!=null) { + sp.close(); + } + } List netxArguments = new LinkedList(); netxArguments.add("-Xnofork"); netxArguments.addAll(JNLPRuntime.getInitialArguments()); @@ -652,25 +661,42 @@ * @param enableCodeBase whether to add the codebase URL to the classloader */ protected ApplicationInstance launchApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { - if (!file.isApplet()) + if (!file.isApplet()) { throw launchError(new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LNotApplet"), R("LNotAppletInfo"))); - + } + + if (JNLPRuntime.getForksAllowed() && file.needsNewVM()) { + if (!JNLPRuntime.isHeadless()) { + SplashScreen sp = SplashScreen.getSplashScreen(); + if (sp != null) { + sp.close(); + } + } + } + if (handler != null) { + handler.launchInitialized(file); + } + + AppletInstance applet = null; try { ServiceUtil.checkExistingSingleInstance(file); - AppletInstance applet = createApplet(file, enableCodeBase, cont); + applet = createApplet(file, enableCodeBase, cont); applet.initialize(); - applet.getAppletEnvironment().startApplet(); // this should be a direct call to applet instance return applet; } catch (InstanceExistsException ieex) { if (JNLPRuntime.isDebug()) { System.out.println("Single instance applet is already running."); } - throw launchError(new LaunchException(file, ieex, R("LSFatal"), R("LCLaunching"), R("LCouldNotLaunch"), R("LSingleInstanceExists"))); + throw launchError(new LaunchException(file, ieex, R("LSFatal"), R("LCLaunching"), R("LCouldNotLaunch"), R("LSingleInstanceExists")), applet); } catch (LaunchException lex) { - throw launchError(lex); + throw launchError(lex, applet); } catch (Exception ex) { - throw launchError(new LaunchException(file, ex, R("LSFatal"), R("LCLaunching"), R("LCouldNotLaunch"), R("LCouldNotLaunchInfo"))); + throw launchError(new LaunchException(file, ex, R("LSFatal"), R("LCLaunching"), R("LCouldNotLaunch"), R("LCouldNotLaunchInfo")), applet); + }finally{ + if (handler != null) { + handler.launchStarting(applet); + } } } @@ -678,13 +704,13 @@ * Gets an ApplicationInstance, but does not launch the applet. */ protected ApplicationInstance getApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { - if (!file.isApplet()) + if (!file.isApplet()) { throw launchError(new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LNotApplet"), R("LNotAppletInfo"))); - + } + AppletInstance applet = null; try { ServiceUtil.checkExistingSingleInstance(file); - - AppletInstance applet = createApplet(file, enableCodeBase, cont); + applet = createApplet(file, enableCodeBase, cont); applet.initialize(); return applet; @@ -692,11 +718,11 @@ if (JNLPRuntime.isDebug()) { System.out.println("Single instance applet is already running."); } From jvanek at icedtea.classpath.org Fri Nov 2 05:43:50 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 02 Nov 2012 12:43:50 +0000 Subject: /hg/release/icedtea-web-1.3: Renamed reproducers-related variabl... Message-ID: changeset 0cea56c371db in /hg/release/icedtea-web-1.3 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.3?cmd=changeset;node=0cea56c371db author: Jiri Vanek date: Fri Nov 02 13:48:52 2012 +0100 Renamed reproducers-related variables and targets diffstat: ChangeLog | 23 + Makefile.am | 187 +++++---- tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile | 4 +- tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile | 6 +- 4 files changed, 124 insertions(+), 96 deletions(-) diffs (493 lines): diff -r 11c61503e614 -r 0cea56c371db ChangeLog --- a/ChangeLog Mon Sep 17 16:40:25 2012 -0400 +++ b/ChangeLog Fri Nov 02 13:48:52 2012 +0100 @@ -1,3 +1,26 @@ +2012-11-02 Jiri Vanek + + Renamed reproducers-related variables and targets + * Makefile.am: + NETX_TEST_DIR - new parent directory variable for tests + NETX_UNIT_TEST_DIR - is now using this variable + JNLP_TESTS_ENGINE_SRCDIR -> TEST_EXTENSIONS_SRCDIR + JNLP_TESTS_ENGINE_TESTS_SRCDIR -> TEST_EXTENSIONS_TESTS_SRCDIR + JNLP_TESTS_SRCDIR -> REPRODUCERS_TESTS_SRCDIR + JNLP_TESTS_ENGINE_DIR -> TEST_EXTENSIONS_DIR + JNLP_TESTS_ENGINE_TESTS_DIR -> TEST_EXTENSIONS_TESTS_DIR + new variable TEST_EXTENSIONS_COMPATIBILITY_SYMLINK still pointing to $(TESTS_DIR)/netx/jnlp_testsengine + $(TESTS_DIR)/jnlp_testsengine now points to $(TESTS_DIR)/test-extensions + JNLP_TESTS_SERVER_DEPLOYDIR -> REPRODUCERS_TESTS_SERVER_DEPLOYDIR + JNLP_TESTS_DIR -> REPRODUCERS_BUILD_DIR + netx-dist-tests-source-files.txt -> test-extensions-source-files.txt + stamps/netx-dist-tests-compile.stamp -> stamps/test-extensions-compile.stamp + stamps/netx-dist-tests-tests-compile.stamp -> stamps/test-extensions-tests-compile.stamp + stamps/netx-dist-tests-compile-testcases.stamp -> stamps/compile-reproducers-testcases.stamp + stamps/netx-dist-tests-copy-resources.stamp -> stamps/copy-reproducers-resources.stamp + * tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile: and + * tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile: following above renaming + 2012-09-17 Deepak Bhole PR1161: X509VariableTrustManager does not work correctly with OpenJDK7 diff -r 11c61503e614 -r 0cea56c371db Makefile.am --- a/Makefile.am Mon Sep 17 16:40:25 2012 -0400 +++ b/Makefile.am Fri Nov 02 13:48:52 2012 +0100 @@ -12,19 +12,21 @@ export TESTS_DIR=$(abs_top_builddir)/tests.build export NETX_UNIT_TEST_SRCDIR=$(TESTS_SRCDIR)/netx/unit -export NETX_UNIT_TEST_DIR=$(TESTS_DIR)/netx/unit +export NETX_TEST_DIR=$(TESTS_DIR)/netx +export NETX_UNIT_TEST_DIR=$(NETX_TEST_DIR)/unit export JUNIT_RUNNER_DIR=$(TESTS_DIR)/junit-runner export JUNIT_RUNNER_SRCDIR=$(TESTS_SRCDIR)/junit-runner -export JNLP_TESTS_ENGINE_SRCDIR=$(TESTS_SRCDIR)/test-extensions -export JNLP_TESTS_ENGINE_TESTS_SRCDIR=$(TESTS_SRCDIR)/test-extensions-tests -export JNLP_TESTS_SRCDIR=$(TESTS_SRCDIR)/reproducers -export JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/jnlp_testsengine -export JNLP_TESTS_ENGINE_TESTS_DIR=$(TESTS_DIR)/netx/jnlp_testsengine_tests -export JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server -export JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests +export TEST_EXTENSIONS_SRCDIR=$(TESTS_SRCDIR)/test-extensions +export TEST_EXTENSIONS_TESTS_SRCDIR=$(TESTS_SRCDIR)/test-extensions-tests +export REPRODUCERS_TESTS_SRCDIR=$(TESTS_SRCDIR)/reproducers +export TEST_EXTENSIONS_DIR=$(TESTS_DIR)/test-extensions +export TEST_EXTENSIONS_COMPATIBILITY_SYMLINK=$(TESTS_DIR)/netx/jnlp_testsengine +export TEST_EXTENSIONS_TESTS_DIR=$(TESTS_DIR)/test-extensions-tests +export REPRODUCERS_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/reproducers_test_server_deploydir +export REPRODUCERS_BUILD_DIR=$(TESTS_DIR)/reproducers.classes export PRIVATE_KEYSTORE_NAME=teststore.ks export PRIVATE_KEYSTORE_PASS=123456789 export EXPORTED_TEST_CERT_PREFIX=icedteatests @@ -155,7 +157,7 @@ itweb-settings.desktop.in $(top_srcdir)/tests # reproducers `D`shortcuts -export DTEST_SERVER=-Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) +export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) export DBROWSERS=-Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA):$(MIDORI):$(EPIPHANY) export REPRODUCERS_DPARAMETERS= $(DTEST_SERVER) $(DJAVAWS_BUILD) $(DBROWSERS) $(BROWSER_TESTS_MODIFICATION) @@ -501,31 +503,31 @@ junit-runner-source-files.txt: find $(JUNIT_RUNNER_SRCDIR) -name '*.java' | sort > $@ -$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt stamps/netx-dist-tests-compile.stamp +$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt stamps/test-extensions-compile.stamp mkdir -p $(JUNIT_RUNNER_DIR) && \ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JUNIT_RUNNER_DIR) \ - -classpath $(JUNIT_JAR):$(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(TEST_EXTENSIONS_DIR) \ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt stamps/junit-jnlp-dist-signed.stamp junit-jnlp-dist-custom.txt - mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) - mkdir -p $(JNLP_TESTS_DIR) + mkdir -p $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) + mkdir -p $(REPRODUCERS_BUILD_DIR) touch $@ junit-jnlp-dist-custom.txt: - cd $(JNLP_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/ ; \ + cd $(REPRODUCERS_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ junit-jnlp-dist-simple.txt: - cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ + cd $(REPRODUCERS_TESTS_SRCDIR)/simple/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ stamps/junit-jnlp-dist-signed.stamp: types=($(SIGNED_REPRODUCERS)) ; \ for which in "$${types[@]}" ; do \ - pushd $(JNLP_TESTS_SRCDIR)/$$which/ ; \ + pushd $(REPRODUCERS_TESTS_SRCDIR)/$$which/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \ popd ; \ done ; \ @@ -540,22 +542,22 @@ IFS="$$IFS_BACKUP" ; \ for dir in "$${simpleReproducers[@]}" ; do \ echo "processing: $$dir" ; \ - mkdir -p "$(JNLP_TESTS_DIR)/$$dir" ; \ - if [ -e "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ]; then \ + mkdir -p "$(REPRODUCERS_BUILD_DIR)/$$dir" ; \ + if [ -e "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/srcs/" ]; then \ d=`pwd` ; \ - cd "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \ + cd "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \ srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ - $(BOOT_DIR)/bin/javac -cp $(NETX_DIR)/lib/classes.jar -d "$(JNLP_TESTS_DIR)/$$dir/" $$srcFiles ; \ + $(BOOT_DIR)/bin/javac -cp $(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect -d "$(REPRODUCERS_BUILD_DIR)/$$dir/" $$srcFiles ; \ if [ -n "$$notSrcFiles" ] ; then \ - cp -R --parents $$notSrcFiles "$(JNLP_TESTS_DIR)/$$dir/" ; \ + cp -R --parents $$notSrcFiles "$(REPRODUCERS_BUILD_DIR)/$$dir/" ; \ fi ; \ - cd "$(JNLP_TESTS_DIR)/$$dir/" ; \ + cd "$(REPRODUCERS_BUILD_DIR)/$$dir/" ; \ if [ -f $(META_MANIFEST) ]; \ then \ - $(BOOT_DIR)/bin/jar cfm "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $(META_MANIFEST) * ; \ + $(BOOT_DIR)/bin/jar cfm "$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $(META_MANIFEST) * ; \ else \ - $(BOOT_DIR)/bin/jar cf "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \ + $(BOOT_DIR)/bin/jar cf "$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \ fi; \ cd "$$d" ; \ fi; \ @@ -574,14 +576,14 @@ signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ IFS="$$IFS_BACKUP" ; \ for dir in "$${signedReproducers[@]}" ; do \ - $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $$tcaw ; \ + $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) "$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $$tcaw ; \ done ; \ done ; \ mkdir -p stamps && \ touch $@ stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp - pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ + pushd $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ types=($(ALL_NONCUSTOM_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ @@ -642,33 +644,34 @@ done ; -rm -rf stamps/netx-dist-tests-import-cert-to-public -netx-dist-tests-source-files.txt: - find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@ +test-extensions-source-files.txt: + find $(TEST_EXTENSIONS_SRCDIR) -name '*.java' | sort > $@ -stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ - stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt - mkdir -p $(JNLP_TESTS_ENGINE_DIR); +stamps/test-extensions-compile.stamp: stamps/junit-jnlp-dist-dirs test-extensions-source-files.txt + mkdir -p $(TEST_EXTENSIONS_DIR); + mkdir -p $(NETX_TEST_DIR); + ln -s $(TEST_EXTENSIONS_DIR) $(TEST_EXTENSIONS_COMPATIBILITY_SYMLINK); $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_DIR) \ + -d $(TEST_EXTENSIONS_DIR) \ -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ - @netx-dist-tests-source-files.txt && \ + @test-extensions-source-files.txt && \ mkdir -p stamps && \ touch $@ -netx-dist-tests-tests-source-files.txt: - find $(JNLP_TESTS_ENGINE_TESTS_SRCDIR) -name '*.java' | sort > $@ +test-extensions-tests-source-files.txt: + find $(TEST_EXTENSIONS_TESTS_SRCDIR) -name '*.java' | sort > $@ -stamps/netx-dist-tests-tests-compile.stamp: stamps/junit-jnlp-dist-dirs netx-dist-tests-tests-source-files.txt stamps/netx-dist-tests-compile.stamp - mkdir -p $(JNLP_TESTS_ENGINE_TESTS_DIR); +stamps/test-extensions-tests-compile.stamp: stamps/junit-jnlp-dist-dirs test-extensions-tests-source-files.txt stamps/test-extensions-compile.stamp + mkdir -p $(TEST_EXTENSIONS_TESTS_DIR); $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_TESTS_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - @netx-dist-tests-tests-source-files.txt && \ + -d $(TEST_EXTENSIONS_TESTS_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) \ + @test-extensions-tests-source-files.txt && \ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ - netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-tests-compile.stamp +stamps/compile-reproducers-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ + test-extensions-source-files.txt stamps/test-extensions-compile.stamp stamps/test-extensions-tests-compile.stamp types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ @@ -676,22 +679,22 @@ IFS="$$IFS_BACKUP" ; \ for dir in "$${simpleReproducers[@]}" ; do \ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_TESTS_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/"* ; \ + -d $(TEST_EXTENSIONS_TESTS_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) \ + "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/testcases/"* ; \ done ; \ done ; \ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-copy-resources.stamp: stamps/junit-jnlp-dist-dirs +stamps/copy-reproducers-resources.stamp: stamps/junit-jnlp-dist-dirs types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ IFS="$$IFS_BACKUP" ; \ for dir in "$${simpleReproducers[@]}" ; do \ - cp -R "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ + cp -R "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/ ; \ done ; \ done ; \ mkdir -p stamps && \ @@ -699,7 +702,7 @@ $(REPRODUCERS_CLASS_NAMES): $(REPRODUCERS_CLASS_WHITELIST) whiteListed=`cat $(REPRODUCERS_CLASS_WHITELIST)`; \ - cd $(JNLP_TESTS_ENGINE_TESTS_DIR) ; \ + cd $(TEST_EXTENSIONS_TESTS_DIR) ; \ class_names= ; \ for test in `find -type f` ; do \ class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \ @@ -724,27 +727,27 @@ stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \ javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \ stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ - stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/netx-dist-tests-copy-resources.stamp\ + stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\ $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) stamps/process-custom-reproducers.stamp - cd $(JNLP_TESTS_ENGINE_DIR) ; \ + cd $(TEST_EXTENSIONS_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(JNLP_TESTS_ENGINE_TESTS_DIR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath:$(RUNTIME) CommandLine $$class_names if WITH_XSLTPROC - $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(JNLP_TESTS_ENGINE_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html - $(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html + $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(TEST_EXTENSIONS_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html + $(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html endif touch $@ stamps/process-custom-reproducers.stamp: stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ - stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/netx-dist-tests-copy-resources.stamp\ + stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\ $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) . $(abs_top_srcdir)/NEW_LINE_IFS ; \ customReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \ IFS="$$IFS_BACKUP" ; \ for dir in "$${customReproducers[@]}" ; do \ - pushd $(JNLP_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/$$dir/srcs; \ + pushd $(REPRODUCERS_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/$$dir/srcs; \ $(MAKE) prepare-reproducer ; \ popd ; \ done ; \ @@ -756,7 +759,7 @@ customReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \ IFS="$$IFS_BACKUP" ; \ for dir in "$${customReproducers[@]}" ; do \ - pushd $(JNLP_TESTS_SRCDIR)/custom/$$dir/srcs; \ + pushd $(REPRODUCERS_TESTS_SRCDIR)/custom/$$dir/srcs; \ $(MAKE) clean-reproducer ; \ popd ; \ done ; \ @@ -872,11 +875,11 @@ find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@ stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \ - netx-unit-tests-source-files.txt stamps/netx-dist-tests-compile.stamp + netx-unit-tests-source-files.txt stamps/test-extensions-compile.stamp mkdir -p $(NETX_UNIT_TEST_DIR) && \ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(NETX_UNIT_TEST_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) \ @netx-unit-tests-source-files.txt && \ mkdir -p stamps && \ touch $@ @@ -906,7 +909,7 @@ done ; \ cd $(NETX_UNIT_TEST_DIR) ; \ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(JNLP_TESTS_ENGINE_DIR):. \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):. \ $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names if WITH_XSLTPROC $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html @@ -941,7 +944,7 @@ -cp $(BOOT_DIR)/jre/lib/jsse.jar \ -cp $(BOOT_DIR)/jre/lib/resources.jar \ -cp $(RHINO_RUNTIME) \ - -cp $(JNLP_TESTS_ENGINE_DIR) \ + -cp $(TEST_EXTENSIONS_DIR) \ -cp . \ -ix "-org.junit.*" \ -ix "-junit.*" \ @@ -962,7 +965,7 @@ if WITH_EMMA cd $(TESTS_DIR) ; \ for file in $(EMMA_MODIFIED_FILES) ; do \ - mv $(JNLP_TESTS_ENGINE_DIR)/$$file $(JNLP_TESTS_ENGINE_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ + mv $(TEST_EXTENSIONS_DIR)/$$file $(TEST_EXTENSIONS_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ done ;\ echo "backuping javaws and netx.jar in $(DESTDIR)" ; \ netx_backup=$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx_backup.jar ; \ @@ -990,11 +993,11 @@ for dir in "$${simpleReproducers[@]}" ; do \ testcases_srcs[k]="-sp" ; \ k=$$((k+1)) ; \ - testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ + testcases_srcs[k]="$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ k=$$((k+1)) ; \ done ; \ done ; \ - cd $(JNLP_TESTS_ENGINE_DIR) ; \ + cd $(TEST_EXTENSIONS_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ $(BOOT_DIR)/bin/java \ $(EMMA_JAVA_ARGS) \ @@ -1009,24 +1012,24 @@ -cp $(BOOT_DIR)/jre/lib/resources.jar \ -cp $(RHINO_RUNTIME) \ -cp . \ - -cp $(JNLP_TESTS_ENGINE_TESTS_DIR) \ + -cp $(TEST_EXTENSIONS_TESTS_DIR) \ -ix "-org.junit.*" \ -ix "-junit.*" \ CommandLine $$class_names ; \ - mv $(JNLP_TESTS_ENGINE_DIR)/coverage.ec $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec ; \ - mv $(JNLP_TESTS_ENGINE_DIR)/coverage.es $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \ + mv $(TEST_EXTENSIONS_DIR)/coverage.ec $(TEST_EXTENSIONS_DIR)/coverageX.ec ; \ + mv $(TEST_EXTENSIONS_DIR)/coverage.es $(TEST_EXTENSIONS_DIR)/coverageX.es ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -cp $(EMMA_JAR) emma merge \ -in $(TESTS_DIR)/coverage.em \ - -in $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec \ - -in $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \ + -in $(TEST_EXTENSIONS_DIR)/coverageX.ec \ + -in $(TEST_EXTENSIONS_DIR)/coverageX.es ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emma report \ -Dreport.html.out.encoding=UTF-8 \ - -in $(JNLP_TESTS_ENGINE_DIR)/coverage.es \ + -in $(TEST_EXTENSIONS_DIR)/coverage.es \ -sp $(NETX_SRCDIR) \ -sp $(NETX_UNIT_TEST_SRCDIR) \ -sp $(JUNIT_RUNNER_SRCDIR) \ - -sp $(JNLP_TESTS_ENGINE_SRCDIR) \ - -sp $(JNLP_TESTS_ENGINE_TESTS_SRCDIR) \ + -sp $(TEST_EXTENSIONS_SRCDIR) \ + -sp $(TEST_EXTENSIONS_TESTS_SRCDIR) \ -r html \ -r xml \ "$${testcases_srcs[@]}" ; \ @@ -1036,10 +1039,10 @@ mv $$javaws_backup $(DESTDIR)$(bindir)/$(javaws); \ mv $$netx_backup $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ; \ for file in $(EMMA_MODIFIED_FILES) ; do \ - mv $(JNLP_TESTS_ENGINE_DIR)/$$file $(JNLP_TESTS_ENGINE_DIR)/"$$file""$(EMMA_SUFFIX)" ; \ - mv $(JNLP_TESTS_ENGINE_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" $(JNLP_TESTS_ENGINE_DIR)/$$file ; \ + mv $(TEST_EXTENSIONS_DIR)/$$file $(TEST_EXTENSIONS_DIR)/"$$file""$(EMMA_SUFFIX)" ; \ + mv $(TEST_EXTENSIONS_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" $(TEST_EXTENSIONS_DIR)/$$file ; \ done ;\ - rm $(JNLP_TESTS_ENGINE_DIR)/coverage.txt ; + rm $(TEST_EXTENSIONS_DIR)/coverage.txt ; else echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ; exit 5 @@ -1058,13 +1061,13 @@ for dir in "$${simpleReproducers[@]}" ; do \ testcases_srcs[k]="-sp" ; \ k=$$((k+1)) ; \ - testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ + testcases_srcs[k]="$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ k=$$((k+1)) ; \ done ; \ done ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -cp $(EMMA_JAR) emma merge \ -in $(NETX_UNIT_TEST_DIR)/coverage.es \ - -in $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \ + -in $(TEST_EXTENSIONS_DIR)/coverage.es ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emma report \ -Dreport.html.out.encoding=UTF-8 \ -in $(TESTS_DIR)/coverage.es \ @@ -1072,8 +1075,8 @@ -sp $(NETX_SRCDIR) \ -sp $(NETX_UNIT_TEST_SRCDIR) \ -sp $(JUNIT_RUNNER_SRCDIR) \ - -sp $(JNLP_TESTS_ENGINE_SRCDIR) \ - -sp $(JNLP_TESTS_ENGINE_TESTS_SRCDIR) \ + -sp $(TEST_EXTENSIONS_SRCDIR) \ + -sp $(TEST_EXTENSIONS_TESTS_SRCDIR) \ "$${testcases_srcs[@]}" \ -r html \ -r xml ; @@ -1105,17 +1108,19 @@ rm -f $(TESTS_DIR)/*.html clean-netx-dist-tests: clean_tests_reports netx-dist-tests-remove-cert-from-public clean-custom-reproducers - rm -f netx-dist-tests-source-files.txt - rm -rf $(JNLP_TESTS_ENGINE_TESTS_DIR) - rm -rf $(JNLP_TESTS_DIR) - rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) - rm -rf $(JNLP_TESTS_ENGINE_DIR) + rm -f test-extensions-source-files.txt + rm -f test-extensions-tests-source-files.txt + rm -f $(TEST_EXTENSIONS_COMPATIBILITY_SYMLINK) + rm -rf $(TEST_EXTENSIONS_TESTS_DIR) + rm -rf $(REPRODUCERS_BUILD_DIR) + rm -rf $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) + rm -rf $(TEST_EXTENSIONS_DIR) rm -f stamps/junit-jnlp-dist-dirs - rm -f stamps/netx-dist-tests-compile.stamp - rm -f stamps/netx-dist-tests-tests-compile.stamp + rm -f stamps/test-extensions-compile.stamp + rm -f stamps/test-extensions-tests-compile.stamp rm -f stamps/netx-dist-tests-prepare-reproducers.stamp - rm -f stamps/netx-dist-tests-compile-testcases.stamp - rm -f stamps/netx-dist-tests-copy-resources.stamp + rm -f stamps/compile-reproducers-testcases.stamp + rm -f stamps/copy-reproducers-resources.stamp rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp rm -f stamps/change-dots-to-paths.stamp rm -f junit-jnlp-dist-simple.txt @@ -1145,10 +1150,10 @@ clean-reproducers-test-code-coverage: if [ -e stamps/run-reproducers-test-code-coverage.stamp ]; then \ - rm -rf $(JNLP_TESTS_ENGINE_DIR)/coverage ; \ - rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.xml ; \ - rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \ - rm -f $(JNLP_TESTS_ENGINE_DIR)/tests-output_withEmma.xml ; \ + rm -rf $(TEST_EXTENSIONS_DIR)/coverage ; \ + rm -f $(TEST_EXTENSIONS_DIR)/coverage.xml ; \ + rm -f $(TEST_EXTENSIONS_DIR)/coverage.es ; \ + rm -f $(TEST_EXTENSIONS_DIR)/tests-output_withEmma.xml ; \ rm -f stamps/run-reproducers-test-code-coverage.stamp ; \ fi diff -r 11c61503e614 -r 0cea56c371db tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile --- a/tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile Mon Sep 17 16:40:25 2012 -0400 +++ b/tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile Fri Nov 02 13:48:52 2012 +0100 @@ -1,7 +1,7 @@ TESTNAME=AppletFolderInArchiveTag ARCHIVE_TEST_FOLDER=archive_tag_folder_test -JAVAC_CLASSPATH=$(JNLP_TESTS_ENGINE_DIR):$(NETX_DIR)/lib/classes.jar -DEPLOY_SUBDIR=$(JNLP_TESTS_SERVER_DEPLOYDIR)/$(ARCHIVE_TEST_FOLDER) +JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar +DEPLOY_SUBDIR=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$(ARCHIVE_TEST_FOLDER) INDEX_HTML_BODY="

Required to recognize folder structure

" prepare-reproducer: diff -r 11c61503e614 -r 0cea56c371db tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile --- a/tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile Mon Sep 17 16:40:25 2012 -0400 +++ b/tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile Fri Nov 02 13:48:52 2012 +0100 @@ -1,9 +1,9 @@ TESTNAME=UnsignedContentInMETAINF -JAVAC_CLASSPATH=$(JNLP_TESTS_ENGINE_DIR):$(NETX_DIR)/lib/classes.jar -DEPLOY_DIR=$(JNLP_TESTS_SERVER_DEPLOYDIR) +JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar +DEPLOY_DIR=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) JAVAC=$(BOOT_DIR)/bin/javac JAR=$(BOOT_DIR)/bin/jar -ABS_SRC_PATH=$(JNLP_TESTS_SRCDIR)/custom/$(TESTNAME)/srcs +ABS_SRC_PATH=$(REPRODUCERS_TESTS_SRCDIR)/custom/$(TESTNAME)/srcs prepare-reproducer: echo PREPARING REPRODUCER $(TESTNAME) From jvanek at redhat.com Fri Nov 2 07:49:57 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 02 Nov 2012 15:49:57 +0100 Subject: [fyi] [icedtea-web] Czech locales and test for them In-Reply-To: <814944596.5812506.1351850565143.JavaMail.root@redhat.com> References: <814944596.5812506.1351850565143.JavaMail.root@redhat.com> Message-ID: <5093DD95.3020200@redhat.com> On 11/02/2012 11:02 AM, Pavel Tisnovsky wrote: > Hi Jiri, > > these sort of patches are really welcome and I'm looking forward for more localizations! > > Some comments: > > 1) The property file seems to use line ending which is not incorrect from the Java side, > but it might confuse other developers& patch& diff tools (and you are going to add some new > tests written in BASH, are not you?). AFAIK it's safer to use Unix-like line endings. arg. Big failure. fixed > > 2) Some questionable translations: > +Password=Heslo:<- should be ':' here? > +Field=Pole -<- "Vstupn? pole"? > +LFatalVerificationInfo=<- missing value All three are following original in best way. > > 3) The following snippet is not incorrect but it is quite unusual: > + int i = -1; > + for (Iterator> it = rr.iterator(); it.hasNext();) { > + i++; > Why not to use standard idiom int i=0; before the loop and i++ inside to "for" statement itself: > ...for (Iterator> it = rr.iterator(); it.hasNext(); i++)... as you wish. done. > > 4) private void iteratePropertiesFor(ResourceBundle props, String s, boolean b, String id) { > Well I know this is a private method, but it would be better to rename the parameters > (what the "s" and especially "b" means?). And in general it would be great to add short > JavaDoc to all methods :) sure. Done ! > > 5) I would prefer to use Locale parameter for the method getProperties(). You can then > get instance of Locale class by passing country+language pair to the Locale constructor: > language - lowercase two-letter ISO-639 code > country - uppercase two-letter ISO-3166 code > > + public ResourceBundle getPropertiesCz() throws IOException { > + return getProperties("_cs_CZ"); > + > + } Ihave intentionaly used direct acces to resource. I do not wan to have middle man here between resources and test. I would really like to keep it as it is. > > 6) iteratePropertiesForAproxCz/iteratePropertiesFor: > better name for an "x" variable should be keysFound or something like it fixed. > > 7) method regexIt()& String[] czEvil - well this is specific to systems *not* set to UTF-8 *and* using CZ > at the same time (Windows and its stupid Windows-1250 code page?). AFAIK it would be better to use "\uXXXX" Unicode > literals in the array and refactor regexIt() for other languages too (ie you should pass czEvil array > to this method as an another parameter). And please add JavaDoc to regexId() - it took me 2-3 minutes > to figure out this method behavior and it could be described in one sentence + one example :) Yash. sorry for it. Javadocs added. > > 8) value = value.replace(string.toUpperCase(), "."); you need to use Locale here You do not need:) This method is working quite well for all except some really unusual fonts. > > Cheers, > Pavel > > > > ----- Jiri Vanek wrote: >> Hi! >> Here are the locales Alexander have sent me yesterday. I have added also small test to ensure they proceed correctly. >> Should I add him to Authors? (As person who helped me with design of splash was forbiden to be add) >> Should locales be mentioned in news? (I guess yes. So I will : >> >> New in release 1.4 (2012-XX-XX): >> +* Integrated cs_CZ internationalization >> * Security updates >> >> Cheers, >> J. >> >> >> ps: sorry for not including news and authors directly in patch, but I have rest of this patch on offline machine:-/ >> > -------------- next part -------------- A non-text attachment was scrubbed... Name: czCsLocale2.patch Type: text/x-patch Size: 44321 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121102/cd1398bd/czCsLocale2.patch From gnu.andrew at redhat.com Fri Nov 2 07:53:47 2012 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 2 Nov 2012 10:53:47 -0400 (EDT) Subject: [RFC] Enhanced Garbage Collection Probe Points In-Reply-To: <1351796745.2848.61.camel@springer.wildebeest.org> Message-ID: <650449263.4134225.1351868027688.JavaMail.root@redhat.com> ----- Original Message ----- > On Thu, 2012-11-01 at 14:32 -0400, Jon VanAlten wrote: > > I would also prefer the 7 stuff to go to the forest, but... > > > > > From: "Mark Wielaard" > > > > > > > > > > Adding patches directly to the tree is fine with me. > > > My only hesitation was my own confusion since the default > > > configure/make setup doesn't pick up a patched forest. > > > You don't have that issue with patches, which are directly > > > applied. If we are going for a complete forest setup it > > > might make sense to also add the tapsets and testsuite > > > directly there. > > > > > > I'll try and figure it all out again and also port the existing > > > patches to the forest. Hints and tips appreciated. > > > > So about this patch and 7, I'm getting mixed messages here. > Mark, is this the whole of your patch or only part of it? http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/75982791ddb6 i.e. could that be added to forest and systemtap.patch removed from IcedTea7? > What is the mixed message? I am fine with adding patches directly to > the > forest and even adding the other stuff like the tapsets and the > staptests there. I just don't know the workflow when I would work > against the forest directly and not just have patches in the tree. > And I > just haven't found the time to create a new workflow. I am sure it is > just a different ./configure flag, just haven't figured out which > one. > So, how do people work against the forest directly? What configure > flags > do they use? What does your edit/build/test/commit/pull cycle look > like? > > Basically the only step I seem to miss is how to make sure the tree > is > in sync with what I push to the forest. Somehow I am missing how when > I > commit to the forest the icedtea tree is updated so people who update > their tree get the new patch. Knowing how that works would also help > with making sure the buildbot rebuilds the tree each time the forest > is > changed and not only when a patch is added to the tree. > It's a two stage process: 1. Work against the forest, make sure it builds and then commit. 2. Sync IcedTea7 with the latest forest revisions. For 1, the IcedTea forest (or any OpenJDK tree) can be built with something like: https://bitbucket.org/gnu_andrew/scripts/src/tip/openjdk.sh (you don't need all that; it's designed for maximum flexibility). For stage 2, you need to update the changeset and checksums in IcedTea7. There's a script to do that for you using the latest tip of each repo. See scripts/update_tarballs.sh. You then do a build and, if it's successful with the new tarballs, it can be pushed with the usual ChangeLog. There is no automation of updating IcedTea7 to match the forest as in many cases it requires some manual work. For example, pushing SystemTap to the forest also requires removing the patch in IcedTea7. Likewise, when there is a big upstream merge, bootstrapping often breaks so the bootstrap patches may need to be updated. Also, as updating may also pull in other people's changesets, it's important to announce your intentions on the mailing list before doing so. Pulling in an upstream update that hasn't yet been synced with the forest is going to give you a lot more work to do and possibly duplicate work being done by myself. It may be appropriate to delegate 2 in this case, if you have a fairly minor change but there is a mass of other larger changes coming through too. A typical update for an upstream sync would be: 2012-09-25 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Bump to b08. (CORBA_CHANGESET): Update to IcedTea7 forest head. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * hotspot.map: Update default to head of IcedTea7 forest HotSpot. * patches/boot/ecj-diamond.patch: Regenerated. Added new cases in javax.crypto.CryptoPermissions, javax.crypto.JceSecurityManager and java.beans.Introspector. * patches/boot/ecj-multicatch.patch: Added new case in sun.tools.jconsole.Resources. * patches/boot/ecj-stringswitch.patch: Regenerated. which reminds me I should update the scripts to better handle the multiple HotSpots we now have to support due to Zero... If you want to have a builder building against the upstream forest rather than the supported set of changesets & checksums, this can be done with 6, 7 & 8. The option --with-openjdk-src-dir can be used to point to a forest checkout. I use this to maintain icedtea6-hg which compiles against upstream OpenJDK6, not a tarball. You may see failures being posted from this when OpenJDK6 is updated and not yet in sync. There's also --enable-hg which does the checkout for you, but this isn't heavily maintained; I don't use it and I believe it still uses the obsolete forest extension. It's also inefficient as it does a completely fresh checkout when it makes more sense to do one manual checkout and reuse it. > Cheers, > > Mark > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From mark at klomp.org Fri Nov 2 08:03:18 2012 From: mark at klomp.org (Mark Wielaard) Date: Fri, 02 Nov 2012 16:03:18 +0100 Subject: [RFC] Enhanced Garbage Collection Probe Points In-Reply-To: <650449263.4134225.1351868027688.JavaMail.root@redhat.com> References: <650449263.4134225.1351868027688.JavaMail.root@redhat.com> Message-ID: <1351868598.2848.65.camel@springer.wildebeest.org> On Fri, 2012-11-02 at 10:53 -0400, Andrew Hughes wrote: > Mark, is this the whole of your patch or only part of it? > > http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/75982791ddb6 > > i.e. could that be added to forest and systemtap.patch removed from IcedTea7? Yes it is, plus the followup patch to add the testcase I wrote for it: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/26351ce8c4b0 Cheers, Mark From ptisnovs at redhat.com Fri Nov 2 08:19:01 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 2 Nov 2012 11:19:01 -0400 (EDT) Subject: [fyi] [icedtea-web] Czech locales and test for them In-Reply-To: <5093DD95.3020200@redhat.com> Message-ID: <1881744788.6054351.1351869541902.JavaMail.root@redhat.com> ----- Jiri Vanek wrote: > On 11/02/2012 11:02 AM, Pavel Tisnovsky wrote: > > Hi Jiri, > > > > these sort of patches are really welcome and I'm looking forward for more localizations! > > > > Some comments: > > > > 1) The property file seems to use line ending which is not incorrect from the Java side, > > but it might confuse other developers& patch& diff tools (and you are going to add some new > > tests written in BASH, are not you?). AFAIK it's safer to use Unix-like line endings. > > arg. Big failure. fixed > TY > > > > 2) Some questionable translations: > > +Password=Heslo:<- should be ':' here? > > +Field=Pole -<- "Vstupn? pole"? > > +LFatalVerificationInfo=<- missing value > > All three are following original in best way. > Ok, I compared it with original eng. msgs and it seems ok > > > > 3) The following snippet is not incorrect but it is quite unusual: > > + int i = -1; > > + for (Iterator> it = rr.iterator(); it.hasNext();) { > > + i++; > > Why not to use standard idiom int i=0; before the loop and i++ inside to "for" statement itself: > > ...for (Iterator> it = rr.iterator(); it.hasNext(); i++)... > > as you wish. done. :-) TY > > > > > 4) private void iteratePropertiesFor(ResourceBundle props, String s, boolean b, String id) { > > Well I know this is a private method, but it would be better to rename the parameters > > (what the "s" and especially "b" means?). And in general it would be great to add short > > JavaDoc to all methods :) > > sure. Done ! > > > > > 5) I would prefer to use Locale parameter for the method getProperties(). You can then > > get instance of Locale class by passing country+language pair to the Locale constructor: > > language - lowercase two-letter ISO-639 code > > country - uppercase two-letter ISO-3166 code > > > > + public ResourceBundle getPropertiesCz() throws IOException { > > + return getProperties("_cs_CZ"); > > + > > + } > > Ihave intentionaly used direct acces to resource. I do not wan to have middle man here between resources and test. I would really like to keep it as it is. Well it's not a big issue but then you need to make sure that every strings sent to getProperties are really correct. > > > > 6) iteratePropertiesForAproxCz/iteratePropertiesFor: > > better name for an "x" variable should be keysFound or something like it > > fixed. > > > > > 7) method regexIt()& String[] czEvil - well this is specific to systems *not* set to UTF-8 *and* using CZ > > at the same time (Windows and its stupid Windows-1250 code page?). AFAIK it would be better to use "\uXXXX" Unicode > > literals in the array and refactor regexIt() for other languages too (ie you should pass czEvil array > > to this method as an another parameter). And please add JavaDoc to regexId() - it took me 2-3 minutes > > to figure out this method behavior and it could be described in one sentence + one example :) > > Yash. sorry for it. Javadocs added. great! > > > > 8) value = value.replace(string.toUpperCase(), "."); you need to use Locale here > > You do not need:) This method is working quite well for all except some really unusual fonts. well it's not related to fonts but to algorithm used to find uppercase<->lowercase pair. It's fairly easy to to this in case of EN and CZ, but in case of more complicated languages it's quite strange because it can change length of the string etc. etc. But I'm ok if you are aware of it. Good from my side, thank you, Pavel > > > > > Cheers, > > Pavel > > > > > > > > ----- Jiri Vanek wrote: > >> Hi! > >> Here are the locales Alexander have sent me yesterday. I have added also small test to ensure they proceed correctly. > >> Should I add him to Authors? (As person who helped me with design of splash was forbiden to be add) > >> Should locales be mentioned in news? (I guess yes. So I will : > >> > >> New in release 1.4 (2012-XX-XX): > >> +* Integrated cs_CZ internationalization > >> * Security updates > >> > >> Cheers, > >> J. > >> > >> > >> ps: sorry for not including news and authors directly in patch, but I have rest of this patch on offline machine:-/ > >> > > > From jvanek at icedtea.classpath.org Fri Nov 2 08:36:09 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 02 Nov 2012 15:36:09 +0000 Subject: /hg/icedtea-web: Added cz_CS locales with test Message-ID: changeset 6361c91b77ca in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6361c91b77ca author: Jiri Vanek date: Fri Nov 02 16:41:39 2012 +0100 Added cz_CS locales with test diffstat: AUTHORS | 1 + ChangeLog | 11 + NEWS | 1 + netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties | 467 ++++++++++ tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java | 281 ++++++ 5 files changed, 761 insertions(+), 0 deletions(-) diffs (truncated from 796 to 500 lines): diff -r b76eaadf30cc -r 6361c91b77ca AUTHORS --- a/AUTHORS Fri Nov 02 12:22:09 2012 +0100 +++ b/AUTHORS Fri Nov 02 16:41:39 2012 +0100 @@ -11,6 +11,7 @@ Peter Hatina Andrew John Hughes Matthias Klose +Alexandr Kolouch Micha?? G??rny < mgorny at gentoo.org > Francis Kung Denis Lila diff -r b76eaadf30cc -r 6361c91b77ca ChangeLog --- a/ChangeLog Fri Nov 02 12:22:09 2012 +0100 +++ b/ChangeLog Fri Nov 02 16:41:39 2012 +0100 @@ -1,3 +1,14 @@ +2012-11-02 Jiri Vanek + Alexandr Kolouch + + Added cz_CS locales with test + * AUTHORS: added translator, mr. Kolouch + * NEWS: mentioned localization + * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: file + itself with translation + * tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java: + Test which is testing whether and how locales are applied. + 2012-11-02 Jiri Vanek Splashscreen integrated to javaws and plugin diff -r b76eaadf30cc -r 6361c91b77ca NEWS --- a/NEWS Fri Nov 02 12:22:09 2012 +0100 +++ b/NEWS Fri Nov 02 16:41:39 2012 +0100 @@ -9,6 +9,7 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.4 (2012-XX-XX): +* Added cs_CZ localisation * Splash screen for javaws and plugin * Security updates - CVE-2012-3422, RH840592: Potential read from an uninitialized memory location diff -r b76eaadf30cc -r 6361c91b77ca netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties Fri Nov 02 16:41:39 2012 +0100 @@ -0,0 +1,467 @@ +# Czech UI messages for netx +# L=Launcher, B=Boot, P=Parser, C=cache S=security +# +# General +NullParameter=Pr\u00e1zdn\u00fd parametr +ButAllow=Povolit +ButBrowse=Proch\u00e1zet... +ButCancel=\ Zru\u0161it +ButClose=Zav\u0159\u00edt +ButCopy=Kop\u00edrovat do schr\u00e1nky +ButMoreInformation=Dal\u0161\u00ed informace... +ButOk=OK +ButProceed=Pokra\u010dovat +ButRun=Spustit +ButApply=Pou\u017e\u00edt +ButDone=Hotovo +ButShowDetails=Zobrazit podrobnosti +ButHideDetails=Skr\u00fdt podrobnosti + +AFileOnTheMachine=soubor v po\u010d\u00edta\u010di +AlwaysAllowAction=V\u017edy povolit tuto akci +Usage=Pou\u017eit\u00ed: +Error=Chyba + +Continue=Chcete pokra\u010dovat? +Field=Pole +From=Od +Name=Jm\u00e9no +Password=Heslo: +Publisher=Vydavatel +Unknown= +Username=U\u017eivatelsk\u00e9 jm\u00e9no: +Value=Hodnota +Version=Verze + +# LS - Severity +LSMinor=Mal\u00e1 +LSFatal=Z\u00e1va\u017en\u00e1 + +# LC - Category +LCSystem=Syst\u00e9mov\u00e1 chyba +LCExternalLaunch=Chyba extern\u00edho spu\u0161t\u011bn\u00ed +LCFileFormat=Chybn\u00fd form\u00e1t souboru +LCReadError=Chyba p\u0159i \u010dten\u00ed +LCClient=Chyba aplikace +LCLaunching=Chyba p\u0159i spou\u0161t\u011bn\u00ed +LCNotSupported=Nepodporovan\u00e1 funkce +LCInit=Chyba inicializace + +LAllThreadGroup=V\u0161echny aplikace JNLP +LNullUpdatePolicy=Pravidla pro aktualizaci nesm\u00ed b\u00fdt pr\u00e1zdn\u00e1. + +LThreadInterrupted=Vl\u00e1kno bylo p\u0159eru\u0161eno p\u0159i \u010dek\u00e1n\u00ed na spu\u0161t\u011bn\u00ed souboru. +LThreadInterruptedInfo= +LCouldNotLaunch=Nelze spustit soubor JNLP. +LCouldNotLaunchInfo= +LCantRead=Nelze \u010d\u00edst nebo analyzovat soubor JNLP. +LCantReadInfo= +LNullLocation=Nelze ur\u010dit um\u00edst\u011bn\u00ed souboru JNLP. +LNullLocationInfo=Byl u\u010din\u011bn pokus o spu\u0161t\u011bn\u00ed souboru JNLP v jin\u00e9m prost\u0159ed\u00ed JVM, av\u0161ak soubor nebyl nalezen. Chcete-li spustit extern\u00ed prost\u0159ed\u00ed JVM, modul runtime mus\u00ed b\u00fdt schopen nal\u00e9zt soubor .jnlp v lok\u00e1ln\u00edm souborov\u00e9m syst\u00e9mu nebo na serveru. +LNetxJarMissing=Nelze ur\u010dit um\u00edst\u011bn\u00ed souboru netx.jar. +LNetxJarMissingInfo=Byl u\u010din\u011bn pokus o spu\u0161t\u011bn\u00ed souboru JNLP v jin\u00e9m prost\u0159ed\u00ed JVM, av\u0161ak nebyl nalezen soubor netx.jar. Chcete-li spustit extern\u00ed prost\u0159ed\u00ed JVM, modul runtime mus\u00ed b\u00fdt schopen nal\u00e9zt soubor netx.jar. +LNotToSpec=Soubor JNLP p\u0159esn\u011b neodpov\u00edd\u00e1 specifikaci. +LNotToSpecInfo=Soubor JNLP obsahuje data, kter\u00e1 jsou zak\u00e1z\u00e1na v r\u00e1mci specifikace JNLP. Modul runtime se m\u016f\u017ee pokusit ignorovat neplatn\u00e9 informace a pokra\u010dovat ve spou\u0161t\u011bn\u00ed souboru. +LNotApplication=Nejedn\u00e1 se o soubor aplikace. +LNotApplicationInfo=Byl u\u010din\u011bn pokus o na\u010dten\u00ed souboru, kter\u00fd nen\u00ed aplikac\u00ed, jako soubor aplikace. +LNotApplet=Nejedn\u00e1 se o soubor appletu. +LNotAppletInfo=Byl u\u010din\u011bn pokus o na\u010dten\u00ed souboru, kter\u00fd nen\u00ed appletem, jako soubor appletu. +LNoInstallers=Instal\u00e1tory nejsou podporov\u00e1ny. +LNoInstallersInfo=Instal\u00e1tory JNLP je\u0161t\u011b nejsou podporov\u00e1ny. +LInitApplet=Nelze inicializovat applet. +LInitAppletInfo= +LInitApplication=Nelze inicializovat aplikaci. +LInitApplicationInfo= +LNotLaunchable=Nejedn\u00e1 se o spustiteln\u00fd soubor JNLP. +LNotLaunchableInfo=Soubor mus\u00ed b\u00fdt aplikac\u00ed, appletem nebo instal\u00e1torem JNLP. +LCantDetermineMainClass=Nezn\u00e1m\u00e1 t\u0159\u00edda Main-Class. +LCantDetermineMainClassInfo=Nelze ur\u010dit t\u0159\u00eddu main class pro tuto aplikaci. +LUnsignedJarWithSecurity=Nelze ud\u011blit opr\u00e1vn\u011bn\u00ed nepodepsan\u00fdm soubor\u016fm JAR. +LUnsignedJarWithSecurityInfo=Aplikace po\u017e\u00e1dala o bezpe\u010dnostn\u00ed opr\u00e1vn\u011bn\u00ed, av\u0161ak soubory JAR nejsou podeps\u00e1ny. +LSignedAppJarUsingUnsignedJar=Podepsan\u00e1 aplikace pou\u017e\u00edvaj\u00edc\u00ed nepodepsan\u00e9 soubory JAR. +LSignedAppJarUsingUnsignedJarInfo=Hlavn\u00ed soubor JAR aplikace je podepsan\u00fd, av\u0161ak n\u011bkter\u00e9 z dal\u0161\u00edch pou\u017e\u00edvan\u00fdch soubor\u016f JAR nejsou podeps\u00e1ny. +LSignedJNLPFileDidNotMatch=Podepsan\u00fd soubor JNLP se neshoduje se spou\u0161t\u011bn\u00fdm souborem JNLP. +LNoSecInstance=Chyba: Neexistuje bezpe\u010dnostn\u00ed instance pro aplikaci {0}. Aplikace m\u016f\u017ee m\u00edt pot\u00ed\u017ee pokra\u010dovat. +LCertFoundIn=Certifik\u00e1t {0} byl nalezen v arch\u00edvu cacerts ({1}). +LSingleInstanceExists=Ji\u017e existuje jin\u00e1 instance tohoto appletu. Nelze provozovat v\u00edce instanc\u00ed appletu z\u00e1rove\u0148. + +JNotApplet=Soubor nen\u00ed applet. +JNotApplication=Soubor nen\u00ed aplikace. +JNotComponent=Soubor nen\u00ed komponenta. +JNotInstaller=Soubor nen\u00ed instal\u00e1tor. +JInvalidExtensionDescriptor=P\u0159\u00edpona souboru neodkazuje na komponentu nebo instal\u00e1tor (n\u00e1zev={1}, um\u00edst\u011bn\u00ed={2}). + +LNotVerified=Soubory JAR nebyly ov\u011b\u0159eny. +LCancelOnUserRequest=Zru\u0161eno u\u017eivatelem. +LFatalVerification=P\u0159i ov\u011b\u0159ov\u00e1n\u00ed soubor\u016f JAR do\u0161lo k z\u00e1va\u017en\u00e9 chyb\u011b. +LFatalVerificationInfo= + +LNotVerifiedDialog=Nemohly b\u00fdt ov\u011b\u0159eny v\u0161echny soubory JAR. +LAskToContinue=Chcete p\u0159esto pokra\u010dovat ve spou\u0161t\u011bn\u00ed t\u00e9to aplikace? + +# Parser +PInvalidRoot=Ko\u0159enov\u00fd uzel nen\u00ed uzel jnlp. +PNoResources=Nen\u00ed definov\u00e1n element \u201eresources\u201c. +PUntrustedNative=Nelze deklarovat element \u201enativelib\u201c, ani\u017e by bylo po\u017e\u00e1d\u00e1no o p\u0159\u00edslu\u0161n\u00e1 opr\u00e1vn\u011bn\u00ed. +PExtensionHasJ2SE=V souboru roz\u0161\u00ed\u0159en\u00ed nelze deklarovat element \u201ej2se\u201c. +PInnerJ2SE=Uvnit\u0159 elementu \u201ej2se\u201c nelze deklarovat dal\u0161\u00ed element \u201ej2se\u201c. +PTwoMains=V elementu \u201eresources\u201c je duplicitn\u011b definov\u00e1n hlavn\u00ed soubor JAR (lze definovat pouze jeden). +PNativeHasMain=Nelze specifikovat hlavn\u00ed atribut u nativn\u00edch soubor\u016f JAR. +PNoInfoElement=Nen\u00ed definov\u00e1n element \u201einformation\u201c. +PMissingTitle=N\u00e1zev +PMissingVendor=Dodavatel +PMissingElement=Pro va\u0161e n\u00e1rodn\u00ed prost\u0159ed\u00ed nebyla definov\u00e1na sekce {0}, ani neexistuje v\u00fdchoz\u00ed hodnota v souboru JNLP. +PTwoDescriptions=Duplicitn\u00ed popis typu {0} +PSharing=Element \u201esharing-allowed\u201c je neplatn\u00fd ve standardn\u00edm souboru JNLP. +PTwoSecurity=V ka\u017ed\u00e9m souboru JNLP m\u016f\u017ee b\u00fdt pouze jeden element \u201esecurity\u201c. +PEmptySecurity=Element \u201esecurity\u201c je definov\u00e1n, av\u0161ak neobsahuje element \u201epermissions\u201c. +PTwoDescriptors=V ka\u017ed\u00e9m souboru JNLP m\u016f\u017ee b\u00fdt pouze jeden element \u201eapplication\u201c. +PTwoDesktops=Je povolen pouze jeden element \u201edesktop\u201c. +PTwoMenus=Je povolen pouze jeden element \u201emenu\u201c. +PTwoTitles=Je povolen pouze jeden element \u201etitle\u201c. +PTwoIcons=Je povolen pouze jeden element \u201eicon\u201c. +PTwoUpdates=Je povolen pouze jeden element \u201eupdate\u201c. +PUnknownApplet=Nezn\u00e1m\u00fd applet +PBadWidth=Neplatn\u00e1 \u0161\u00ed\u0159ka appletu +PBadHeight=Neplatn\u00e1 v\u00fd\u0161ka appletu +PUrlNotInCodebase=Relativn\u00ed adresa URL neuv\u00e1d\u00ed podadres\u00e1\u0159 se z\u00e1kladn\u00ed adresou (codebase). (uzel (node)={0}, odkaz (href)={1}, z\u00e1kladn\u00ed adresa (codebase)={2}) +PBadRelativeUrl=Neplatn\u00e1 relativn\u00ed adresa URL (uzel (node)={0}, odkaz (href)={1}, z\u00e1kladn\u00ed adresa (codebase)={2}) +PBadNonrelativeUrl=Neplatn\u00e1 absolutn\u00ed adresa URL (uzel (node)={0}, odkaz (href)={1}) +PNeedsAttribute=Element {0} mus\u00ed deklarovat atribut {1}. +PBadXML=Neplatn\u00e1 syntax dokumentu XML +PBadHeapSize=Neplatn\u00e1 hodnota pro velikost haldy (heap size) ({0}) + +# Runtime +BLaunchAbout=Prob\u00edh\u00e1 spou\u0161t\u011bn\u00ed okna O aplikaci IcedTea-Web... +BNeedsFile=Je nutn\u00e9 zadat soubor JNLP. +RNoAboutJnlp=Nelze nal\u00e9zt soubor about.jnlp. +BFileLoc=Um\u00edst\u011bn\u00ed souboru JNLP +BBadProp=Neplatn\u00fd form\u00e1t vlastnosti {0} (platn\u00fd form\u00e1t: kl\u00ed\u010d=hodnota) +BBadParam=Neplatn\u00fd form\u00e1t parametru {0} (platn\u00fd form\u00e1t: n\u00e1zev=hodnota) +BNoDir=Adres\u00e1\u0159 {0} neexistuje. +RNoResource=Chyb\u011bj\u00edc\u00ed zdroj: {0} +RShutdown=Tato v\u00fdjimka zabra\u0148uje ukon\u010den\u00ed prost\u0159ed\u00ed JVM, av\u0161ak proces byl ukon\u010den. +RExitTaken=T\u0159\u00edda exit class m\u016f\u017ee b\u00fdt nastavena pouze jednou a pouze ta pak m\u016f\u017ee ukon\u010dit prost\u0159ed\u00ed JVM. +RCantReplaceSM=Nen\u00ed dovoleno vym\u011bnit t\u0159\u00eddu SecurityManager. +RCantCreateFile=Nelze vytvo\u0159it soubor {0}. +RCantDeleteFile=Nelze smazat soubor {0}. +RRemoveRPermFailed=Selhalo odstra\u0148ov\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed ke \u010dten\u00ed u souboru {0}. +RRemoveWPermFailed=Selhalo odstra\u0148ov\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed k z\u00e1pisu u souboru {0}. +RRemoveXPermFailed=Selhalo odstra\u0148ov\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed ke spou\u0161t\u011bn\u00ed u souboru {0}. +RGetRPermFailed=Selhalo z\u00edsk\u00e1v\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed ke \u010dten\u00ed u souboru {0}. +RGetWPermFailed=Selhalo z\u00edsk\u00e1v\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed k z\u00e1pisu u souboru {0}. +RGetXPermFailed=Selhalo z\u00edsk\u00e1v\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed ke spou\u0161t\u011bn\u00ed u souboru {0}. +RCantCreateDir=Nelze vytvo\u0159it adres\u00e1\u0159 {0}. +RCantRename=Nelze prov\u00e9st p\u0159ejmenov\u00e1n\u00ed z {0} na {1}. +RDenyStopped=Pozastaven\u00e1 aplikace nem\u00e1 pat\u0159i\u010dn\u00e1 opr\u00e1vn\u011bn\u00ed. +RExitNoApp=Nelze ukon\u010dit prost\u0159ed\u00ed JVM, proto\u017ee sou\u010dasn\u00e1 aplikace neodpov\u00edd\u00e1. +RNoLockDir=Nelze vytvo\u0159it uzamykac\u00ed adres\u00e1\u0159 ({0}). +RNestedJarExtration=Nelze extrahovat vno\u0159en\u00fd soubor JAR. +RUnexpected=Neo\u010dek\u00e1van\u00e1 v\u00fdjimka {0} v n\u00e1sleduj\u00edc\u00ed \u010d\u00e1sti v\u00fdpisu trasov\u00e1n\u00ed: {1} +RConfigurationError=P\u0159i \u010dten\u00ed konfigurace do\u0161lo k z\u00e1va\u017en\u00e9 chyb\u011b. +RConfigurationFatal=CHYBA: P\u0159i na\u010d\u00edt\u00e1n\u00ed konfigurace do\u0161lo k z\u00e1va\u017en\u00e9 chyb\u011b. Mo\u017en\u00e1 je nutn\u00e9 pou\u017e\u00edt glob\u00e1ln\u00ed konfiguraci, kter\u00e1 v\u0161ak nebyla nalezena. +RPRoxyPacNotSupported=Pou\u017eit\u00ed soubor\u016f PAC (Proxy Auto Config) nen\u00ed podporov\u00e1no. +RProxyFirefoxNotFound=Nelze pou\u017e\u00edt nastaven\u00ed proxy server\u016f prohl\u00ed\u017ee\u010de Firefox. Je pou\u017eito nastaven\u00ed bez proxy serveru (DIRECT). +RProxyFirefoxOptionNotImplemented=Mo\u017enost nastaven\u00ed proxy serveru prohl\u00ed\u017ee\u010de {0} ({1}) je\u0161t\u011b nen\u00ed podporov\u00e1na. +RBrowserLocationPromptTitle=Um\u00edst\u011bn\u00ed prohl\u00ed\u017ee\u010de +RBrowserLocationPromptMessage=Zadejte um\u00edst\u011bn\u00ed prohl\u00ed\u017ee\u010de. +RBrowserLocationPromptMessageWithReason=Zadejte um\u00edst\u011bn\u00ed prohl\u00ed\u017ee\u010de (p\u0159\u00edkaz prohl\u00ed\u017ee\u010de {0} je neplatn\u00fd). + +# Boot options, message should be shorter than this ----------------> +BOUsage=javaws [-volby-spu\u0161t\u011bn\u00ed] +BOUsage2=javaws [-volby-ovl\u00e1d\u00e1n\u00ed] +BOJnlp= Um\u00edst\u011bn\u00ed souboru JNLP ke spu\u0161t\u011bn\u00ed (URL nebo soubor) +BOArg= P\u0159id\u00e1 p\u0159ed spu\u0161t\u011bn\u00edm parametr aplikace. +BOParam= P\u0159id\u00e1 p\u0159ed spu\u0161t\u011bn\u00edm parametr appletu. +BOProperty= P\u0159ed spu\u0161t\u011bn\u00edm nastav\u00ed syst\u00e9movou vlastnost. +BOUpdate= Kontrola aktualizac\u00ed po X sek. od posledn\u00ed kontroly. +BOLicense= Zobraz\u00ed licenci GPL a ukon\u010d\u00ed aplikaci. +BOVerbose= Zapne podrobn\u00fd v\u00fdstup. +BOAbout= Uk\u00e1\u017ee vzorovou aplikaci. +BONosecurity= Vypne zabezpe\u010den\u00e9 b\u011bhov\u00e9 prost\u0159ed\u00ed. +BONoupdate= Vypne kontrolu aktualizac\u00ed. +BOHeadless= Vypne ve\u0161ker\u00e9 grafick\u00e9 prvky u\u017eiv. rozhran\u00ed IcedTea-Web. +BOStrict= Zapne striktn\u00ed kontrolu souborov\u00e9ho form\u00e1tu JNLP. +BOViewer= Zobraz\u00ed prohl\u00ed\u017ee\u010d d\u016fv\u011bryhodn\u00fdch certifik\u00e1t\u016f. +BXnofork= Zak\u00e1\u017ee vytv\u00e1\u0159en\u00ed jin\u00fdch prost\u0159ed\u00ed JVM. +BXclearcache= Vy\u010dist\u00ed vyrovn\u00e1vac\u00ed pam\u011b\u0165 aplikace JNLP. +BOHelp= Vyp\u00ed\u0161e zadanou zpr\u00e1vu do konzole a ukon\u010d\u00ed aplikaci. + +# Cache +CAutoGen=vygenerov\u00e1no automaticky \u2013 nem\u011bnit +CNotCacheable={0} nen\u00ed zdroj, kter\u00fd lze zapsat do vyrovn\u00e1vac\u00ed pam\u011bti. +CDownloading=Prob\u00edh\u00e1 stahov\u00e1n\u00ed. +CComplete=Dokon\u010deno +CChooseCache=Zvolit adres\u00e1\u0159 pro vyrovn\u00e1vac\u00ed pam\u011b\u0165... +CChooseCacheInfo=Netx pot\u0159ebuje um\u00edst\u011bn\u00ed pro uchov\u00e1v\u00e1n\u00ed soubor\u016f vyrovn\u00e1vac\u00ed pam\u011bti. +CChooseCacheDir=Adres\u00e1\u0159 vyrovn\u00e1vac\u00ed pam\u011bti +CCannotClearCache=Moment\u00e1ln\u011b nelze vy\u010distit vyrovn\u00e1vac\u00ed pam\u011b\u0165. +CFakeCache=Vyrovn\u00e1vac\u00ed pam\u011b\u0165 je po\u0161kozena. Prob\u00edh\u00e1 oprava. +CFakedCache=Po\u0161kozen\u00e1 vyrovn\u00e1vac\u00ed pam\u011b\u0165 byla opravena. D\u016frazn\u011b doporu\u010dujeme co nejd\u0159\u00edve spustit p\u0159\u00edkaz \u201ejavaws -Xclearcache\u201c a pak znovu spustit aplikaci. + +# Security +SFileReadAccess=Aplikace vy\u017eaduje p\u0159\u00edstup ke \u010dten\u00ed souboru {0}. Chcete tuto akci povolit? +SFileWriteAccess=Aplikace vy\u017eaduje p\u0159\u00edstup k zapisov\u00e1n\u00ed do souboru {0}. Chcete tuto akci povolit? +SDesktopShortcut=Aplikace vy\u017eaduje opr\u00e1vn\u011bn\u00ed k vytvo\u0159en\u00ed spou\u0161t\u011bc\u00edho souboru na plo\u0161e. Chcete tuto akci povolit? +SSigUnverified=Digit\u00e1ln\u00ed podpis aplikace nelze ov\u011b\u0159it. Chcete aplikaci spustit? +SSigVerified=Digit\u00e1ln\u00ed podpis aplikace byl ov\u011b\u0159en. Chcete aplikaci spustit? +SSignatureError=Digit\u00e1ln\u00ed podpis aplikace obsahuje chybu. Chcete aplikaci spustit? +SUntrustedSource=Digit\u00e1ln\u00ed podpis nelze ov\u011b\u0159it pomoc\u00ed d\u016fv\u011bryhodn\u00e9ho zdroje. Aplikaci spus\u0165te, pouze pokud v\u011b\u0159\u00edte p\u016fvodu aplikace. +SWarnFullPermissionsIgnorePolicy=Spou\u0161t\u011bn\u00e9mu k\u00f3du budou ud\u011blena pln\u00e1 opr\u00e1vn\u011bn\u00ed bez ohledu na p\u0159\u00edpadn\u00e1 va\u0161e vlastn\u00ed pravidla chov\u00e1n\u00ed prost\u0159ed\u00ed Java. +STrustedSource=Digit\u00e1ln\u00ed podpis byl ov\u011b\u0159en pomoc\u00ed d\u016fv\u011bryhodn\u00e9ho zdroje. +SClipboardReadAccess=Aplikace po\u017eaduje p\u0159\u00edstup ke \u010dten\u00ed syst\u00e9mov\u00e9 schr\u00e1nky. Chcete tuto akci povolit? +SClipboardWriteAccess=Aplikace vy\u017eaduje p\u0159\u00edstup k zapisov\u00e1n\u00ed do syst\u00e9mov\u00e9 schr\u00e1nky. Chcete tuto akci povolit? +SPrinterAccess=Aplikace vy\u017eaduje p\u0159\u00edstup k tisk\u00e1rn\u011b. Chcete tuto akci povolit? +SNetworkAccess=Aplikace vy\u017eaduje povolen\u00ed k vytvo\u0159en\u00ed spojen\u00ed s {0}. Chcete tuto akci povolit? +SNoAssociatedCertificate=<\u017e\u00e1dn\u00fd p\u0159idru\u017een\u00fd certifik\u00e1t> +SUnverified=(neov\u011b\u0159eno) +SAlwaysTrustPublisher=V\u017edy d\u016fv\u011b\u0159ovat obsahu od tohoto vydavatele +SHttpsUnverified=Certifik\u00e1t HTTPS webu nelze ov\u011b\u0159it. +SNotAllSignedSummary=Podeps\u00e1ny jsou jen \u010d\u00e1sti k\u00f3du t\u00e9to aplikace. +SNotAllSignedDetail=Tato aplikace obsahuje podepsan\u00fd i nepodepsan\u00fd k\u00f3d. Podepsan\u00fd k\u00f3d je bezpe\u010dn\u00fd, pokud d\u016fv\u011b\u0159ujete poskytovateli tohoto k\u00f3du. Nepodepsan\u00e9 \u010d\u00e1sti mohou obsahovat k\u00f3d, kter\u00fd nen\u00ed pod kontrolou d\u016fv\u011bryhodn\u00e9ho poskytovatele. +SNotAllSignedQuestion=Chcete p\u0159esto pokra\u010dovat a spustit aplikaci? +SAuthenticationPrompt=Server {0} na adrese {1} vy\u017eaduje ov\u011b\u0159en\u00ed. Zpr\u00e1va: \u201e{2}\u201c +SJNLPFileIsNotSigned=Tato aplikace obsahuje digit\u00e1ln\u00ed podpis, v r\u00e1mci kter\u00e9ho v\u0161ak nen\u00ed podeps\u00e1n spou\u0161t\u011bn\u00fd soubor JNLP. + +# Security - used for the More Information dialog +SBadKeyUsage=Zdroj obsahuje polo\u017eky, u nich\u017e roz\u0161\u00ed\u0159en\u00ed pou\u017eit\u00ed kl\u00ed\u010de KeyUsage certifik\u00e1tu podepisovatele nedovoluje podeps\u00e1n\u00ed k\u00f3du. +SBadExtendedKeyUsage=Zdroj obsahuje polo\u017eky, u nich\u017e roz\u0161\u00ed\u0159en\u00ed pou\u017eit\u00ed kl\u00ed\u010de ExtendedKeyUsage certifik\u00e1tu podepisovatele nedovoluje podeps\u00e1n\u00ed k\u00f3du. +SBadNetscapeCertType=Zdroj obsahuje polo\u017eky, u nich\u017e roz\u0161\u00ed\u0159en\u00ed pou\u017eit\u00ed kl\u00ed\u010de NetscapeCertType certifik\u00e1tu podepisovatele nedovoluje podeps\u00e1n\u00ed k\u00f3du. +SHasUnsignedEntry=Zdroje obsahuj\u00ed nepodepsan\u00e9 polo\u017eky, jejich\u017e integrita nebyla zkontrolov\u00e1na. +SHasExpiredCert=Platnost digit\u00e1ln\u00edho podpisu vypr\u0161ela. +SHasExpiringCert=Zdroje obsahuj\u00ed polo\u017eky, u nich\u017e vypr\u0161\u00ed platnost certifik\u00e1tu jejich podepisovatele do \u0161esti m\u011bs\u00edc\u016f. +SNotYetValidCert=Zdroje obsahuj\u00ed polo\u017eky, u nich\u017e je\u0161t\u011b nen\u00ed platn\u00fd certifik\u00e1t podepisovatele. +SUntrustedCertificate=Digit\u00e1ln\u00ed podpis byl vytvo\u0159en pomoc\u00ed ned\u016fv\u011bryhodn\u00e9ho certifik\u00e1tu. +STrustedCertificate=Digit\u00e1ln\u00ed podpis byl vytvo\u0159en pomoc\u00ed d\u016fv\u011bryhodn\u00e9ho certifik\u00e1tu. +SCNMisMatch=O\u010dek\u00e1van\u00fd n\u00e1zev hostitele pro tento certifik\u00e1t je: {0}.
Adresa, ke kter\u00e9 se navazuje p\u0159ipojen\u00ed: {1}. +SRunWithoutRestrictions=Tato aplikace bude spu\u0161t\u011bna bez obvykl\u00fdch bezpe\u010dnostn\u00edch omezen\u00ed aplikovan\u00fdch platformou Java. +SCertificateDetails=Podrobnosti certifik\u00e1tu + +# Security - certificate information +SIssuer=Vydavatel +SSerial=S\u00e9riov\u00e9 \u010d\u00edslo +SMD5Fingerprint=Otisk MD5 +SSHA1Fingerprint=Otisk SHA1 +SSignature=Podpis +SSignatureAlgorithm=Algoritmus podpisu +SSubject=Subjekt +SValidity=Platnost + +# Certificate Viewer +CVCertificateViewer=Certifik\u00e1ty +CVCertificateType=Typ certifik\u00e1tu +CVDetails=Podrobnosti +CVExport=Exportovat +CVExportPasswordMessage=Zadejte heslo pro ochranu souboru s kl\u00ed\u010di: +CVImport=Importovat +CVImportPasswordMessage=Zadejte heslo pro p\u0159\u00edstup k souboru: +CVIssuedBy=Vydavatel: +CVIssuedTo=P\u0159\u00edjemce: +CVPasswordTitle=Vy\u017eadov\u00e1no ov\u011b\u0159en\u00ed +CVRemove=Odstranit +CVRemoveConfirmMessage=Skute\u010dn\u011b chcete odstranit vybran\u00fd certifik\u00e1t? +CVRemoveConfirmTitle=Potvrzen\u00ed odstran\u011bn\u00ed certifik\u00e1tu +CVUser=U\u017eivatel +CVSystem=Syst\u00e9m + +#KeyStores: see KeyStores.java +KS=\u00dalo\u017ei\u0161t\u011b kl\u00ed\u010d\u016f +KSCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty +KSJsseCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty JSSE +KSCaCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty Root CA +KSJsseCaCerts=D\u016fv\u011bryhodn\u00e9 certifik\u00e1ty JSSE Root CA +KSClientCerts=Certifik\u00e1ty pro ov\u011b\u0159en\u00ed klienta + +# Deployment Configuration messages +DCIncorrectValue=Vlastnost {0} m\u00e1 nespr\u00e1vnou hodnotu {1}. Mo\u017en\u00e9 hodnoty {2}. +DCInternal=Vnit\u0159n\u00ed chyba: {0} +DCSourceInternal= +DCUnknownSettingWithName=Vlastnost {0} je nezn\u00e1m\u00e1. + +# Value Validator messages. Messages should follow "Possible values ..." +VVPossibleValues=Mo\u017en\u00e9 hodnoty {0} +VVPossibleBooleanValues=jsou {0} nebo {1}. +VVPossibleFileValues=obsahuj\u00ed absolutn\u00ed um\u00edst\u011bn\u00ed souboru (mus\u00ed za\u010d\u00ednat znakem /). +VVPossibleRangedIntegerValues=jsou v rozmez\u00ed {0} a\u017e {1} (v\u010detn\u011b). +VVPossibleUrlValues=obsahuj\u00ed jakoukoliv platnou adresu URL (nap\u0159. http://icedtea.classpath.org/hg/). + +# Control Panel - Main +CPMainDescriptionShort=Nastaven\u00ed aplikace IcedTea-Web +CPMainDescriptionLong=Nastaven\u00ed fungov\u00e1n\u00ed z\u00e1suvn\u00e9ho modulu prohl\u00ed\u017ee\u010de (IcedTeaNPPlugin) a rozhran\u00ed javaws (NetX) + +# Control Panel - Tab Descriptions +CPAboutDescription=Zobrazen\u00ed informace o verzi ovl\u00e1dac\u00edho panelu IcedTea +CPNetworkSettingsDescription=Nastaven\u00ed s\u00edt\u011b v\u010detn\u011b zp\u016fsobu p\u0159ipojen\u00ed aplikace IcedTea-Web k Internetu a p\u0159\u00edpadn\u00e9ho pou\u017eit\u00ed proxy server\u016f +CPTempInternetFilesDescription=Ukl\u00e1d\u00e1n\u00ed dat aplikac\u00ed prost\u0159ed\u00edm Java, aby bylo p\u0159i p\u0159\u00ed\u0161t\u00edm spu\u0161t\u011bn\u00ed umo\u017en\u011bno rychlej\u0161\u00ed na\u010dten\u00ed +CPJRESettingsDescription=Zobrazen\u00ed a spravov\u00e1n\u00ed verze a nastaven\u00ed prost\u0159ed\u00ed Java Runtime Environment pro aplikace a applety Java +CPCertificatesDescription=Pou\u017eit\u00ed certifik\u00e1t\u016f k pozitivn\u00ed identifikaci v\u00e1s, certifikac\u00ed, certifika\u010dn\u00edch autorit a vydavatel\u016f +CPSecurityDescription=Konfigurace nastaven\u00ed zabezpe\u010den\u00ed +CPDebuggingDescription=Zapnut\u00ed mo\u017enost\u00ed pom\u00e1haj\u00edc\u00edch p\u0159i lad\u011bn\u00ed +CPDesktopIntegrationDescription=Nastaven\u00ed, zda m\u00e1 b\u00fdt povoleno vytvo\u0159en\u00ed z\u00e1stupce na plo\u0161e + +# Control Panel - Buttons +CPButAbout=O aplikaci IcedTea-Web +CPButNetworkSettings=Nastaven\u00ed s\u00edt\u011b... +CPButSettings=Nastaven\u00ed... +CPButView=Zobrazit... +CPButCertificates=Certifik\u00e1ty... + +# Control Panel - Headers +CPHead=Ovl\u00e1dac\u00ed panel IcedTea Web +CPHeadAbout=O aplikaci IcedTea-Web +CPHeadNetworkSettings=Nastaven\u00ed proxy server\u016f s\u00edt\u011b +CPHeadTempInternetFiles=Do\u010dasn\u00e9 soubory Internetu +CPHeadJRESettings=Nastaven\u00ed prost\u0159ed\u00ed Java Runtime Environment +CPHeadCertificates=Certifik\u00e1ty +CPHeadDebugging=Nastaven\u00ed lad\u011bn\u00ed +CPHeadDesktopIntegration=Integrace s pracovn\u00ed plochou +CPHeadSecurity=Nastaven\u00ed zabezpe\u010den\u00ed + +# Control Panel - Tabs +CPTabAbout=O aplikaci IcedTea-Web +CPTabCache=Vyrovn\u00e1vac\u00ed pam\u011b\u0165 +CPTabCertificate=Certifik\u00e1ty +CPTabClassLoader=Zavad\u011b\u010de t\u0159\u00edd +CPTabDebugging=Lad\u011bn\u00ed +CPTabDesktopIntegration=Integrace s pracovn\u00ed plochou +CPTabNetwork=S\u00ed\u0165 +CPTabRuntimes=Moduly runtime +CPTabSecurity=Zabezpe\u010den\u00ed + +# Control Panel - AboutPanel +CPAboutInfo=Toto je ovl\u00e1dac\u00ed panel umo\u017e\u0148uj\u00edc\u00ed nastavit deployment.properties.
Dokud nebudou implementov\u00e1ny v\u0161echny funkce, n\u011bkter\u00e9 z nich nebudou \u00fa\u010dinn\u00e9.
V sou\u010dasnosti nen\u00ed podporov\u00e1no pou\u017e\u00edv\u00e1n\u00ed v\u00edce prost\u0159ed\u00ed JRE.
+ +# Control Panel - AdvancedProxySettings +APSDialogTitle=Nastaven\u00ed s\u00edt\u011b +APSServersPanel=Servery +APSProxyTypeLabel=Typ +APSProxyAddressLabel=Adresa proxy serveru +APSProxyPortLabel=Port proxy serveru +APSLabelHTTP=HTTP +APSLabelSecure=Zabezpe\u010den\u00fd +APSLabelFTP=FTP +APSLabelSocks=Socks +APSSameProxyForAllProtocols=Pou\u017e\u00edt stejn\u00fd proxy server pro v\u0161echny protokoly +APSExceptionsLabel=V\u00fdjimky +APSExceptionsDescription=Nepou\u017e\u00edvat proxy server pro adresy za\u010d\u00ednaj\u00edc\u00ed na +APSExceptionInstruction=Odd\u011blte ka\u017edou polo\u017eku st\u0159edn\u00edkem. + +# Control Panel - DebugginPanel +DPEnableTracing=Zapnout trasov\u00e1n\u00ed +DPEnableLogging=Zapnout protokolov\u00e1n\u00ed +DPDisable=Vypnout +DPHide=Skr\u00fdt p\u0159i spou\u0161t\u011bn\u00ed +DPShow=Zobrazit p\u0159i spou\u0161t\u011bn\u00ed +DPJavaConsole=Konzola Java + +# Control Panel - DesktopShortcutPanel +DSPNeverCreate=Nikdy nevytv\u00e1\u0159et +DSPAlwaysAllow=V\u017edy povolit +DSPAskUser=Dot\u00e1zat se u\u017eivatele +DSPAskIfHinted=Dot\u00e1zat se v p\u0159\u00edpad\u011b pot\u0159eby +DSPAlwaysIfHinted=V\u017edy v p\u0159\u00edpad\u011b pot\u0159eby + +# Control Panel - NetworkSettingsPanel +NSDescription-1=Nezn\u00e1m\u00e9 nastaven\u00ed +NSDescription0=Pou\u017eit\u00ed p\u0159\u00edm\u00e9ho spojen\u00ed +NSDescription1=Potla\u010den\u00ed nastaven\u00ed proxy server\u016f v prohl\u00ed\u017ee\u010di +NSDescription2=Pou\u017eit\u00ed skriptu pro automatickou konfiguraci proxy serveru v zadan\u00e9m um\u00edst\u011bn\u00ed +NSDescription3=Pou\u017eit\u00ed nastaven\u00ed proxy server\u016f ve v\u00fdchoz\u00edm prohl\u00ed\u017ee\u010di k p\u0159ipojen\u00ed k Internetu +NSAddress=Adresa +NSPort=Port +NSAdvanced=Pokro\u010dil\u00e9 +NSBypassLocal=Obej\u00edt proxy server pro m\u00edstn\u00ed adresy +NSDirectConnection=P\u0159\u00edm\u00e9 spojen\u00ed +NSManualProxy=Ru\u010dn\u00ed nastaven\u00ed proxy serveru +NSAutoProxy=Skript pro automatickou konfiguraci proxy serveru +NSBrowserProxy=Pou\u017e\u00edt nastaven\u00ed v prohl\u00ed\u017ee\u010di +NSScriptLocation=Um\u00edst\u011bn\u00ed skriptu + +# Control Panel - SecurityGeneralPanel +SGPAllowUserGrantSigned=Povolit u\u017eivatel\u016fm ud\u011blovat opr\u00e1vn\u011bn\u00ed podepsan\u00e9mu obsahu +SGPAllowUserGrantUntrust=Povolit u\u017eivatel\u016fm ud\u011blovat opr\u00e1vn\u011bn\u00ed obsahu z ned\u016fv\u011bryhodn\u00e9ho zdroje +SGPUseBrowserKeystore=Pou\u017e\u00edt certifik\u00e1ty a kl\u00ed\u010de v \u00falo\u017ei\u0161ti kl\u00ed\u010d\u016f prohl\u00ed\u017ee\u010de (nen\u00ed podporov\u00e1no) +SGPUsePersonalCertOneMatch=Pou\u017e\u00edt osobn\u00ed certifik\u00e1t automaticky, pokud dotazu serveru odpov\u00edd\u00e1 pouze jeden certifik\u00e1t (nen\u00ed podporov\u00e1no) +SGPWarnCertHostMismatch=Zobrazit varov\u00e1n\u00ed, pokud certifik\u00e1t webu neodpov\u00edd\u00e1 n\u00e1zvu hostitele +SGPShowValid=Zobrazit certifik\u00e1t webu, i kdy\u017e je certifik\u00e1t platn\u00fd (nen\u00ed podporov\u00e1no) +SGPShowSandboxWarning=Zobrazit varovn\u00fd prou\u017eek izolovan\u00e9ho prostoru (sandbox) +SGPAllowUserAcceptJNLPSecurityRequests=Povolit u\u017eivatel\u016fm p\u0159ij\u00edmat bezpe\u010dnostn\u00ed po\u017eadavky JNLP +SGPCheckCertRevocationList=Zkontrolovat zneplatn\u011bn\u00ed certifik\u00e1t\u016f pomoc\u00ed seznamu zneplatn\u011bn\u00ed certifik\u00e1t\u016f (CRL) (nen\u00ed podporov\u00e1no) +SGPEnableOnlineCertValidate=Zapnout online ov\u011b\u0159en\u00ed certifik\u00e1tu (nen\u00ed podporov\u00e1no) +SGPEnableTrustedPublisherList=Zapnout seznam d\u016fv\u011bryhodn\u00fdch vydavatel\u016f (nen\u00ed podporov\u00e1no) +SGPEnableBlacklistRevocation=Zapnout kontrolu zneplatn\u011bn\u00ed oproti \u010dern\u00e9 listin\u011b (nen\u00ed podporov\u00e1no) +SGPEnableCachingPassword=Zapnout ukl\u00e1d\u00e1n\u00ed ov\u011b\u0159ovac\u00edch hesel do vyrovn\u00e1vac\u00ed pam\u011bti (nen\u00ed podporov\u00e1no) +SGPUseSSL2=Pou\u017e\u00edt form\u00e1t ClientHello kompatibiln\u00ed se \u0161ifrov\u00e1n\u00edm SSL 2.0 (nen\u00ed podporov\u00e1no) +SGPUseSSL3=Pou\u017e\u00edt \u0161ifrov\u00e1n\u00ed SSL 3.0 (nen\u00ed podporov\u00e1no) +SGPUseTLS1=Pou\u017e\u00edt \u0161ifrov\u00e1n\u00ed TLS 1.0 (nen\u00ed podporov\u00e1no) + +# Control Panel - TemporaryInternetFilesPanel +TIFPEnableCache=Uchov\u00e1vat do\u010dasn\u00e9 soubory v po\u010d\u00edta\u010di +TIFPLocation=Um\u00edst\u011bn\u00ed +TIFPLocationLabel=Vyberte um\u00edst\u011bn\u00ed, kde maj\u00ed b\u00fdt do\u010dasn\u00e9 soubory uchov\u00e1v\u00e1ny. +TIFPChange=Zm\u011bnit +TIFPDiskSpace=M\u00edsto na disku +TIFPCompressionLevel=Vyberte \u00farove\u0148 komprese pro soubory JAR +TIFPNone=\u017d\u00e1dn\u00e1 +TIFPMax=Maxim\u00e1ln\u00ed +TIFPCacheSize=Nastavte velikost m\u00edsta na disku ur\u010den\u00e9ho pro do\u010dasn\u00e9 soubory. +TIFPDeleteFiles=Smazat soubory +TIFPViewFiles=Zobrazit soubory... + +# Control Panel - Cache Viewer +CVCPDialogTitle=Prohl\u00ed\u017ee\u010d vyrovn\u00e1vac\u00ed pam\u011bti +CVCPButRefresh=Obnovit +CVCPButDelete=Vymazat +CVCPColLastModified=Posledn\u00ed zm\u011bna +CVCPColSize=Velikost (v bajtech) +CVCPColDomain=Dom\u00e9na +CVCPColType=Typ +CVCPColPath=Cesta +CVCPColName=N\u00e1zev + +# Control Panel - Misc. +CPJRESupport=Aplikace IcedTea-Web v sou\u010dasnosti nepodporuje pou\u017eit\u00ed v\u00edce prost\u0159ed\u00ed JRE. +CPInvalidPort=Zad\u00e1no neplatn\u00e9 \u010d\u00edslo portu\n[Platn\u00e1 \u010d\u00edsla port\u016f: 1 \u2013 65535] +CPInvalidPortTitle=Chyba na vstupu + +# command line control panel +CLNoInfo=Nejsou dostupn\u00e9 \u017e\u00e1dn\u00e9 informace (je pou\u017eit\u00e1 volba platn\u00e1?). +CLValue=Hodnota: {0} +CLValueSource=Zdroj: {0} +CLDescription=Popis: {0} +CLUnknownCommand=Nezn\u00e1m\u00fd p\u0159\u00edkaz {0} +CLUnknownProperty=Nezn\u00e1m\u00fd n\u00e1zev vlastnosti {0} +CLWarningUnknownProperty=VAROV\u00c1N\u00cd: Nezn\u00e1m\u00fd n\u00e1zev vlastnosti {0}. Prob\u00edh\u00e1 vytv\u00e1\u0159en\u00ed nov\u00e9 vlastnosti. +CLNoIssuesFound=Nebyly zaznamen\u00e1ny \u017e\u00e1dn\u00e9 pot\u00ed\u017ee. +CLIncorrectValue=Vlastnost {0} m\u00e1 nespr\u00e1vnou hodnotu {1}. Mo\u017en\u00e9 hodnoty {2}. +CLListDescription=Zobraz\u00ed seznam v\u0161ech n\u00e1zv\u016f vlastnost\u00ed a hodnot, kter\u00e9 jsou vyu\u017e\u00edv\u00e1ny aplikac\u00ed IcedTea-Web. +CLGetDescription=Zobraz\u00ed hodnoty pro n\u00e1zev vlastnosti. +CLSetDescription=P\u0159i\u0159ad\u00ed hodnotu k n\u00e1zvu vlastnosti (pokud je to mo\u017en\u00e9). Kontrola platnosti hodnoty - pokud spr\u00e1vce vlastnost uzamkl, tato funkce nebude m\u00edt \u017e\u00e1dn\u00fd efekt. +CLResetDescription=Resetuje hodnotu n\u00e1zvu vlastnosti na v\u00fdchoz\u00ed hodnotu. +CLInfoDescription=Zobraz\u00ed dal\u0161\u00ed informace o dan\u00e9 vlastnosti. +CLCheckDescription=Zobraz\u00ed v\u0161echny vlastnosti, kter\u00e9 byly definov\u00e1ny, av\u0161ak nebyly rozpozn\u00e1ny aplikac\u00ed IcedTea Web. +CLHelpDescription=N\u00e1stroj itweb-setting umo\u017e\u0148uje u\u017eivateli upravovat, prohl\u00ed\u017eet a kontrolovat nastaven\u00ed. \nChcete-li pou\u017e\u00edt grafick\u00e9 rozhran\u00ed, nezad\u00e1vejte \u017e\u00e1dn\u00e9 parametry. Chcete-li pou\u017e\u00edt p\u0159\u00edkazovou \u0159\u00e1dku, zadejte pat\u0159i\u010dn\u00fd p\u0159\u00edkaz a parametry. Pot\u0159ebujete-li pomoc s konkr\u00e9tn\u00edm p\u0159\u00edkazem, zkuste zadat p\u0159\u00edkaz {0} s parametrem help. + +# splash screen related +SPLASHerror= Podrobnosti z\u00edsk\u00e1te kliknut\u00edm zde. Do\u0161lo k z\u00e1va\u017en\u00e9 v\u00fdjimce. +SPLASH_ERROR= CHYBA +SPLASHtitle= N\u00e1zev +SPLASHvendor= Dodavatel +SPLASHhomepage= Domovsk\u00e1 str\u00e1nka +SPLASHdescription= Popis +SPLASHClose= Zav\u0159\u00edt +SPLASHclosewAndCopyException= Zav\u0159\u00edt a zkop\u00edrovat v\u00fdpis trasov\u00e1n\u00ed z\u00e1sobn\u00edku do schr\u00e1nky +SPLASHexOccured= Omlouv\u00e1me se, do\u0161lo k z\u00e1va\u017en\u00e9 v\u00fdjimce... +SPLASHHome= Dom\u016f +SPLASHcantCopyEx= Nelze kop\u00edrovat v\u00fdjimku. From bugzilla-daemon at icedtea.classpath.org Sat Nov 3 04:37:25 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 03 Nov 2012 11:37:25 +0000 Subject: [Bug 1207] New: [libodejava.so+0x6d3e2] dQMultiply3+0x6 golems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1207 Priority: P3 Bug ID: 1207 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: [libodejava.so+0x6d3e2] dQMultiply3+0x6 golems Severity: normal Classification: Unclassified OS: Linux Reporter: roman_romul at mail.ru Hardware: x86 Status: NEW Version: 7-1.0 Component: IcedTea Product: IcedTea If to load Demo/*mchm and to press Run, then golems falls after working 2-3 sec. $ golems Detected Linux Golems, Version: 0.57.0 Maximum Memory (General,Graphics,Physics) 341MB, 384MB, 32MB Language Language_ru Localization: ru ??? 03, 2012 3:15:46 PM org.odejava.Odejava INFO: OdeJava natives version 0.3.2g loaded. Detected Linux # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x8e2bd3e2, pid=22925, tid=2375805808 # # JRE version: 7.0 # Java VM: OpenJDK Server VM (22.0-b10 mixed mode linux-x86 ) # Problematic frame: # C [libodejava.so+0x6d3e2] dQMultiply3+0x6 # # Core dump written. Default location: /usr/share/golems/core or core.22925 # # An error report file with more information is saved as: # /tmp/hs_err_pid22925.log # # If you would like to submit a bug report, please include # instructions on how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # Finished cat /tmp/hs_err_pid22925.log # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x8e2bd3e2, pid=22925, tid=2375805808 # # JRE version: 7.0 # Java VM: OpenJDK Server VM (22.0-b10 mixed mode linux-x86 ) # Problematic frame: # C [libodejava.so+0x6d3e2] dQMultiply3+0x6 # # Core dump written. Default location: /usr/share/golems/core or core.22925 # # If you would like to submit a bug report, please include # instructions on how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x92d5d400): JavaThread "Physics Thread" daemon [_thread_in_native, id=23002, stack(0x8b9be000,0x8d9bf000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x000000dc Registers: EAX=0x000000dc, EBX=0x8e2fdff4, ECX=0x92d7f3bc, EDX=0x000000dc ESP=0x8d9bda68, EBP=0x8d9bda68, ESI=0x93bb1f08, EDI=0x92d5d400 EIP=0x8e2bd3e2, EFLAGS=0x00010246, CR2=0x000000dc Top of Stack: (sp=0x8d9bda68) 0x8d9bda68: 8d9bdac8 8e2a21c1 8d9bdaac 000000dc 0x8d9bda78: 09da1f08 408a50ed 3c852a8f c235a990 0x8d9bda88: 4235a990 92d7f2a0 375ebda2 bbb59444 0x8d9bda98: 3f7ffefe 3e59af2e bf7fffd0 bb1d03f5 0x8d9bdaa8: 00000000 00000009 00000000 00000000 0x8d9bdab8: 00000000 00000000 00000024 0000000c 0x8d9bdac8: 8d9bdb08 8e2a0c03 09da1eb8 8d9bdb60 0x8d9bdad8: 09da1f08 00000003 92d7f300 3e8afd58 Instructions: (pc=0x8e2bd3e2) 0x8e2bd3c2: de e9 8b 45 0c 83 c0 08 d9 00 8b 45 10 83 c0 04 0x8e2bd3d2: d9 00 de c9 de c1 d9 1a 5d c3 55 89 e5 8b 45 0c 0x8e2bd3e2: d9 00 8b 45 10 d9 00 de c9 8b 45 0c 83 c0 04 d9 0x8e2bd3f2: 00 8b 45 10 83 c0 04 d9 00 de c9 de e9 8b 45 0c Register to memory mapping: EAX=0x000000dc is an unknown value EBX=0x8e2fdff4: in /usr/share/golems/lib/native/libodejava.so at 0x8e250000 ECX=0x92d7f3bc is an unknown value EDX=0x000000dc is an unknown value ESP=0x8d9bda68 is pointing into the stack for thread: 0x92d5d400 EBP=0x8d9bda68 is pointing into the stack for thread: 0x92d5d400 ESI=0x93bb1f08 is an oop {method} - klass: {other class} EDI=0x92d5d400 is a thread Stack: [0x8b9be000,0x8d9bf000], sp=0x8d9bda68, free space=32766k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libodejava.so+0x6d3e2] dQMultiply3+0x6 C [libodejava.so+0x521c1] setFixedOrientation(dxJoint*, dxJoint::Info2*, float*, int)+0x134 C [libodejava.so+0x50c03] dxJointFixed::getInfo2(dxJoint::Info2*)+0x33 C [libodejava.so+0x7c61e] dxQuickStepper(dxWorldProcessContext*, dxWorld*, dxBody* const*, int, dxJoint* const*, int, float)+0x776 C [libodejava.so+0x6e969] dxProcessIslands(dxWorld*, float, void (*)(dxWorldProcessContext*, dxWorld*, dxBody* const*, int, dxJoint* const*, int, float))+0xc4 C [libodejava.so+0x5f11e] dWorldQuickStep+0x42 C [libodejava.so+0x9877c] Java_org_odejava_ode_OdeJNI_dWorldQuickStep+0xcc Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j org.odejava.ode.OdeJNI.dWorldQuickStep(JF)V+0 J com.jmex.physics.impl.ode.OdePhysicsSpace.computeTimeStep()V J com.jmex.physics.impl.ode.OdePhysicsSpace.update(F)V j com.golemgame.states.physics.ode.OdePhysicsMonitoredMultithreadedGameState$OdePhysicsRunnable.updatePhysics(F)V+8 j com.golemgame.states.physics.PhysicsMonitoredMultithreadedGameState$PhysicsRunnable.update(F)V+69 J com.golemgame.states.physics.PhysicsMonitoredMultithreadedGameState$PhysicsRunnable.run()V j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x8de23400 JavaThread "Thread-9" daemon [_thread_blocked, id=23394, stack(0x8ab0a000,0x8ab5b000)] 0x92f08400 JavaThread "pool-2-thread-1" [_thread_blocked, id=23060, stack(0x8a9af000,0x8aa00000)] 0x8dfefc00 JavaThread "Timer-2" daemon [_thread_blocked, id=23058, stack(0x8ab5b000,0x8abac000)] 0x09ba2c00 JavaThread "pool-1-thread-3" [_thread_blocked, id=23056, stack(0x8abac000,0x8abfd000)] 0x09b23400 JavaThread "Thread-7" daemon [_thread_blocked, id=23055, stack(0x8b514000,0x8b565000)] 0x09b2a400 JavaThread "Timer-1" daemon [_thread_blocked, id=23030, stack(0x8b565000,0x8b5b6000)] 0x92d93800 JavaThread "Loading Thread" daemon [_thread_blocked, id=23004, stack(0x8dc5e000,0x8dcaf000)] 0x92d5b000 JavaThread "Physics Monitoring Thread" daemon [_thread_blocked, id=23003, stack(0x8dcaf000,0x8dd00000)] =>0x92d5d400 JavaThread "Physics Thread" daemon [_thread_in_native, id=23002, stack(0x8b9be000,0x8d9bf000)] 0x92d08c00 JavaThread "pool-1-thread-2" [_thread_blocked, id=23001, stack(0x8e706000,0x8e757000)] 0xb6504800 JavaThread "DestroyJavaVM" [_thread_blocked, id=22927, stack(0xb6700000,0xb6751000)] 0x92598c00 JavaThread "process reaper" daemon [_thread_blocked, id=22946, stack(0x92112000,0x92121000)] 0x92591000 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=22944, stack(0x91b6e000,0x91bbf000)] 0x91c82800 JavaThread "OpenGL" [_thread_blocked, id=22943, stack(0x915ff000,0x91a00000)] 0x91c60400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=22942, stack(0x91d38000,0x91d89000)] 0x92080800 JavaThread "Timer-0" daemon [_thread_blocked, id=22940, stack(0x92c2e000,0x92c7f000)] 0x92613000 JavaThread "Service Thread" daemon [_thread_blocked, id=22938, stack(0x92e2e000,0x92e7f000)] 0x92611400 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=22937, stack(0x921fe000,0x9227f000)] 0x9260f400 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=22936, stack(0x9227f000,0x92300000)] 0x9260dc00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=22935, stack(0x9302e000,0x9307f000)] 0xb65d3c00 JavaThread "Finalizer" daemon [_thread_blocked, id=22934, stack(0x9322d000,0x9327e000)] 0xb65d2000 JavaThread "Reference Handler" daemon [_thread_blocked, id=22933, stack(0x92837000,0x92888000)] Other Threads: 0xb65cc400 VMThread [stack: 0x92888000,0x92909000] [id=22932] 0x92615000 WatcherThread [stack: 0x9217d000,0x921fe000] [id=22939] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap PSYoungGen total 125632K, used 7259K [0xab440000, 0xb33f0000, 0xb3440000) eden space 120704K, 5% used [0xab440000,0xabac0d40,0xb2a20000) from space 4928K, 12% used [0xb2a20000,0xb2ab6010,0xb2ef0000) to space 4736K, 0% used [0xb2f50000,0xb2f50000,0xb33f0000) PSOldGen total 21888K, used 9495K [0x9b440000, 0x9c9a0000, 0xab440000) object space 21888K, 43% used [0x9b440000,0x9bd85da0,0x9c9a0000) PSPermGen total 24576K, used 15406K [0x93440000, 0x94c40000, 0x9b440000) object space 24576K, 62% used [0x93440000,0x9434b830,0x94c40000) Code Cache [0xb3500000, 0xb3780000, 0xb6500000) total_blobs=1481 nmethods=1135 adapters=298 free_code_cache=46645Kb largest_free_block=47733120 Dynamic libraries: 08048000-08049000 r-xp 00000000 08:42 797159 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/bin/java 08049000-0804a000 rw-p 00000000 08:42 797159 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/bin/java 09a57000-0a04e000 rw-p 00000000 00:00 0 [heap] 86e00000-86ec1000 rw-p 00000000 00:00 0 86ec1000-86f00000 ---p 00000000 00:00 0 86f00000-86ff9000 rw-p 00000000 00:00 0 86ff9000-87000000 ---p 00000000 00:00 0 87000000-870e6000 rw-p 00000000 00:00 0 870e6000-87100000 ---p 00000000 00:00 0 8714d000-87b00000 rw-p 00000000 00:00 0 87b00000-87bfd000 rw-p 00000000 00:00 0 87bfd000-87c00000 ---p 00000000 00:00 0 87ca9000-87f00000 rw-p 00000000 00:00 0 87fa7000-88900000 rw-p 00000000 00:00 0 88900000-889fb000 rw-p 00000000 00:00 0 889fb000-88a00000 ---p 00000000 00:00 0 88af2000-89afb000 rw-p 00000000 00:00 0 89afb000-89bfb000 rw-s 274b4000 00:05 8757 /dev/nvidia0 89bfb000-89cfc000 rw-p 00000000 00:00 0 89cfc000-89dfc000 rw-s 2698a000 00:05 8757 /dev/nvidia0 89dfc000-8a200000 rw-p 00000000 00:00 0 8a200000-8a2c1000 rw-p 00000000 00:00 0 8a2c1000-8a300000 ---p 00000000 00:00 0 8a300000-8a3d1000 rw-p 00000000 00:00 0 8a3d1000-8a400000 ---p 00000000 00:00 0 8a400000-8a4c8000 rw-p 00000000 00:00 0 8a4c8000-8a500000 ---p 00000000 00:00 0 8a600000-8a6f0000 rw-p 00000000 00:00 0 8a6f0000-8a700000 ---p 00000000 00:00 0 8a800000-8a900000 rw-p 00000000 00:00 0 8a92f000-8a9af000 rw-s 27647000 00:05 8757 /dev/nvidia0 8a9af000-8a9b2000 ---p 00000000 00:00 0 8a9b2000-8aa00000 rw-p 00000000 00:00 0 8aa09000-8ab0a000 rw-p 00000000 00:00 0 8ab0a000-8ab0d000 ---p 00000000 00:00 0 8ab0d000-8ab5b000 rw-p 00000000 00:00 0 8ab5b000-8ab5e000 ---p 00000000 00:00 0 8ab5e000-8abac000 rw-p 00000000 00:00 0 8abac000-8abaf000 ---p 00000000 00:00 0 8abaf000-8adff000 rw-p 00000000 00:00 0 8adff000-8aeff000 rw-s 2683c000 00:05 8757 /dev/nvidia0 8aeff000-8b000000 rw-p 00000000 00:00 0 8b000000-8b0e1000 rw-p 00000000 00:00 0 8b0e1000-8b100000 ---p 00000000 00:00 0 8b100000-8b200000 rw-p 00000000 00:00 0 8b200000-8b2e2000 rw-p 00000000 00:00 0 8b2e2000-8b300000 ---p 00000000 00:00 0 8b300000-8b3fb000 rw-p 00000000 00:00 0 8b3fb000-8b400000 ---p 00000000 00:00 0 8b400000-8b4cd000 rw-p 00000000 00:00 0 8b4cd000-8b500000 ---p 00000000 00:00 0 8b514000-8b517000 ---p 00000000 00:00 0 8b517000-8b565000 rw-p 00000000 00:00 0 8b565000-8b568000 ---p 00000000 00:00 0 8b568000-8b5b6000 rw-p 00000000 00:00 0 8b5e1000-8b8e4000 rw-p 00000000 00:00 0 8b8e4000-8b8ea000 r--s 00000000 08:42 524520 /var/cache/fontconfig/20b58f14c9b581391d79ea335a81488a-le32d4.cache-3 8b8ea000-8b8ed000 r--s 00000000 08:42 524677 /var/cache/fontconfig/e6845615947634e89d319e77806483ba-le32d4.cache-3 8b8ed000-8b8f3000 r--s 00000000 08:42 524762 /var/cache/fontconfig/d4b6e1db2c46a3b281c413657cd2bc49-le32d4.cache-3 8b8f3000-8b8f6000 r--s 00000000 08:42 524710 /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-le32d4.cache-3 8b8f6000-8b8fc000 r--s 00000000 08:42 524519 /var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-le32d4.cache-3 8b8fc000-8b903000 r--s 00000000 08:42 524529 /var/cache/fontconfig/79aeb4e90a401e55ec91db207072ba77-le32d4.cache-3 8b903000-8b911000 r--s 00000000 08:42 524552 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-le32d4.cache-3 8b911000-8b913000 r--s 00000000 08:42 524537 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-le32d4.cache-3 8b913000-8b91c000 r--s 00000000 08:42 525070 /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-le32d4.cache-3 8b91c000-8b956000 r--s 00000000 08:42 524718 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-le32d4.cache-3 8b9be000-8b9c1000 ---p 00000000 00:00 0 8b9c1000-8db00000 rw-p 00000000 00:00 0 8db00000-8dbfc000 rw-p 00000000 00:00 0 8dbfc000-8dc00000 ---p 00000000 00:00 0 8dc07000-8dc4c000 r-xp 00000000 08:42 792426 /usr/lib/libjpeg.so.8.0.2 8dc4c000-8dc4d000 r--p 00044000 08:42 792426 /usr/lib/libjpeg.so.8.0.2 8dc4d000-8dc4e000 rw-p 00045000 08:42 792426 /usr/lib/libjpeg.so.8.0.2 8dc4e000-8dc5e000 rw-p 00000000 00:00 0 8dc5e000-8dc61000 ---p 00000000 00:00 0 8dc61000-8dcaf000 rw-p 00000000 00:00 0 8dcaf000-8dcb2000 ---p 00000000 00:00 0 8dcb2000-8dd00000 rw-p 00000000 00:00 0 8dd00000-8ddff000 rw-p 00000000 00:00 0 8ddff000-8de00000 ---p 00000000 00:00 0 8de00000-8def0000 rw-p 00000000 00:00 0 8def0000-8df00000 ---p 00000000 00:00 0 8df00000-8dff2000 rw-p 00000000 00:00 0 8dff2000-8e000000 ---p 00000000 00:00 0 8e03f000-8e100000 rw-p 00000000 00:00 0 8e100000-8e1f9000 rw-p 00000000 00:00 0 8e1f9000-8e200000 ---p 00000000 00:00 0 8e214000-8e24e000 r-xp 00000000 08:42 797213 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libfontmanager.so 8e24e000-8e250000 rw-p 00039000 08:42 797213 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libfontmanager.so 8e250000-8e2fd000 r-xp 00000000 08:42 1078411 /usr/share/golems/lib/native/libodejava.so 8e2fd000-8e2fe000 r--p 000ac000 08:42 1078411 /usr/share/golems/lib/native/libodejava.so 8e2fe000-8e2ff000 rw-p 000ad000 08:42 1078411 /usr/share/golems/lib/native/libodejava.so 8e2ff000-8e300000 rw-p 00000000 00:00 0 8e300000-8e500000 rw-s 26bbf000 00:05 8757 /dev/nvidia0 8e500000-8e600000 rw-s 2789c000 00:05 8757 /dev/nvidia0 8e600000-8e6f3000 rw-p 00000000 00:00 0 8e6f3000-8e700000 ---p 00000000 00:00 0 8e702000-8e706000 r--s 00000000 08:42 524522 /var/cache/fontconfig/5d999c1bbe32f61af008974facb58b71-le32d4.cache-3 8e706000-8e709000 ---p 00000000 00:00 0 8e709000-8e757000 rw-p 00000000 00:00 0 8e757000-8e75a000 ---p 00000000 00:00 0 8e75a000-8e7a8000 rw-p 00000000 00:00 0 8e7a8000-8e7a9000 rw-s fac08000 00:05 8757 /dev/nvidia0 8e7a9000-8e7e9000 rw-s 2cf6d000 00:05 8757 /dev/nvidia0 8e7e9000-8e900000 rw-p 00000000 00:00 0 8e900000-8e9ff000 rw-p 00000000 00:00 0 8e9ff000-8ea00000 ---p 00000000 00:00 0 8ea03000-8ea19000 r-xp 00000000 08:42 797233 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libnet.so 8ea19000-8ea1a000 rw-p 00015000 08:42 797233 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libnet.so 8ea1a000-8ea2b000 r-xp 00000000 08:42 797234 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libnio.so 8ea2b000-8ea2c000 rw-p 00010000 08:42 797234 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libnio.so 8ea2c000-8ea66000 rw-p 00000000 00:00 0 8ea67000-8ea6b000 r--s 00083000 08:42 797186 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/ext/localedata.jar 8ea6b000-8ea6f000 rw-s 299a3000 00:05 8757 /dev/nvidia0 8ea85000-8ea8e000 r-xp 00000000 08:42 797222 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libjavajpeg.so 8ea8e000-8ea8f000 rw-p 00008000 08:42 797222 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libjavajpeg.so 8ea8f000-8eb26000 rw-p 00000000 00:00 0 8eb26000-906ff000 r-xp 00000000 08:42 928175 /usr/lib/nvidia-current/libnvidia-glcore.so.295.71 906ff000-90762000 rwxp 01bd8000 08:42 928175 /usr/lib/nvidia-current/libnvidia-glcore.so.295.71 90762000-90775000 rwxp 00000000 00:00 0 90775000-9081f000 r-xp 00000000 08:42 928170 /usr/lib/nvidia-current/libGL.so.295.71 9081f000-9083e000 rwxp 000aa000 08:42 928170 /usr/lib/nvidia-current/libGL.so.295.71 9083e000-9084d000 rwxp 00000000 00:00 0 9084d000-9087c000 r-xp 00000000 08:42 262268 /lib/liblzma.so.5.0.3 9087c000-9087d000 r--p 0002f000 08:42 262268 /lib/liblzma.so.5.0.3 9087d000-9087e000 rw-p 00030000 08:42 262268 /lib/liblzma.so.5.0.3 9087e000-90888000 r-xp 00000000 08:42 792593 /usr/lib/libfusion-1.5.so.0.0.3 90888000-90889000 r--p 0000a000 08:42 792593 /usr/lib/libfusion-1.5.so.0.0.3 90889000-9088a000 rw-p 0000b000 08:42 792593 /usr/lib/libfusion-1.5.so.0.0.3 9088a000-909d3000 r-xp 00000000 08:42 792411 /usr/lib/libxml2.so.2.7.8 909d3000-909d4000 ---p 00149000 08:42 792411 /usr/lib/libxml2.so.2.7.8 909d4000-909d8000 r--p 00149000 08:42 792411 /usr/lib/libxml2.so.2.7.8 909d8000-909d9000 rw-p 0014d000 08:42 792411 /usr/lib/libxml2.so.2.7.8 909d9000-909da000 rw-p 00000000 00:00 0 909da000-909ee000 r-xp 00000000 08:42 262191 /lib/libresolv-2.14.1.so 909ee000-909ef000 r--p 00013000 08:42 262191 /lib/libresolv-2.14.1.so 909ef000-909f0000 rw-p 00014000 08:42 262191 /lib/libresolv-2.14.1.so 909f0000-909f2000 rw-p 00000000 00:00 0 909f2000-90a2e000 r-xp 00000000 08:42 262276 /lib/libpcre.so.0.0.1 90a2e000-90a2f000 r--p 0003b000 08:42 262276 /lib/libpcre.so.0.0.1 90a2f000-90a30000 rw-p 0003c000 08:42 262276 /lib/libpcre.so.0.0.1 90a30000-90a7c000 r-xp 00000000 08:42 792462 /usr/lib/libpng15.so.15.10.0 90a7c000-90a7d000 r--p 0004b000 08:42 792462 /usr/lib/libpng15.so.15.10.0 90a7d000-90a7e000 rw-p 0004c000 08:42 792462 /usr/lib/libpng15.so.15.10.0 90a7e000-90a9c000 r-xp 00000000 08:42 792589 /usr/lib/libdirect-1.5.so.0.0.3 90a9c000-90a9d000 ---p 0001e000 08:42 792589 /usr/lib/libdirect-1.5.so.0.0.3 90a9d000-90a9e000 r--p 0001e000 08:42 792589 /usr/lib/libdirect-1.5.so.0.0.3 90a9e000-90a9f000 rw-p 0001f000 08:42 792589 /usr/lib/libdirect-1.5.so.0.0.3 90a9f000-90aa0000 rw-p 00000000 00:00 0 90aa0000-90b6f000 r-xp 00000000 08:42 792591 /usr/lib/libdirectfb-1.5.so.0.0.3 90b6f000-90b71000 r--p 000cf000 08:42 792591 /usr/lib/libdirectfb-1.5.so.0.0.3 90b71000-90b74000 rw-p 000d1000 08:42 792591 /usr/lib/libdirectfb-1.5.so.0.0.3 90b74000-90c07000 r-xp 00000000 08:42 792595 /usr/lib/libpixman-1.so.0.24.4 90c07000-90c0b000 r--p 00093000 08:42 792595 /usr/lib/libpixman-1.so.0.24.4 90c0b000-90c0c000 rw-p 00097000 08:42 792595 /usr/lib/libpixman-1.so.0.24.4 90c0c000-90c3f000 r-xp 00000000 08:42 792445 /usr/lib/libfontconfig.so.1.4.4 90c3f000-90c40000 ---p 00033000 08:42 792445 /usr/lib/libfontconfig.so.1.4.4 90c40000-90c41000 r--p 00033000 08:42 792445 /usr/lib/libfontconfig.so.1.4.4 90c41000-90c42000 rw-p 00034000 08:42 792445 /usr/lib/libfontconfig.so.1.4.4 90c42000-90d93000 r-xp 00000000 08:42 262794 /lib/libgio-2.0.so.0.3200.1 90d93000-90d95000 r--p 00151000 08:42 262794 /lib/libgio-2.0.so.0.3200.1 90d95000-90d96000 rw-p 00153000 08:42 262794 /lib/libgio-2.0.so.0.3200.1 90d96000-90d97000 rw-p 00000000 00:00 0 90d97000-90db5000 r-xp 00000000 08:42 795968 /usr/lib/libatk-1.0.so.0.20409.1 90db5000-90db7000 r--p 0001d000 08:42 795968 /usr/lib/libatk-1.0.so.0.20409.1 90db7000-90db8000 rw-p 0001f000 08:42 795968 /usr/lib/libatk-1.0.so.0.20409.1 90db8000-90eae000 r-xp 00000000 08:42 262302 /lib/libglib-2.0.so.0.3200.1 90eae000-90eaf000 r--p 000f5000 08:42 262302 /lib/libglib-2.0.so.0.3200.1 90eaf000-90eb0000 rw-p 000f6000 08:42 262302 /lib/libglib-2.0.so.0.3200.1 90eb0000-90efc000 r-xp 00000000 08:42 262306 /lib/libgobject-2.0.so.0.3200.1 90efc000-90efd000 r--p 0004c000 08:42 262306 /lib/libgobject-2.0.so.0.3200.1 90efd000-90efe000 rw-p 0004d000 08:42 262306 /lib/libgobject-2.0.so.0.3200.1 90efe000-90f83000 r-xp 00000000 08:42 792443 /usr/lib/libfreetype.so.6.8.1 90f83000-90f87000 r--p 00084000 08:42 792443 /usr/lib/libfreetype.so.6.8.1 90f87000-90f88000 rw-p 00088000 08:42 792443 /usr/lib/libfreetype.so.6.8.1 90f88000-90fd0000 r-xp 00000000 08:42 792603 /usr/lib/libpango-1.0.so.0.3000.0 90fd0000-90fd1000 ---p 00048000 08:42 792603 /usr/lib/libpango-1.0.so.0.3000.0 90fd1000-90fd2000 r--p 00048000 08:42 792603 /usr/lib/libpango-1.0.so.0.3000.0 90fd2000-90fd3000 rw-p 00049000 08:42 792603 /usr/lib/libpango-1.0.so.0.3000.0 90fd3000-90ffd000 r-xp 00000000 08:42 792607 /usr/lib/libpangoft2-1.0.so.0.3000.0 90ffd000-90ffe000 r--p 0002a000 08:42 792607 /usr/lib/libpangoft2-1.0.so.0.3000.0 90ffe000-90fff000 rw-p 0002b000 08:42 792607 /usr/lib/libpangoft2-1.0.so.0.3000.0 90fff000-910b8000 r-xp 00000000 08:42 792601 /usr/lib/libcairo.so.2.11000.2 910b8000-910b9000 ---p 000b9000 08:42 792601 /usr/lib/libcairo.so.2.11000.2 910b9000-910ba000 r--p 000b9000 08:42 792601 /usr/lib/libcairo.so.2.11000.2 910ba000-910bb000 rw-p 000ba000 08:42 792601 /usr/lib/libcairo.so.2.11000.2 910bb000-910bd000 rw-p 00000000 00:00 0 910bd000-91169000 r-xp 00000000 08:42 807443 /usr/lib/libgdk-x11-2.0.so.0.2400.10 91169000-9116b000 r--p 000ab000 08:42 807443 /usr/lib/libgdk-x11-2.0.so.0.2400.10 9116b000-9116c000 rw-p 000ad000 08:42 807443 /usr/lib/libgdk-x11-2.0.so.0.2400.10 9116c000-915c2000 r-xp 00000000 08:42 807444 /usr/lib/libgtk-x11-2.0.so.0.2400.10 915c2000-915c6000 r--p 00456000 08:42 807444 /usr/lib/libgtk-x11-2.0.so.0.2400.10 915c6000-915c8000 rw-p 0045a000 08:42 807444 /usr/lib/libgtk-x11-2.0.so.0.2400.10 915c8000-915ca000 rw-p 00000000 00:00 0 915ca000-915fd000 r-xp 00000000 08:42 948852 /usr/lib/classpath/libgtkpeer.so 915fd000-915fe000 r--p 00033000 08:42 948852 /usr/lib/classpath/libgtkpeer.so 915fe000-915ff000 rw-p 00034000 08:42 948852 /usr/lib/classpath/libgtkpeer.so 915ff000-91602000 ---p 00000000 00:00 0 91602000-91a00000 rw-p 00000000 00:00 0 91a00000-91af9000 rw-p 00000000 00:00 0 91af9000-91b00000 ---p 00000000 00:00 0 91b00000-91b01000 r--s 00000000 08:42 524533 /var/cache/fontconfig/6fcb01a03a016cc71057b587cdea6709-le32d4.cache-3 91b01000-91b02000 rw-s d0005000 00:05 8757 /dev/nvidia0 91b02000-91b03000 rw-s 299a2000 00:05 8757 /dev/nvidia0 91b03000-91b07000 rw-s 2771c000 00:05 8757 /dev/nvidia0 91b07000-91b0a000 r-xp 00000000 08:42 928181 /usr/lib/nvidia-current/tls/libnvidia-tls.so.295.71 91b0a000-91b0b000 rw-p 00002000 08:42 928181 /usr/lib/nvidia-current/tls/libnvidia-tls.so.295.71 91b0b000-91b2a000 r-xp 00000000 08:42 792670 /usr/lib/libgdk_pixbuf-2.0.so.0.2600.1 91b2a000-91b2b000 r--p 0001e000 08:42 792670 /usr/lib/libgdk_pixbuf-2.0.so.0.2600.1 91b2b000-91b2c000 rw-p 0001f000 08:42 792670 /usr/lib/libgdk_pixbuf-2.0.so.0.2600.1 91b2c000-91b6d000 r-xp 00000000 08:42 1078409 /usr/share/golems/lib/native/liblwjgl.so 91b6d000-91b6e000 rw-p 00041000 08:42 1078409 /usr/share/golems/lib/native/liblwjgl.so 91b6e000-91b71000 ---p 00000000 00:00 0 91b71000-91c00000 rw-p 00000000 00:00 0 91c00000-91cb2000 rw-p 00000000 00:00 0 91cb2000-91d00000 ---p 00000000 00:00 0 91d00000-91d01000 rw-p 00000000 00:00 0 91d01000-91d03000 rw-s 00000000 08:42 1840165 /tmp/gl5zAYQj (deleted) 91d03000-91d08000 r-xp 00000000 08:42 790257 /usr/lib/libffi.so.5.0.10 91d08000-91d09000 r--p 00005000 08:42 790257 /usr/lib/libffi.so.5.0.10 91d09000-91d0a000 rw-p 00006000 08:42 790257 /usr/lib/libffi.so.5.0.10 91d0a000-91d0c000 r-xp 00000000 08:42 792512 /usr/lib/libXdamage.so.1.1.0 91d0c000-91d0d000 r--p 00001000 08:42 792512 /usr/lib/libXdamage.so.1.1.0 91d0d000-91d0e000 rw-p 00002000 08:42 792512 /usr/lib/libXdamage.so.1.1.0 91d0e000-91d19000 r-xp 00000000 08:42 792605 /usr/lib/libpangocairo-1.0.so.0.3000.0 91d19000-91d1a000 r--p 0000a000 08:42 792605 /usr/lib/libpangocairo-1.0.so.0.3000.0 91d1a000-91d1b000 rw-p 0000b000 08:42 792605 /usr/lib/libpangocairo-1.0.so.0.3000.0 91d1b000-91d38000 rw-s 2e9db000 00:05 8757 /dev/nvidia0 91d38000-91d3b000 ---p 00000000 00:00 0 91d3b000-91d89000 rw-p 00000000 00:00 0 91d89000-91d8c000 ---p 00000000 00:00 0 91d8c000-91dda000 rw-p 00000000 00:00 0 91dda000-91de1000 r--s 00000000 08:42 786737 /usr/lib/gconv/gconv-modules.cache 91de1000-91e0d000 r--p 00000000 08:42 786725 /usr/share/locale/ru/LC_MESSAGES/libc.mo 91e0d000-91f41000 r-xp 00000000 08:42 792289 /usr/lib/libX11.so.6.3.0 91f41000-91f42000 r--p 00133000 08:42 792289 /usr/lib/libX11.so.6.3.0 91f42000-91f45000 rw-p 00134000 08:42 792289 /usr/lib/libX11.so.6.3.0 91f45000-91fd5000 r-xp 00000000 08:42 797211 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libawt.so 91fd5000-91fdc000 rw-p 00090000 08:42 797211 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libawt.so 91fdc000-92000000 rw-p 00000000 00:00 0 92000000-92100000 rw-p 00000000 00:00 0 92100000-92101000 rw-p 00000000 00:00 0 92101000-92103000 r-xp 00000000 08:42 796140 /usr/lib/libXcomposite.so.1.0.0 92103000-92104000 r--p 00001000 08:42 796140 /usr/lib/libXcomposite.so.1.0.0 92104000-92105000 rw-p 00002000 08:42 796140 /usr/lib/libXcomposite.so.1.0.0 92105000-92107000 r-xp 00000000 08:42 792466 /usr/lib/libXinerama.so.1.0.0 92107000-92108000 r--p 00001000 08:42 792466 /usr/lib/libXinerama.so.1.0.0 92108000-92109000 rw-p 00002000 08:42 792466 /usr/lib/libXinerama.so.1.0.0 92109000-92110000 r-xp 00000000 08:42 792464 /usr/lib/libXrandr.so.2.2.0 92110000-92111000 r--p 00006000 08:42 792464 /usr/lib/libXrandr.so.2.2.0 92111000-92112000 rw-p 00007000 08:42 792464 /usr/lib/libXrandr.so.2.2.0 92112000-92115000 ---p 00000000 00:00 0 92115000-92121000 rw-p 00000000 00:00 0 92121000-92126000 r-xp 00000000 08:42 789696 /usr/lib/libXdmcp.so.6.0.0 92126000-92127000 r--p 00004000 08:42 789696 /usr/lib/libXdmcp.so.6.0.0 92127000-92128000 rw-p 00005000 08:42 789696 /usr/lib/libXdmcp.so.6.0.0 92128000-9217a000 r-xp 00000000 08:42 922518 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/xawt/libmawt.so 9217a000-9217c000 rw-p 00052000 08:42 922518 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/xawt/libmawt.so 9217c000-9217d000 rw-p 00000000 00:00 0 9217d000-9217e000 ---p 00000000 00:00 0 9217e000-921fe000 rw-p 00000000 00:00 0 921fe000-92201000 ---p 00000000 00:00 0 92201000-9227f000 rw-p 00000000 00:00 0 9227f000-92282000 ---p 00000000 00:00 0 92282000-92300000 rw-p 00000000 00:00 0 92300000-92500000 r--p 00000000 08:42 796286 /usr/share/locale/locale-archive 92500000-925f4000 rw-p 00000000 00:00 0 925f4000-92600000 ---p 00000000 00:00 0 92600000-92700000 rw-p 00000000 00:00 0 92700000-927fd000 rw-p 00000000 00:00 0 927fd000-92800000 ---p 00000000 00:00 0 92800000-92803000 r-xp 00000000 08:42 262304 /lib/libgmodule-2.0.so.0.3200.1 92803000-92804000 r--p 00002000 08:42 262304 /lib/libgmodule-2.0.so.0.3200.1 92804000-92805000 rw-p 00003000 08:42 262304 /lib/libgmodule-2.0.so.0.3200.1 92805000-92825000 r-xp 00000000 08:42 789706 /usr/lib/libxcb.so.1.1.0 92825000-92826000 r--p 0001f000 08:42 789706 /usr/lib/libxcb.so.1.1.0 92826000-92827000 rw-p 00020000 08:42 789706 /usr/lib/libxcb.so.1.1.0 92827000-92835000 r-xp 00000000 08:42 792439 /usr/lib/libXi.so.6.1.0 92835000-92836000 r--p 0000d000 08:42 792439 /usr/lib/libXi.so.6.1.0 92836000-92837000 rw-p 0000e000 08:42 792439 /usr/lib/libXi.so.6.1.0 92837000-9283a000 ---p 00000000 00:00 0 9283a000-92888000 rw-p 00000000 00:00 0 92888000-92889000 ---p 00000000 00:00 0 92889000-92951000 rw-p 00000000 00:00 0 92951000-92b00000 r--s 03766000 08:42 797268 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/rt.jar 92b00000-92bfc000 rw-p 00000000 00:00 0 92bfc000-92c00000 ---p 00000000 00:00 0 92c00000-92c02000 r-xs 00000000 08:42 1840165 /tmp/gl5zAYQj (deleted) 92c02000-92c03000 rw-s fa641000 00:05 8757 /dev/nvidia0 92c03000-92c05000 r-xp 00000000 08:42 789700 /usr/lib/libXau.so.6.0.0 92c05000-92c06000 r--p 00001000 08:42 789700 /usr/lib/libXau.so.6.0.0 92c06000-92c07000 rw-p 00002000 08:42 789700 /usr/lib/libXau.so.6.0.0 92c07000-92c0f000 r-xp 00000000 08:42 792402 /usr/lib/libXrender.so.1.3.0 92c0f000-92c10000 r--p 00007000 08:42 792402 /usr/lib/libXrender.so.1.3.0 92c10000-92c11000 rw-p 00008000 08:42 792402 /usr/lib/libXrender.so.1.3.0 92c11000-92c12000 rw-s 2dd87000 00:05 8757 /dev/nvidia0 92c12000-92c13000 rw-s 26f04000 00:05 8757 /dev/nvidia0 92c13000-92c14000 r-xp 00000000 08:42 262308 /lib/libgthread-2.0.so.0.3200.1 92c14000-92c15000 r--p 00000000 08:42 262308 /lib/libgthread-2.0.so.0.3200.1 92c15000-92c16000 rw-p 00001000 08:42 262308 /lib/libgthread-2.0.so.0.3200.1 92c16000-92c17000 r-xp 00000000 08:42 948882 /usr/lib/classpath/libjawt.so 92c17000-92c18000 r--p 00000000 08:42 948882 /usr/lib/classpath/libjawt.so 92c18000-92c19000 rw-p 00001000 08:42 948882 /usr/lib/classpath/libjawt.so 92c19000-92c1d000 r-xp 00000000 08:42 792404 /usr/lib/libXfixes.so.3.1.0 92c1d000-92c1e000 r--p 00003000 08:42 792404 /usr/lib/libXfixes.so.3.1.0 92c1e000-92c1f000 rw-p 00004000 08:42 792404 /usr/lib/libXfixes.so.3.1.0 92c1f000-92c28000 r-xp 00000000 08:42 792410 /usr/lib/libXcursor.so.1.0.2 92c28000-92c29000 r--p 00008000 08:42 792410 /usr/lib/libXcursor.so.1.0.2 92c29000-92c2a000 rw-p 00009000 08:42 792410 /usr/lib/libXcursor.so.1.0.2 92c2a000-92c2e000 r--s 00089000 08:42 797258 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/jsse.jar 92c2e000-92c31000 ---p 00000000 00:00 0 92c31000-92c7f000 rw-p 00000000 00:00 0 92c7f000-92c80000 ---p 00000000 00:00 0 92c80000-92d00000 rw-p 00000000 00:00 0 92d00000-92dcd000 rw-p 00000000 00:00 0 92dcd000-92e00000 ---p 00000000 00:00 0 92e00000-92e01000 rw-s fa060000 00:05 8757 /dev/nvidia0 92e01000-92e02000 r--p 00000000 00:00 0 92e02000-92e07000 r-xp 00000000 08:42 792437 /usr/lib/libXtst.so.6.1.0 92e07000-92e08000 r--p 00004000 08:42 792437 /usr/lib/libXtst.so.6.1.0 92e08000-92e09000 rw-p 00005000 08:42 792437 /usr/lib/libXtst.so.6.1.0 92e09000-92e19000 r-xp 00000000 08:42 792291 /usr/lib/libXext.so.6.4.0 92e19000-92e1a000 r--p 0000f000 08:42 792291 /usr/lib/libXext.so.6.4.0 92e1a000-92e1b000 rw-p 00010000 08:42 792291 /usr/lib/libXext.so.6.4.0 92e1b000-92e25000 r--s 00371000 08:42 797173 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/charsets.jar 92e25000-92e2e000 r--s 00263000 08:42 797266 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/resources.jar 92e2e000-92e31000 ---p 00000000 00:00 0 92e31000-92e7f000 rw-p 00000000 00:00 0 92e7f000-92e80000 ---p 00000000 00:00 0 92e80000-92f00000 rw-p 00000000 00:00 0 92f00000-92f21000 rw-p 00000000 00:00 0 92f21000-93000000 ---p 00000000 00:00 0 93000000-93002000 r--s 00009000 08:42 1078400 /usr/share/golems/lib/jphya.jar 93002000-93004000 r--s 00006000 08:42 1078398 /usr/share/golems/lib/jmovieencoder.jar 93004000-9300c000 r--s 00048000 08:42 1078388 /usr/share/golems/lib/commons-math-1.2-SNAPSHOT.jar 9300c000-9300e000 r--s 0000a000 08:42 1078416 /usr/share/golems/lib/odejava-jni.jar 9300e000-93013000 r--s 0002f000 08:42 1078390 /usr/share/golems/lib/jinput.jar 93013000-9301a000 r--s 00082000 08:42 1078401 /usr/share/golems/lib/lwjgl.jar 9301a000-93028000 r--s 000b1000 08:42 1078385 /usr/share/golems/lib/FengGUI.jar 93028000-9302e000 r--s 000ce000 08:42 1078396 /usr/share/golems/lib/jme-physics.jar 9302e000-93031000 ---p 00000000 00:00 0 93031000-9307f000 rw-p 00000000 00:00 0 9307f000-93080000 ---p 00000000 00:00 0 93080000-93100000 rw-p 00000000 00:00 0 93100000-93157000 rw-p 00000000 00:00 0 93157000-93200000 ---p 00000000 00:00 0 93200000-93203000 r--s 00011000 08:42 1078402 /usr/share/golems/lib/lwjgl_util.jar 93203000-93204000 r--s 00005000 08:42 1078394 /usr/share/golems/lib/jme-gamestates.jar 93204000-93207000 r--s 00009000 08:42 1078417 /usr/share/golems/lib/simplemonkey.jar 93207000-93215000 r--s 000b7000 08:42 1078397 /usr/share/golems/lib/jme.jar 93215000-93216000 r--s 00007000 08:42 1078395 /usr/share/golems/lib/jme-physics-buoyancy.jar 93216000-93218000 r--s 00011000 08:42 1078391 /usr/share/golems/lib/jme-awt.jar 93218000-9321f000 r--s 00029000 08:42 1078389 /usr/share/golems/lib/direct.jar 9321f000-93221000 r--s 00008000 08:42 1078393 /usr/share/golems/lib/jme-font.jar 93221000-93224000 r--s 00012000 08:42 1078392 /usr/share/golems/lib/jme-effects.jar 93224000-9322d000 r--s 003a5000 08:42 948902 /usr/share/golems/datafiles.jar 9322d000-93230000 ---p 00000000 00:00 0 93230000-9327e000 rw-p 00000000 00:00 0 9327e000-9327f000 ---p 00000000 00:00 0 9327f000-9330b000 rw-p 00000000 00:00 0 9330b000-9330f000 ---p 00000000 00:00 0 9330f000-9333f000 rw-p 00000000 00:00 0 9333f000-9334b000 rw-p 00000000 00:00 0 9334b000-9334f000 ---p 00000000 00:00 0 9334f000-9337f000 rw-p 00000000 00:00 0 9337f000-9338a000 rw-p 00000000 00:00 0 9338a000-933ff000 rw-p 00000000 00:00 0 933ff000-9343f000 rw-p 00000000 00:00 0 9343f000-94c40000 rw-p 00000000 00:00 0 94c40000-952c0000 ---p 00000000 00:00 0 952c0000-9b440000 rw-p 00000000 00:00 0 9b440000-9c9a0000 rw-p 00000000 00:00 0 9c9a0000-ab440000 rw-p 00000000 00:00 0 ab440000-b33f0000 rw-p 00000000 00:00 0 b33f0000-b3440000 ---p 00000000 00:00 0 b3440000-b344a000 rw-p 00000000 00:00 0 b344a000-b3500000 rw-p 00000000 00:00 0 b3500000-b3780000 rwxp 00000000 00:00 0 b3780000-b6600000 rw-p 00000000 00:00 0 b6600000-b6601000 r--s 00001000 08:42 1078399 /usr/share/golems/lib/jphya-lwjgl.jar b6601000-b6604000 r--s 00007000 08:42 1078405 /usr/share/golems/lib/mvc_validate.jar b6604000-b6608000 r--s 0001c000 08:42 1078404 /usr/share/golems/lib/mvc_golems.jar b6608000-b660a000 r--s 001c9000 08:42 948905 /usr/share/golems/opensource.jar b660a000-b6631000 r--s 00168000 08:42 948903 /usr/share/golems/golems.jar b6631000-b663a000 r--s 00066000 08:42 797185 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/ext/gnome-java-bridge.jar b663a000-b663d000 r--s 0000f000 08:42 797188 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/ext/pulse-java.jar b663d000-b663f000 r--p 001ff000 08:42 796286 /usr/share/locale/locale-archive b663f000-b664a000 rw-p 00000000 00:00 0 b664a000-b66bf000 rw-p 00000000 00:00 0 b66bf000-b66c7000 r-xp 00000000 08:42 797245 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libzip.so b66c7000-b66c8000 rw-p 00007000 08:42 797245 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libzip.so b66c8000-b66d0000 rw-s 00000000 08:42 1840164 /tmp/hsperfdata_alex/22925 b66d0000-b66f6000 r-xp 00000000 08:42 797220 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libjava.so b66f6000-b66f7000 rw-p 00026000 08:42 797220 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libjava.so b66f7000-b66fe000 r-xp 00000000 08:42 262154 /lib/i686/librt-2.14.1.so b66fe000-b66ff000 r--p 00006000 08:42 262154 /lib/i686/librt-2.14.1.so b66ff000-b6700000 rw-p 00007000 08:42 262154 /lib/i686/librt-2.14.1.so b6700000-b6703000 ---p 00000000 00:00 0 b6703000-b6751000 rw-p 00000000 00:00 0 b6751000-b676d000 r-xp 00000000 08:42 262273 /lib/libgcc_s-4.6.3.so.1 b676d000-b676e000 rw-p 0001b000 08:42 262273 /lib/libgcc_s-4.6.3.so.1 b676e000-b6797000 r-xp 00000000 08:42 262150 /lib/i686/libm-2.14.1.so b6797000-b6798000 r--p 00028000 08:42 262150 /lib/i686/libm-2.14.1.so b6798000-b6799000 rw-p 00029000 08:42 262150 /lib/i686/libm-2.14.1.so b6799000-b6871000 r-xp 00000000 08:42 789872 /usr/lib/libstdc++.so.6.0.16 b6871000-b6872000 ---p 000d8000 08:42 789872 /usr/lib/libstdc++.so.6.0.16 b6872000-b6876000 r--p 000d8000 08:42 789872 /usr/lib/libstdc++.so.6.0.16 b6876000-b6877000 rw-p 000dc000 08:42 789872 /usr/lib/libstdc++.so.6.0.16 b6877000-b687e000 rw-p 00000000 00:00 0 b687e000-b7127000 r-xp 00000000 08:42 922516 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/server/libjvm.so b7127000-b717f000 rw-p 008a8000 08:42 922516 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/server/libjvm.so b717f000-b759b000 rw-p 00000000 00:00 0 b759b000-b7712000 r-xp 00000000 08:42 262148 /lib/i686/libc-2.14.1.so b7712000-b7713000 ---p 00177000 08:42 262148 /lib/i686/libc-2.14.1.so b7713000-b7715000 r--p 00177000 08:42 262148 /lib/i686/libc-2.14.1.so b7715000-b7716000 rw-p 00179000 08:42 262148 /lib/i686/libc-2.14.1.so b7716000-b7719000 rw-p 00000000 00:00 0 b7719000-b771c000 r-xp 00000000 08:42 262171 /lib/libdl-2.14.1.so b771c000-b771d000 r--p 00002000 08:42 262171 /lib/libdl-2.14.1.so b771d000-b771e000 rw-p 00003000 08:42 262171 /lib/libdl-2.14.1.so b771e000-b771f000 rw-p 00000000 00:00 0 b771f000-b7735000 r-xp 00000000 08:42 262202 /lib/libz.so.1.2.6 b7735000-b7736000 r--p 00015000 08:42 262202 /lib/libz.so.1.2.6 b7736000-b7737000 rw-p 00016000 08:42 262202 /lib/libz.so.1.2.6 b7737000-b7743000 r-xp 00000000 08:42 922510 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/jli/libjli.so b7743000-b7744000 rw-p 0000b000 08:42 922510 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/jli/libjli.so b7744000-b775a000 r-xp 00000000 08:42 262152 /lib/i686/libpthread-2.14.1.so b775a000-b775b000 r--p 00015000 08:42 262152 /lib/i686/libpthread-2.14.1.so b775b000-b775c000 rw-p 00016000 08:42 262152 /lib/i686/libpthread-2.14.1.so b775c000-b775e000 rw-p 00000000 00:00 0 b775e000-b775f000 r--s 00009000 08:42 1078403 /usr/share/golems/lib/mvc.jar b775f000-b776a000 r-xp 00000000 08:42 262181 /lib/libnss_files-2.14.1.so b776a000-b776b000 r--p 0000a000 08:42 262181 /lib/libnss_files-2.14.1.so b776b000-b776c000 rw-p 0000b000 08:42 262181 /lib/libnss_files-2.14.1.so b776c000-b776d000 rw-p 00000000 00:00 0 b776d000-b776e000 r--p 00000000 00:00 0 b776e000-b777a000 r-xp 00000000 08:42 797244 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libverify.so b777a000-b777b000 rw-p 0000b000 08:42 797244 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3/jre/lib/i386/libverify.so b777b000-b777c000 rw-p 00000000 00:00 0 b777c000-b7799000 r-xp 00000000 08:42 262158 /lib/ld-2.14.1.so b7799000-b779a000 r--p 0001c000 08:42 262158 /lib/ld-2.14.1.so b779a000-b779b000 rw-p 0001d000 08:42 262158 /lib/ld-2.14.1.so bff3a000-bff5c000 rw-p 00000000 00:00 0 [stack] ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso] VM Arguments: jvm_args: -XX:MaxDirectMemorySize=384m -Xms32m -Xmx384m -Djava.library.path=/usr/share/golems/lib/native java_command: golems.jar Launcher Type: SUN_STANDARD Environment Variables: PATH=/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin/:/usr/games:/usr/lib/qt4/bin:/home/alex/bin LD_LIBRARY_PATH=./lib/native:/usr/lib64/classpath:/usr/lib/classpath SHELL=/bin/bash DISPLAY=:0 Signal Handlers: SIGSEGV: [libjvm.so+0x6e7820], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x6e7820], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x5928c0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x5928c0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x5928c0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x5928c0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x592750], sa_mask[0]=0x00000004, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x592d10], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: [libjvm.so+0x592d10], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x592d10], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x592d10], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:Mageia release 2 (Official) for i586 uname:Linux 3.3.8-server-2.mga2 #1 SMP Mon Jul 30 21:54:12 UTC 2012 i686 libc:glibc 2.14.1 NPTL 2.14.1 rlimit: STACK 8192k, CORE infinity, NPROC 32262, NOFILE 4096, AS infinity load average:0,96 0,66 0,68 /proc/meminfo: MemTotal: 4136240 kB MemFree: 1957852 kB Buffers: 234140 kB Cached: 943508 kB SwapCached: 0 kB Active: 1241240 kB Inactive: 768620 kB Active(anon): 835108 kB Inactive(anon): 21412 kB Active(file): 406132 kB Inactive(file): 747208 kB Unevictable: 0 kB Mlocked: 0 kB HighTotal: 3355528 kB HighFree: 1561992 kB LowTotal: 780712 kB LowFree: 395860 kB SwapTotal: 8356788 kB SwapFree: 8356788 kB Dirty: 100 kB Writeback: 0 kB AnonPages: 832204 kB Mapped: 219900 kB Shmem: 24324 kB Slab: 99452 kB SReclaimable: 69360 kB SUnreclaim: 30092 kB KernelStack: 3480 kB PageTables: 11340 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 10424908 kB Committed_AS: 2814376 kB VmallocTotal: 188416 kB VmallocUsed: 63880 kB VmallocChunk: 115476 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 92152 kB DirectMap2M: 745472 kB CPU:total 4 (4 cores per cpu, 1 threads per core) family 16 model 4 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, popcnt, mmxext, 3dnowpref, lzcnt, sse4a /proc/cpuinfo: processor : 0 vendor_id : AuthenticAMD cpu family : 16 model : 4 model name : AMD Phenom(tm) II X4 940 Processor stepping : 2 microcode : 0x1000086 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save bogomips : 6027.77 clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate processor : 1 vendor_id : AuthenticAMD cpu family : 16 model : 4 model name : AMD Phenom(tm) II X4 940 Processor stepping : 2 microcode : 0x1000086 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 4 apicid : 1 initial apicid : 1 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save bogomips : 6027.77 clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate processor : 2 vendor_id : AuthenticAMD cpu family : 16 model : 4 model name : AMD Phenom(tm) II X4 940 Processor stepping : 2 microcode : 0x1000086 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings : 4 core id : 3 cpu cores : 4 apicid : 3 initial apicid : 3 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save bogomips : 6027.77 clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate processor : 3 vendor_id : AuthenticAMD cpu family : 16 model : 4 model name : AMD Phenom(tm) II X4 940 Processor stepping : 2 microcode : 0x1000086 cpu MHz : 3000.000 cache size : 512 KB physical id : 0 siblings : 4 core id : 2 cpu cores : 4 apicid : 2 initial apicid : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save bogomips : 6027.77 clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate Memory: 4k page, physical 4136240k(1957852k free), swap 8356788k(8356788k free) vm_info: OpenJDK Server VM (22.0-b10) for linux-x86 JRE (1.7.0_b147-icedtea-iurt_2012_04_19_21_26-b00), built on Apr 19 2012 21:30:44 by "iurt" with gcc 4.6.3 time: Sat Nov 3 15:16:44 2012 elapsed time: 59 seconds -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121103/c42867a1/attachment.html From bugzilla-daemon at icedtea.classpath.org Sat Nov 3 04:42:03 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 03 Nov 2012 11:42:03 +0000 Subject: [Bug 1207] [libodejava.so+0x6d3e2] dQMultiply3+0x6 golems In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1207 --- Comment #1 from glix --- ftp://ftp.mageialinux.ru/.home/romkaromka/SRPMS/golems-0.0.1-1.mrc.mga2.src.rpm ftp://ftp.mageialinux.ru/mageia2/SRPMS/golems-0.0.1-1.mrc.mga2.src.rpm -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121103/188c4b4d/attachment.html From bugzilla-daemon at icedtea.classpath.org Sat Nov 3 04:52:30 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 03 Nov 2012 11:52:30 +0000 Subject: [Bug 1207] [libodejava.so+0x6d3e2] dQMultiply3+0x6 golems In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1207 --- Comment #2 from glix --- Mageia2 32bit -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121103/fbb366b9/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Nov 4 07:03:45 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Nov 2012 15:03:45 +0000 Subject: [Bug 1208] New: Sudden crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1208 Priority: P3 Bug ID: 1208 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: Sudden crash Severity: major Classification: Unclassified OS: Linux Reporter: mkj at gotu.dk Hardware: x86_64 Status: NEW Version: 6-1.11.5 Component: IcedTea Product: IcedTea Created attachment 787 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=787&action=edit sudden crash log I'm using IcedTea for java development in NetBeans, and I've experienced a few crashes. I dont see a patern. Sometimes it happens when Maven (I'm using maven for projects) is running. Sometimes i just open a file og open a menu, and it crashes. The attached hs_err_pid9433.log and hs_err_pid11605.log happened suddenly, and the rest i when running something Maven. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121104/756aa8b8/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Nov 4 07:04:30 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Nov 2012 15:04:30 +0000 Subject: [Bug 1208] Sudden crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1208 --- Comment #1 from mkj at gotu.dk --- Created attachment 788 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=788&action=edit latest sudden crash log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121104/c7c9e5dc/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Nov 4 07:05:38 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Nov 2012 15:05:38 +0000 Subject: [Bug 1208] Sudden crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1208 --- Comment #3 from mkj at gotu.dk --- Created attachment 790 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=790&action=edit other Maven crash log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121104/f51498f2/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Nov 4 07:05:04 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Nov 2012 15:05:04 +0000 Subject: [Bug 1208] Sudden crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1208 --- Comment #2 from mkj at gotu.dk --- Created attachment 789 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=789&action=edit Maven crash log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121104/a0dcfcc9/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Nov 4 07:06:20 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Nov 2012 15:06:20 +0000 Subject: [Bug 1208] Sudden crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1208 --- Comment #4 from mkj at gotu.dk --- I can test with a debug/ggdb build if the logs doesnt make enough sense -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121104/999b11bc/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Nov 4 07:21:05 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 04 Nov 2012 15:21:05 +0000 Subject: [Bug 1208] Sudden crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1208 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com --- Comment #5 from Andrew Haley --- The Maven crashes seem to be in libzip, and those are usually caused by something modifying a zipefile concurrently with Java reading it. This one won;t be fixed, I expect: bug in Maven. The first one (numa_error) is so strage that I suspect a kernel, BIOS, or even hardware bug. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121104/48ea3995/attachment.html From stefan at complang.tuwien.ac.at Mon Nov 5 02:34:22 2012 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Mon, 5 Nov 2012 11:34:22 +0100 Subject: icedtea6: CORBA backports broke bootstrap build Message-ID: This is the changeset in question: . The one before (its parent) does not have this problem. The error looks like this: make[9]: Entering directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun/corba/se/core' # Java sources to be compiled: (listed in file /home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/corba/tmp/sun/com.sun.corba.se.impl.core/.classes.list) ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/AnyImplHelper.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/AsynchInvoke.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/CORBAObjectImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/ContextImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/ContextListImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/EnvironmentImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/ExceptionListImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/NVListImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/NamedValueImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/PrincipalImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/RequestImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/ServerRequestImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/TCUtility.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/TypeCodeFactory.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImplHelper.java ../../../../../../src/share/classes/org/omg/stub/java/rmi/_Remote_Stub.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyBasicImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyCollectionImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyComplexImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyConstructedImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyFactoryImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyUtil.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynArrayImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynEnumImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynFixedImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynSequenceImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynStructImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynUnionImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynValueImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynValueBoxImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynValueCommonImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerFactory.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferQueue.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerReadStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWrite.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerRead.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerReadGrow.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWriteGrow.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWriteCollect.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWriteStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/ByteBufferWithInfo.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputObject.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStreamBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputObject.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStreamBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CodeSetCache.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CodeSetConversion.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CodeSetComponentInfo.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationInputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/MarkAndResetHandler.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/MarshalInputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/MarshalOutputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/OSFCodeSetRegistry.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/RestorableInputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeReader.java ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/WrapperInputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/DefaultSocketFactory.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/EndPointInfoImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/LegacyServerSocketManagerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryAcceptorImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryConnectionImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryContactInfoImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryContactInfoListImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryContactInfoListIteratorImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/USLPort.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/CodeSetServiceContext.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/MaxStreamFormatVersionServiceContext.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ORBVersionServiceContext.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/SendingContextServiceContext.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContextData.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContextRegistry.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContexts.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/UEInfoServiceContext.java ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/UnknownServiceContext.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ByteBuffer.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/FreezableList.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/GenericIdentifiable.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedComponent.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/IORTemplateImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/IORTemplateListImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/IdentifiableFactoryFinderBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/JIDLObjectKeyTemplate.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/NewObjectKeyTemplateBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectAdapterIdArray.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectAdapterIdBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectAdapterIdNumber.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectIdImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyTemplateBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectReferenceProducerBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectReferenceTemplateImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectReferenceFactoryImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/OldJIDLObjectKeyTemplate.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/OldObjectKeyTemplateBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/OldPOAObjectKeyTemplate.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/POAObjectKeyTemplate.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/StubIORImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/TaggedProfileFactoryFinderImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/TaggedProfileTemplateFactoryFinderImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/WireObjectKeyTemplate.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/AlternateIIOPAddressComponentImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/CodeSetsComponentImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPAddressBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPAddressClosureImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPAddressImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/JavaCodebaseComponentImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/JavaSerializationComponent.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/MaxStreamFormatVersionComponentImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/RequestPartitioningComponentImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/ORBTypeComponentImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/AppletDataCollector.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/DataCollectorBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/DataCollectorFactory.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/NormalDataCollector.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/NormalParserAction.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/NormalParserData.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBConfiguratorImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBVersionImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserAction.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserActionBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserActionFactory.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserDataBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/PrefixParserAction.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/PrefixParserData.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/PropertyOnlyDataCollector.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/CacheTable.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/CorbaResourceUtil.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/DenseIntMapImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/GetPropertyAction.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/HexOutputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/LegacyHookGetFields.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/LegacyHookPutFields.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/LogKeywords.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClass_1_3_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamField.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectWriter.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectUtility.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClassUtil_1_3.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ORBConstants.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ORBClassLoader.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdStrings.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdUtility.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdInterface.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/StackImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/closure/Future.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/closure/Constant.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/Sync.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/SyncUtil.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/ReentrantMutex.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/DebugMutex.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/Mutex.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/CondVar.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/fsm/GuardedAction.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/fsm/NameBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/fsm/StateEngineImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolManagerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/TimeoutException.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/WorkQueueImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/CopierManagerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/FallbackObjectCopierImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/ORBStreamObjectCopierImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/ReferenceObjectCopierImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/JavaStreamObjectCopierImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/graph/Node.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/graph/NodeData.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/graph/Graph.java ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/graph/GraphImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/AddressingDispositionException.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/BootstrapServerRequestDispatcher.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientDelegateImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaInvocationInfo.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaServerRequestDispatcherImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/FullServantCacheLocalCRDImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/INSServerRequestDispatcher.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/InfoOnlyServantCacheLocalCRDImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/JIDLLocalCRDImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/LocalClientRequestDispatcherBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/MinimalServantCacheLocalCRDImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/NotLocalLocalCRDImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/POALocalCRDImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/RequestCanceledException.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/RequestDispatcherRegistryImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/ServantCacheLocalCRDBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/SpecialMethod.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/AddressingDispositionHelper.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/CancelRequestMessage.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/CancelRequestMessage_1_0.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/CancelRequestMessage_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/CancelRequestMessage_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/FragmentMessage.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/FragmentMessage_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/FragmentMessage_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/IORAddressingInfo.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/IORAddressingInfoHelper.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/KeyAddr.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_0.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateRequestMessage.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateRequestMessage_1_0.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateRequestMessage_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateRequestMessage_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyOrReplyMessage.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/Message.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageHandler.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/Message_1_0.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/Message_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/Message_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ProfileAddr.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReferenceAddr.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_0.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_1.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_2.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddress.java ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddressHelper.java ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/BootstrapResolverImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/CompositeResolverImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/INSURLOperationImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/LocalResolverImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/ORBDefaultInitRefResolverImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/ORBInitRefResolverImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/SplitLocalResolverImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/FileResolverImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/ByteBufferPoolImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaConnectionCacheBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoListImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoListIteratorImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaInboundConnectionCacheImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaOutboundConnectionCacheImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaResponseWaitingRoomImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/DefaultIORToSocketInfoImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/DefaultSocketFactoryImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/EventHandlerBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/ListenerThreadImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/ReaderThreadImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/ReadTCPTimeoutsImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelContactInfoImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/IdentityHashtable.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/IdentityHashtableEnumerator.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/RepositoryId.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/RepositoryIdCache.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/SUNVMCID.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/Utility.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/Version.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/ORBProperties.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/JDKBridge.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/PackagePrefixChecker.java ../../../../../../src/share/classes/com/sun/corba/se/impl/util/JDKClassLoader.java ../../../../../../src/share/classes/com/sun/corba/se/impl/javax/rmi/PortableRemoteObject.java ../../../../../../src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java ../../../../../../src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClassCorbaExt.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ObjectStreamField.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/OptionalDataException.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/TypeMismatchException.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java ../../../../../../src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/DynamicAccessPermission.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/DynamicMethodMarshallerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/DynamicStubImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandler.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandlerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLType.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLTypeException.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLTypesUtil.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/PresentationManagerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/ReflectiveTie.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubConnectImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryDynamicBase.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryStaticImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryProxyImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryStaticImpl.java ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubInvocationHandlerImpl.java ../../../../../../src/share/classes/com/sun/corba/se/internal/CosNaming/BootstrapServer.java ../../../../../../src/share/classes/com/sun/corba/se/internal/Interceptors/PIORB.java ../../../../../../src/share/classes/com/sun/corba/se/internal/POA/POAORB.java ../../../../../../src/share/classes/com/sun/corba/se/internal/corba/ORBSingleton.java ../../../../../../src/share/classes/com/sun/corba/se/internal/iiop/ORB.java # Running javac: /home/sr/staging/staging-build-jam/icedtea6/bootstrap/jdk1.6.0/bin/javac -J-XX:ThreadStackSize=2048 -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -g -XDignore.symbol.file=true -source 1.5 -target 5 -encoding ascii -classpath /home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/langtools/dist/lib/classes.jar -Xprefer:source -bootclasspath /home/sr/staging/staging-build-jam/icedtea6/bootstrap/jdk1.6.0/jre/lib/rt.jar:/home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/corba/classes -sourcepath /home/sr/staging/staging-build-jam/icedtea6/generated.build:../../../../../../src/share/classes:/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/jdk/src/share/classes:/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/jdk/src/solaris/classes -d /home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/corba/classes @/home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/corba/tmp/sun/com.sun.corba.se.impl.core/.classes.list ---------- 1. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1403) threadpoolMgr.close(); ^^^^^ The method close() is undefined for the type ThreadPoolManager ---------- 2. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1406) wrapper.ioExceptionOnClose(exc); ^^^^^^^^^^^^^^^^^^ The method ioExceptionOnClose(IOException) is undefined for the type ORBUtilSystemException ---------- 3. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1412) monitoringManager.close(); ^^^^^^^^^^^^^^^^^ The field ORB.monitoringManager is not visible ---------- 4. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1413) monitoringManager = null; ^^^^^^^^^^^^^^^^^ The field ORB.monitoringManager is not visible ---------- 5. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1415) wrapper.ioExceptionOnClose(exc); ^^^^^^^^^^^^^^^^^^ The method ioExceptionOnClose(IOException) is undefined for the type ORBUtilSystemException ---------- 6. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1420) pihandler.close(); ^^^^^ The method close() is undefined for the type PIHandler ---------- 7. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1422) wrapper.ioExceptionOnClose(exc); ^^^^^^^^^^^^^^^^^^ The method ioExceptionOnClose(IOException) is undefined for the type ORBUtilSystemException ---------- 7 problems (7 errors)make[9]: *** [.compile.classlist] Error 255 make[9]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun/corba/se/core' make[8]: *** [build] Error 1 make[8]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun/corba/se' make[7]: *** [build] Error 1 make[7]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun/corba' make[6]: *** [build] Error 1 make[6]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun' make[5]: *** [build] Error 1 make[5]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com' make[4]: *** [build] Error 1 make[4]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make' make[3]: *** [corba-build] Error 2 make[3]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj' make[2]: *** [build_product_image] Error 2 make[2]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj' make[1]: *** [jdk_only] Error 2 make[1]: Leaving directory `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj' make: *** [stamps/icedtea-ecj.stamp] Error 2 Tried with --enable-jamvm as well as --enable-cacao. This happens on CentOS 6 x86_64, system Java: java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.5) (rhel-1.50.1.11.5.el6_3-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) The javac executable identifies thusly: Eclipse Java Compiler 0.894_R34x, 3.4.2 release, Copyright IBM Corp 2000, 2008. All rights reserved. Cheers From gnu.andrew at redhat.com Mon Nov 5 07:00:45 2012 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 5 Nov 2012 10:00:45 -0500 (EST) Subject: icedtea6: CORBA backports broke bootstrap build In-Reply-To: Message-ID: <12871191.4853607.1352127645409.JavaMail.root@redhat.com> ----- Original Message ----- > This is the changeset in question: > . The one > before (its parent) does not have this problem. The error looks like > this: > > make[9]: Entering directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun/corba/se/core' > # Java sources to be compiled: (listed in file > /home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/corba/tmp/sun/com.sun.corba.se.impl.core/.classes.list) > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/AnyImplHelper.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/AsynchInvoke.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/CORBAObjectImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/ContextImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/ContextListImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/EnvironmentImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/ExceptionListImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/NVListImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/NamedValueImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/PrincipalImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/RequestImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/ServerRequestImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/TCUtility.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/TypeCodeFactory.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImplHelper.java > ../../../../../../src/share/classes/org/omg/stub/java/rmi/_Remote_Stub.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyBasicImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyCollectionImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyComplexImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyConstructedImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyFactoryImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyUtil.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynArrayImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynEnumImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynFixedImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynSequenceImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynStructImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynUnionImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynValueImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynValueBoxImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/dynamicany/DynValueCommonImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerFactory.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferQueue.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerReadStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWrite.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerRead.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerReadGrow.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWriteGrow.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWriteCollect.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerWriteStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/ByteBufferWithInfo.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputObject.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStreamBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputObject.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStreamBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CodeSetCache.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CodeSetConversion.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/CodeSetComponentInfo.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationInputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/MarkAndResetHandler.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/MarshalInputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/MarshalOutputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/OSFCodeSetRegistry.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/RestorableInputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeReader.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/encoding/WrapperInputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/DefaultSocketFactory.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/EndPointInfoImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/LegacyServerSocketManagerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryAcceptorImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryConnectionImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryContactInfoImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryContactInfoListImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/SocketFactoryContactInfoListIteratorImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/legacy/connection/USLPort.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/CodeSetServiceContext.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/MaxStreamFormatVersionServiceContext.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ORBVersionServiceContext.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/SendingContextServiceContext.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContextData.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContextRegistry.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContexts.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/UEInfoServiceContext.java > ../../../../../../src/share/classes/com/sun/corba/se/spi/servicecontext/UnknownServiceContext.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ByteBuffer.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/FreezableList.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/GenericIdentifiable.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedComponent.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/IORTemplateImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/IORTemplateListImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/IdentifiableFactoryFinderBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/JIDLObjectKeyTemplate.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/NewObjectKeyTemplateBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectAdapterIdArray.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectAdapterIdBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectAdapterIdNumber.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectIdImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyTemplateBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectReferenceProducerBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectReferenceTemplateImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/ObjectReferenceFactoryImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/OldJIDLObjectKeyTemplate.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/OldObjectKeyTemplateBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/OldPOAObjectKeyTemplate.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/POAObjectKeyTemplate.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/StubIORImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/TaggedProfileFactoryFinderImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/TaggedProfileTemplateFactoryFinderImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/WireObjectKeyTemplate.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/AlternateIIOPAddressComponentImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/CodeSetsComponentImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPAddressBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPAddressClosureImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPAddressImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/JavaCodebaseComponentImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/JavaSerializationComponent.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/MaxStreamFormatVersionComponentImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/RequestPartitioningComponentImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/ior/iiop/ORBTypeComponentImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/AppletDataCollector.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/DataCollectorBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/DataCollectorFactory.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/NormalDataCollector.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/NormalParserAction.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/NormalParserData.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBConfiguratorImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBVersionImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserAction.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserActionBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserActionFactory.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserDataBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/PrefixParserAction.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/PrefixParserData.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/PropertyOnlyDataCollector.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/CacheTable.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/CorbaResourceUtil.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/DenseIntMapImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/GetPropertyAction.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/HexOutputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/LegacyHookGetFields.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/LegacyHookPutFields.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/LogKeywords.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClass_1_3_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamField.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectWriter.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectUtility.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClassUtil_1_3.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ORBConstants.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ORBClassLoader.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdStrings.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdUtility.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdInterface.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/StackImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/closure/Future.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/closure/Constant.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/Sync.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/SyncUtil.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/ReentrantMutex.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/DebugMutex.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/Mutex.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/concurrent/CondVar.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/fsm/GuardedAction.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/fsm/NameBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/fsm/StateEngineImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolManagerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/TimeoutException.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/WorkQueueImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/CopierManagerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/FallbackObjectCopierImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/ORBStreamObjectCopierImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/ReferenceObjectCopierImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/copyobject/JavaStreamObjectCopierImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/graph/Node.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/graph/NodeData.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/graph/Graph.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/orbutil/graph/GraphImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/AddressingDispositionException.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/BootstrapServerRequestDispatcher.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientDelegateImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaInvocationInfo.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/CorbaServerRequestDispatcherImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/FullServantCacheLocalCRDImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/INSServerRequestDispatcher.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/InfoOnlyServantCacheLocalCRDImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/JIDLLocalCRDImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/LocalClientRequestDispatcherBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/MinimalServantCacheLocalCRDImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/NotLocalLocalCRDImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/POALocalCRDImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/RequestCanceledException.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/RequestDispatcherRegistryImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/ServantCacheLocalCRDBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/SpecialMethod.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/AddressingDispositionHelper.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/CancelRequestMessage.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/CancelRequestMessage_1_0.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/CancelRequestMessage_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/CancelRequestMessage_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/FragmentMessage.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/FragmentMessage_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/FragmentMessage_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/IORAddressingInfo.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/IORAddressingInfoHelper.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/KeyAddr.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_0.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateRequestMessage.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateRequestMessage_1_0.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateRequestMessage_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateRequestMessage_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyOrReplyMessage.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/Message.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageHandler.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/Message_1_0.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/Message_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/Message_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ProfileAddr.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReferenceAddr.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_0.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_1.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/RequestMessage_1_2.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddress.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/TargetAddressHelper.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/BootstrapResolverImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/CompositeResolverImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/INSURLOperationImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/LocalResolverImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/ORBDefaultInitRefResolverImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/ORBInitRefResolverImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/SplitLocalResolverImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/resolver/FileResolverImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/ByteBufferPoolImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaConnectionCacheBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoListImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoListIteratorImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaInboundConnectionCacheImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaOutboundConnectionCacheImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaResponseWaitingRoomImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/DefaultIORToSocketInfoImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/DefaultSocketFactoryImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/EventHandlerBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/ListenerThreadImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/ReaderThreadImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/ReadTCPTimeoutsImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelContactInfoImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/IdentityHashtable.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/IdentityHashtableEnumerator.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/RepositoryId.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/RepositoryIdCache.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/SUNVMCID.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/Utility.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/Version.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/ORBProperties.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/JDKBridge.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/PackagePrefixChecker.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/util/JDKClassLoader.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/javax/rmi/PortableRemoteObject.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClassCorbaExt.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ObjectStreamField.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/OptionalDataException.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/TypeMismatchException.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/DynamicAccessPermission.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/DynamicMethodMarshallerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/DynamicStubImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandler.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandlerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLType.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLTypeException.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLTypesUtil.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/PresentationManagerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/ReflectiveTie.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubConnectImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryDynamicBase.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryStaticImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryProxyImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryStaticImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubInvocationHandlerImpl.java > ../../../../../../src/share/classes/com/sun/corba/se/internal/CosNaming/BootstrapServer.java > ../../../../../../src/share/classes/com/sun/corba/se/internal/Interceptors/PIORB.java > ../../../../../../src/share/classes/com/sun/corba/se/internal/POA/POAORB.java > ../../../../../../src/share/classes/com/sun/corba/se/internal/corba/ORBSingleton.java > ../../../../../../src/share/classes/com/sun/corba/se/internal/iiop/ORB.java > # Running javac: > /home/sr/staging/staging-build-jam/icedtea6/bootstrap/jdk1.6.0/bin/javac > -J-XX:ThreadStackSize=2048 -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m > -J-XX:MaxPermSize=160m -g -XDignore.symbol.file=true -source 1.5 > -target 5 -encoding ascii -classpath > /home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/langtools/dist/lib/classes.jar > -Xprefer:source -bootclasspath > /home/sr/staging/staging-build-jam/icedtea6/bootstrap/jdk1.6.0/jre/lib/rt.jar:/home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/corba/classes > -sourcepath > /home/sr/staging/staging-build-jam/icedtea6/generated.build:../../../../../../src/share/classes:/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/jdk/src/share/classes:/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/jdk/src/solaris/classes > -d > /home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/corba/classes > @/home/sr/staging/staging-build-jam/icedtea6/openjdk.build-ecj/corba/tmp/sun/com.sun.corba.se.impl.core/.classes.list > ---------- > 1. ERROR in > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java > (at line 1403) > threadpoolMgr.close(); > ^^^^^ > The method close() is undefined for the type ThreadPoolManager > ---------- > 2. ERROR in > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java > (at line 1406) > wrapper.ioExceptionOnClose(exc); > ^^^^^^^^^^^^^^^^^^ > The method ioExceptionOnClose(IOException) is undefined for the type > ORBUtilSystemException > ---------- > 3. ERROR in > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java > (at line 1412) > monitoringManager.close(); > ^^^^^^^^^^^^^^^^^ > The field ORB.monitoringManager is not visible > ---------- > 4. ERROR in > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java > (at line 1413) > monitoringManager = null; > ^^^^^^^^^^^^^^^^^ > The field ORB.monitoringManager is not visible > ---------- > 5. ERROR in > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java > (at line 1415) > wrapper.ioExceptionOnClose(exc); > ^^^^^^^^^^^^^^^^^^ > The method ioExceptionOnClose(IOException) is undefined for the type > ORBUtilSystemException > ---------- > 6. ERROR in > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java > (at line 1420) > pihandler.close(); > ^^^^^ > The method close() is undefined for the type PIHandler > ---------- > 7. ERROR in > ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java > (at line 1422) > wrapper.ioExceptionOnClose(exc); > ^^^^^^^^^^^^^^^^^^ > The method ioExceptionOnClose(IOException) is undefined for the type > ORBUtilSystemException > ---------- > 7 problems (7 errors)make[9]: *** [.compile.classlist] Error 255 > make[9]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun/corba/se/core' > make[8]: *** [build] Error 1 > make[8]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun/corba/se' > make[7]: *** [build] Error 1 > make[7]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun/corba' > make[6]: *** [build] Error 1 > make[6]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com/sun' > make[5]: *** [build] Error 1 > make[5]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make/com' > make[4]: *** [build] Error 1 > make[4]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj/corba/make' > make[3]: *** [corba-build] Error 2 > make[3]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj' > make[2]: *** [build_product_image] Error 2 > make[2]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj' > make[1]: *** [jdk_only] Error 2 > make[1]: Leaving directory > `/home/sr/staging/staging-build-jam/icedtea6/openjdk-ecj' > make: *** [stamps/icedtea-ecj.stamp] Error 2 > > Tried with --enable-jamvm as well as --enable-cacao. This happens on > CentOS 6 x86_64, system Java: > java version "1.6.0_24" > OpenJDK Runtime Environment (IcedTea6 1.11.5) > (rhel-1.50.1.11.5.el6_3-x86_64) > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) > > The javac executable identifies thusly: > Eclipse Java Compiler 0.894_R34x, 3.4.2 release, Copyright IBM Corp > 2000, 2008. All rights reserved. > > Cheers > Do you have this changeset? http://icedtea.classpath.org/hg/icedtea6/rev/55241b2310b8 Also, make sure you're building out of tree or have a clean source directory. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From stefan at complang.tuwien.ac.at Mon Nov 5 07:05:13 2012 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Mon, 5 Nov 2012 16:05:13 +0100 Subject: icedtea6: CORBA backports broke bootstrap build In-Reply-To: <12871191.4853607.1352127645409.JavaMail.root@redhat.com> References: <12871191.4853607.1352127645409.JavaMail.root@redhat.com> Message-ID: > Do you have this changeset? > > http://icedtea.classpath.org/hg/icedtea6/rev/55241b2310b8 Yes, I used the latest one available. http://icedtea.classpath.org/hg/icedtea6/rev/8f6318c8c2f4 > Also, make sure you're building out of tree or have a clean source directory. I'm building in tree, and definitely completely clean. My build script always deletes the entire tree before building. I'll try building out-of-tree for a change... From stefan at complang.tuwien.ac.at Mon Nov 5 07:46:23 2012 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Mon, 5 Nov 2012 16:46:23 +0100 Subject: icedtea6: CORBA backports broke bootstrap build In-Reply-To: References: <12871191.4853607.1352127645409.JavaMail.root@redhat.com> Message-ID: >> Also, make sure you're building out of tree or have a clean source directory. > > I'm building in tree, and definitely completely clean. My build script > always deletes the entire tree before building. I'll try building > out-of-tree for a change... Ok, building out-of-tree does indeed work. Historically, the in-tree build has always worked for me up until last week. I don't know how difficult it would be to restore that capability. Cheers From gnu.andrew at redhat.com Mon Nov 5 11:33:55 2012 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 5 Nov 2012 14:33:55 -0500 (EST) Subject: icedtea6: CORBA backports broke bootstrap build In-Reply-To: Message-ID: <1149943013.5026106.1352144035570.JavaMail.root@redhat.com> ----- Original Message ----- > >> Also, make sure you're building out of tree or have a clean source > >> directory. > > > > I'm building in tree, and definitely completely clean. My build > > script > > always deletes the entire tree before building. I'll try building > > out-of-tree for a change... > > Ok, building out-of-tree does indeed work. Historically, the in-tree > build has always worked for me up until last week. I don't know how > difficult it would be to restore that capability. > > Cheers > I don't regularly build it, but our test builders do and I see it's also getting the same error even with that patch. I'll take a look. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From stefan at complang.tuwien.ac.at Tue Nov 6 00:50:06 2012 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Tue, 6 Nov 2012 09:50:06 +0100 Subject: PING: PR1176: Added --with-cacao-src-dir option Message-ID: Ping... On Wed, Oct 17, 2012 at 11:23 PM, Stefan Ring wrote: > Hi, > > this is the first part of makefile synchronization. I'd really like to > see this go in. It would also help get CACAO's buildbot off the > ground. > > Cheers > > > https://bitbucket.org/Ringdingcoder/icedtea7/changeset/36af76cba7dea4538f9183ab437369be17d01749 From xerxes at zafena.se Tue Nov 6 03:25:24 2012 From: xerxes at zafena.se (=?UTF-8?B?WGVyeGVzIFLDpW5ieQ==?=) Date: Tue, 06 Nov 2012 12:25:24 +0100 Subject: PING: PR1176: Added --with-cacao-src-dir option In-Reply-To: References: Message-ID: <5098F3A4.2080408@zafena.se> 2012-11-06 09:50, Stefan Ring skrev: > Ping... > > On Wed, Oct 17, 2012 at 11:23 PM, Stefan Ring > wrote: >> Hi, >> >> this is the first part of makefile synchronization. I'd really like to >> see this go in. It would also help get CACAO's buildbot off the >> ground. >> >> Cheers >> >> >> https://bitbucket.org/Ringdingcoder/icedtea7/changeset/36af76cba7dea4538f9183ab437369be17d01749 Looks ok Please go ahead and push to IcedTea 7 hg. With this change in place we can argue if we still need the --with-cacao-home that can be pointed to an already built cacao install directory. Ideally we want to limit the number of options that we support to reduce the number of configure permutations. Thanks. Xerxes From sgehwolf at redhat.com Tue Nov 6 07:08:31 2012 From: sgehwolf at redhat.com (Severin Gehwolf) Date: Tue, 06 Nov 2012 10:08:31 -0500 Subject: [PATCH] for bug 2376501: Krb5LoginModule config class does not return proper KDC list from DNS Message-ID: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> Hi, In Config.java, line 1234 in method getKDCFromDNS(String realm) there is a loop which discards earlier values of KDCs returned rather than concatenating them. This results in a behaviour where only one KDC in a seemingly random fashion is returned. In fact, the KDC returned depends on the order which KrbServiceLocator.getKerberosService(realm, "_udp") returns the servers. The correct behaviour should be to return a String containing ALL KDCs available via DNS (separated by spaces). The webrev is here: http://jerboaa.fedorapeople.org/bugs/openjdk/2376501/webrev/ Comments and suggestions very welcome! Thanks, Severin From xranby at icedtea.classpath.org Tue Nov 6 07:19:10 2012 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Tue, 06 Nov 2012 15:19:10 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 849f72a5a514 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=849f72a5a514 author: Stefan Ring date: Mon Nov 05 16:53:59 2012 +0100 PR1120: Upgrade CACAO to 2012-11-04 version Changes: - Unified version for icedtea6/7 - CA166, CA167: check-langtools fixes for icedtea6 - Implemented sun.misc.Perf.highResCounter - CACAO now identifies by its own Mercurial revision - Some memory barrier maintenance - Ability to run when compiled as Thumb on armv5 (no Thumb JIT though) 2012-11-04 Stefan Ring * Makefile.am (CACAO_VERSION, CACAO_SHA256SUM): Updated. (ICEDTEA_PATCHES): Removed patches/cacao/jsig.patch. (stamps/cacao.stamp): Create Xusage.txt and libjsig.so as for JamVM. * patches/cacao/jsig.patch: Removed. changeset 1793e2fb84c5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1793e2fb84c5 author: Xerxes Ranby date: Tue Nov 06 18:28:55 2012 +0100 CACAO: PR1120: Added ChangeLog entry, updated NEWS and HACKING. 2012-11-06 Xerxes Ranby Stefan Ring * Makefile.am (CACAO_VERSION, CACAO_SHA256SUM): Updated. (ICEDTEA_PATCHES): Removed patches/cacao/jsig.patch. (stamps/cacao.stamp): Create Xusage.txt and libjsig.so as for JamVM. * patches/cacao/jsig.patch: Removed. * HACKING: Updated. * NEWS: Updated. diffstat: ChangeLog | 10 ++++++++++ HACKING | 6 +++--- Makefile.am | 7 ++++--- NEWS | 7 +++++++ patches/cacao/jsig.patch | 18 ------------------ 5 files changed, 24 insertions(+), 24 deletions(-) diffs (110 lines): diff -r 8f6318c8c2f4 -r 1793e2fb84c5 ChangeLog --- a/ChangeLog Thu Nov 01 14:03:48 2012 -0400 +++ b/ChangeLog Tue Nov 06 18:28:55 2012 +0100 @@ -1,3 +1,13 @@ +2012-11-06 Xerxes R??nby + Stefan Ring + + * Makefile.am (CACAO_VERSION, CACAO_SHA256SUM): Updated. + (ICEDTEA_PATCHES): Removed patches/cacao/jsig.patch. + (stamps/cacao.stamp): Create Xusage.txt and libjsig.so as for JamVM. + * patches/cacao/jsig.patch: Removed. + * HACKING: Updated. + * NEWS: Updated. + 2012-11-01 Lukas Berk * Makefile.am: diff -r 8f6318c8c2f4 -r 1793e2fb84c5 HACKING --- a/HACKING Thu Nov 01 14:03:48 2012 -0400 +++ b/HACKING Tue Nov 06 18:28:55 2012 +0100 @@ -89,9 +89,6 @@ * icedtea-java2d-mitre-join.patch: Backport fix for mitre join decoration (S6812600). * icedtea-java2d-stroker-internal-joint.patch: Fix penultimate joint created by GeneralPath.closePath(). * icedtea-java2d-stroker-internal-close-joint.patch: Fix final joint created by GeneralPath.closePath(). -* icedtea-cacao.patch: For the 'java' command, create new thread depending on the current VM. -* icedtea-cacao-no-mmap-first-page.patch: Don't mmap the first memory page. -* cacao/no-strict-aliasing.patch: Turn off strict aliasing which causes an issue with the verifier when building with GCC 4.4 (cacao PR129). * icedtea-shark.patch: Add support for the Shark JIT. * icedtea-xshm.patch: Support newer X11 headers for awt_GraphicsEnv.h. @@ -138,6 +135,9 @@ The following patches are only applied when building with the CACAO virtual machine: +* cacao/launcher.patch: For the 'java' command, create new thread depending on the current VM. +* cacao/memory.patch: Increase memory while building langtools for cacao builds. + The following patches are to support Xrender pipeline (-Dsun.java2d.xrender): * icedtea-xrender-xxx.patch: Numbered patches from xrender branch diff -r 8f6318c8c2f4 -r 1793e2fb84c5 Makefile.am --- a/Makefile.am Thu Nov 01 14:03:48 2012 -0400 +++ b/Makefile.am Tue Nov 06 18:28:55 2012 +0100 @@ -5,8 +5,8 @@ OPENJDK_VERSION = b27 OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ -CACAO_VERSION = cff92704c4e0 -CACAO_SHA256SUM = dc768c9d097fb056ad34fc6d5a57e8fd4f3b24bf515be92acc5ee4208160eb3f +CACAO_VERSION = 9968abd511a3 +CACAO_SHA256SUM = 3b1ce9d2205d2afba4614a194484341758ee2cb340396310ac2c00e5a2a20955 CACAO_BASE_URL = http://icedtea.classpath.org/download/drops/cacao CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz @@ -433,7 +433,6 @@ if BUILD_CACAO ICEDTEA_PATCHES += \ patches/cacao/launcher.patch \ - patches/cacao/jsig.patch \ patches/cacao/memory.patch endif @@ -2136,6 +2135,8 @@ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS) install ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client + touch $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt + ln -sf client/libjvm.so $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/libjsig.so endif endif mkdir -p stamps diff -r 8f6318c8c2f4 -r 1793e2fb84c5 NEWS --- a/NEWS Thu Nov 01 14:03:48 2012 -0400 +++ b/NEWS Tue Nov 06 18:28:55 2012 +0100 @@ -56,6 +56,13 @@ are actually missing from the boot JDK - PR1114: Provide option to turn off downloading of tarballs (--disable-downloading) - PR1176: Synchronise CACAO rules between IcedTea6/7/8 where possible +* CACAO + - PR1120: Unified version for icedtea6/7 + - CA166, CA167: check-langtools fixes for icedtea6 + - Implemented sun.misc.Perf.highResCounter + - CACAO now identifies by its own Mercurial revision + - Some memory barrier maintenance + - Ability to run when compiled as Thumb on armv5 (no Thumb JIT though) * JamVM - ARMv6 armhf: Changes for Raspbian (Raspberry Pi) - PPC: Don't use lwsync if it isn't supported diff -r 8f6318c8c2f4 -r 1793e2fb84c5 patches/cacao/jsig.patch --- a/patches/cacao/jsig.patch Thu Nov 01 14:03:48 2012 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -diff -Nru cacao.orig/Makefile.am cacao/Makefile.am ---- cacao.orig/cacao/src/cacao/Makefile.am 2008-08-04 17:51:28.000000000 +0100 -+++ cacao/cacao/src/cacao/Makefile.am 2010-05-11 10:29:35.000000000 +0100 -@@ -96,12 +96,12 @@ - $(mkdir_p) $(prefix)/jre/lib/$(JAVA_ARCH)/server - $(LN_S) -f $(libdir)/libjvm.so $(prefix)/jre/lib/$(JAVA_ARCH)/server - $(ECHO) $(ECHO_N) > $(prefix)/jre/lib/$(JAVA_ARCH)/server/Xusage.txt -- $(ECHO) $(ECHO_N) > $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjsig.so -+ $(ECHO) $(ECHO_N) > $(prefix)/jre/lib/$(JAVA_ARCH)/libjsig.so - - uninstall-local: - rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjvm.so - rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/Xusage.txt -- rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjsig.so -+ rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/libjsig.so - endif - - From weijun.wang at oracle.com Tue Nov 6 16:52:48 2012 From: weijun.wang at oracle.com (Weijun Wang) Date: Wed, 07 Nov 2012 08:52:48 +0800 Subject: [PATCH] for bug 2376501: Krb5LoginModule config class does not return proper KDC list from DNS In-Reply-To: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> References: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> Message-ID: <5099B0E0.1090908@oracle.com> Hi Severin The fix looks fine. There is one place it might get enhanced: if (value.charAt(j) == ':') { kdcs = (value.substring(0, j)).trim(); } So this changes a.com:88 to a.com. If the port is really 88, it's OK. Otherwise, info gets lost. Maybe we can keep the whole string. BTW, are you OK with contributing the fix into OpenJDK main repo? Thanks Max On 11/06/2012 11:08 PM, Severin Gehwolf wrote: > Hi, > > In Config.java, line 1234 in method getKDCFromDNS(String realm) there is > a loop which discards earlier values of KDCs returned rather than > concatenating them. This results in a behaviour where only one KDC in a > seemingly random fashion is returned. In fact, the KDC returned depends > on the order which KrbServiceLocator.getKerberosService(realm, "_udp") > returns the servers. The correct behaviour should be to return a String > containing ALL KDCs available via DNS (separated by spaces). > > The webrev is here: > http://jerboaa.fedorapeople.org/bugs/openjdk/2376501/webrev/ > > Comments and suggestions very welcome! > > Thanks, > Severin > From gnu.andrew at redhat.com Wed Nov 7 07:20:26 2012 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 7 Nov 2012 10:20:26 -0500 (EST) Subject: PING: PR1176: Added --with-cacao-src-dir option In-Reply-To: <5098F3A4.2080408@zafena.se> Message-ID: <1204021510.6590692.1352301626060.JavaMail.root@redhat.com> ----- Original Message ----- > 2012-11-06 09:50, Stefan Ring skrev: > > Ping... > > > > On Wed, Oct 17, 2012 at 11:23 PM, Stefan Ring > > wrote: > >> Hi, > >> > >> this is the first part of makefile synchronization. I'd really > >> like to > >> see this go in. It would also help get CACAO's buildbot off the > >> ground. > >> > >> Cheers > >> > >> > >> https://bitbucket.org/Ringdingcoder/icedtea7/changeset/36af76cba7dea4538f9183ab437369be17d01749 > > Looks ok > Please go ahead and push to IcedTea 7 hg. > > With this change in place we can argue if we still need the > --with-cacao-home > that can be pointed to an already built cacao install directory. > Ideally we want to limit the number of options that we support to > reduce the number of configure permutations. > No. It needs a ChangeLog entry. > Thanks. > Xerxes > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Wed Nov 7 07:21:56 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 7 Nov 2012 10:21:56 -0500 (EST) Subject: PING: PR1176: Added --with-cacao-src-dir option In-Reply-To: <1204021510.6590692.1352301626060.JavaMail.root@redhat.com> Message-ID: <492042789.6591839.1352301716265.JavaMail.root@redhat.com> ----- Original Message ----- > > > ----- Original Message ----- > > 2012-11-06 09:50, Stefan Ring skrev: > > > Ping... > > > > > > On Wed, Oct 17, 2012 at 11:23 PM, Stefan Ring > > > wrote: > > >> Hi, > > >> > > >> this is the first part of makefile synchronization. I'd really > > >> like to > > >> see this go in. It would also help get CACAO's buildbot off the > > >> ground. > > >> > > >> Cheers > > >> > > >> > > >> https://bitbucket.org/Ringdingcoder/icedtea7/changeset/36af76cba7dea4538f9183ab437369be17d01749 > > > > Looks ok > > Please go ahead and push to IcedTea 7 hg. > > > > With this change in place we can argue if we still need the > > --with-cacao-home > > that can be pointed to an already built cacao install directory. > > Ideally we want to limit the number of options that we support to > > reduce the number of configure permutations. > > > > No. It needs a ChangeLog entry. > Further to that, the one in the commit message is wrong as Stefan didn't write this: 2009-10-01 Robert Schuster * configure.ac: Added --with-cacao-src-dir option. * acinclude: New macro AC_CHECK_WITH_CACAO_SRC_DIR. * Makefile.am: Copy Cacao sources when USE_ALT_CACAO_SRC_DIR is used. > > Thanks. > > Xerxes > > > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 07:28:32 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 15:28:32 +0000 Subject: [Bug 1195] Fatal Error JRE SIGSEGV (0xb) at pc=0x00007f5c685a8733, pid=5741, tid=140034866603776 JRE version: 7.0_06 Java VM: OpenJDK 64-Bit Server VM (23.2-b09 mixed mode linux-amd64 compressed oops) In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1195 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Version|7-1.7 |2.3.0 Resolution|--- |INVALID --- Comment #2 from Andrew John Hughes --- This is a failure in the rxtx library you're using. Please file a bug with them. Also, it's not clear to me what you're using. Where is this copy of IcedTea from? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/ea0240d4/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 08:40:25 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 16:40:25 +0000 Subject: [Bug 1207] [libodejava.so+0x6d3e2] dQMultiply3+0x6 golems In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1207 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #3 from Andrew John Hughes --- This is a failure in the native code of the application. You should file a bug with them. Out of interest, where did you obtain this copy of IcedTea? There's no version information in the logs. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/21267b49/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 08:42:28 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 16:42:28 +0000 Subject: [Bug 1191] JRE crashes when out of memory - "Failed to write core dump." In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1191 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/2955f21f/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 09:33:13 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 17:33:13 +0000 Subject: [Bug 1197] ResourceManager.getApplicationResources() does not close InputStreams In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1197 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #2 from Andrew John Hughes --- I'll post this upstream and see what comments we get. The obvious question that springs to mind is did you try use the new try-with-resources syntax? I have a feeling someone upstream may ask that, as they were retrofitting a lot of the code with it. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/164fceaa/attachment.html From dbhole at icedtea.classpath.org Wed Nov 7 10:04:23 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 07 Nov 2012 18:04:23 +0000 Subject: /hg/release/icedtea-web-1.1: 3 new changesets Message-ID: changeset d83a93e3dba5 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=d83a93e3dba5 author: Deepak Bhole date: Thu Nov 01 11:50:47 2012 -0400 CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet changeset 7ddf332a0830 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=7ddf332a0830 author: Deepak Bhole date: Thu Nov 01 12:40:49 2012 -0400 Prepare for 1.1.7 changeset d759ec560073 in /hg/release/icedtea-web-1.1 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.1?cmd=changeset;node=d759ec560073 author: Deepak Bhole date: Thu Nov 01 12:40:55 2012 -0400 Added tag icedtea-web-1.1.7 for changeset 7ddf332a0830 diffstat: .hgtags | 1 + ChangeLog | 12 ++++++++++++ NEWS | 4 +++- configure.ac | 2 +- plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 18 +++--------------- 5 files changed, 20 insertions(+), 17 deletions(-) diffs (92 lines): diff -r b7d63cc06ec4 -r d759ec560073 .hgtags --- a/.hgtags Tue Aug 07 10:51:27 2012 -0400 +++ b/.hgtags Thu Nov 01 12:40:55 2012 -0400 @@ -6,3 +6,4 @@ 77cbf8633a7c63046eb70fbe89d594a8c7b116af icedtea-web-1.1.4 4303e215188f1ae6ffd6ac639ea71b569c2ac7fb icedtea-web-1.1.5 e62245b1ab299666397584e430a4feeeb1c0865a icedtea-web-1.1.6 +7ddf332a0830fac5d334755d7efcf41919747aa1 icedtea-web-1.1.7 diff -r b7d63cc06ec4 -r d759ec560073 ChangeLog --- a/ChangeLog Tue Aug 07 10:51:27 2012 -0400 +++ b/ChangeLog Thu Nov 01 12:40:55 2012 -0400 @@ -1,3 +1,15 @@ +2012-11-01 Deepak Bhole + + * configure.ac: Prepare for 1.1.7 + * NEWS: Same + +2012-11-01 Deepak Bhole + + CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event + attached to applet + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Removed unnecessary + heap allocations. + 2012-08-07 Adam Domurad Fixes PR1106, plugin crashing with firefox + archlinux/gentoo diff -r b7d63cc06ec4 -r d759ec560073 NEWS --- a/NEWS Tue Aug 07 10:51:27 2012 -0400 +++ b/NEWS Thu Nov 01 12:40:55 2012 -0400 @@ -8,7 +8,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.1.7 (2012-XX-XX): +New in release 1.1.7 (2012-11-07): +* Security Updates + - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet * Plugin - PR1106: Buffer overflow in plugin table diff -r b7d63cc06ec4 -r d759ec560073 configure.ac --- a/configure.ac Tue Aug 07 10:51:27 2012 -0400 +++ b/configure.ac Thu Nov 01 12:40:55 2012 -0400 @@ -1,4 +1,4 @@ -AC_INIT([icedtea-web],[1.1.7pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) +AC_INIT([icedtea-web],[1.1.7],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile netx.manifest]) diff -r b7d63cc06ec4 -r d759ec560073 plugin/icedteanp/IcedTeaScriptablePluginObject.cc --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Tue Aug 07 10:51:27 2012 -0400 +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Thu Nov 01 12:40:55 2012 -0400 @@ -591,10 +591,7 @@ if (java_result->error_occurred) { - // error message must be allocated on heap - char* error_msg = (char*) malloc(java_result->error_msg->length()*sizeof(char)); - strcpy(error_msg, java_result->error_msg->c_str()); - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, java_result->error_msg->c_str()); return false; } @@ -853,11 +850,7 @@ createJavaObjectFromVariant(instance, args[i], &id); if (id == "0") { - // error message must be allocated on heap - char* error_msg = (char*) malloc(1024*sizeof(char)); - strcpy(error_msg, "Unable to create argument on Java side"); - - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, "Unable to create argument on Java side"); return false; } @@ -871,12 +864,7 @@ if (java_result->error_occurred) { - // error message must be allocated on heap - int length = java_result->error_msg->length(); - char* error_msg = (char*) malloc((length+1)*sizeof(char)); - strcpy(error_msg, java_result->error_msg->c_str()); - - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, java_result->error_msg->c_str()); return false; } From dbhole at icedtea.classpath.org Wed Nov 7 10:04:40 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 07 Nov 2012 18:04:40 +0000 Subject: /hg/release/icedtea-web-1.2: 4 new changesets Message-ID: changeset 596a718be03f in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=596a718be03f author: Deepak Bhole date: Thu Nov 01 11:50:47 2012 -0400 CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet changeset 8253e1b5b996 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=8253e1b5b996 author: Deepak Bhole date: Thu Nov 01 12:26:08 2012 -0400 Prepare for 1.2.2 changeset 2d21b045ef60 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=2d21b045ef60 author: Deepak Bhole date: Thu Nov 01 12:26:18 2012 -0400 Added tag icedtea-web-1.2.2 for changeset 8253e1b5b996 changeset 382db02cb655 in /hg/release/icedtea-web-1.2 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.2?cmd=changeset;node=382db02cb655 author: Deepak Bhole date: Thu Nov 01 12:27:21 2012 -0400 Prepare for 1.2.3 diffstat: .hgtags | 1 + ChangeLog | 17 +++++++++++++++++ NEWS | 6 +++++- configure.ac | 2 +- plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 18 +++--------------- 5 files changed, 27 insertions(+), 17 deletions(-) diffs (99 lines): diff -r f6cdd8639a8d -r 382db02cb655 .hgtags --- a/.hgtags Tue Aug 07 10:59:11 2012 -0400 +++ b/.hgtags Thu Nov 01 12:27:21 2012 -0400 @@ -2,3 +2,4 @@ b605505179459c9f2119e4dfde999fc6300e4c87 icedtea-web-1.1-branchpoint 58c02a3ace5dd11edc900d869b7c69186c54101d icedtea-web-1.2 fae550dbc8843d997d6180b1ba4d25b3dd831ac9 icedtea-web-1.2.1 +8253e1b5b9965b9a90b98a5a5e5c7067498cd0f3 icedtea-web-1.2.2 diff -r f6cdd8639a8d -r 382db02cb655 ChangeLog --- a/ChangeLog Tue Aug 07 10:59:11 2012 -0400 +++ b/ChangeLog Thu Nov 01 12:27:21 2012 -0400 @@ -1,3 +1,20 @@ +2012-11-01 Deepak Bhole + + * configure.ac: Prepare for 1.2.3 + * NEWS: Same + +2012-11-01 Deepak Bhole + + * configure.ac: Prepare for 1.2.2 + * NEWS: Same + +2012-11-01 Deepak Bhole + + CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event + attached to applet + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Removed unnecessary + heap allocations. + 2012-08-07 Adam Domurad Fixes PR1106, plugin crashing with firefox + archlinux/gentoo diff -r f6cdd8639a8d -r 382db02cb655 NEWS --- a/NEWS Tue Aug 07 10:59:11 2012 -0400 +++ b/NEWS Thu Nov 01 12:27:21 2012 -0400 @@ -8,7 +8,11 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.2.2 (2012-XX-XX): +New in release 1.2.3 (2012-XX-XX): + +New in release 1.2.2 (2012-11-07): +* Security Updates + - CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet * Plugin - PR1106: Buffer overflow in plugin table diff -r f6cdd8639a8d -r 382db02cb655 configure.ac --- a/configure.ac Tue Aug 07 10:59:11 2012 -0400 +++ b/configure.ac Thu Nov 01 12:27:21 2012 -0400 @@ -1,4 +1,4 @@ -AC_INIT([icedtea-web],[1.2.2pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) +AC_INIT([icedtea-web],[1.2.3pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile netx.manifest]) diff -r f6cdd8639a8d -r 382db02cb655 plugin/icedteanp/IcedTeaScriptablePluginObject.cc --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Tue Aug 07 10:59:11 2012 -0400 +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Thu Nov 01 12:27:21 2012 -0400 @@ -591,10 +591,7 @@ if (java_result->error_occurred) { - // error message must be allocated on heap - char* error_msg = (char*) malloc(java_result->error_msg->length()*sizeof(char)); - strcpy(error_msg, java_result->error_msg->c_str()); - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, java_result->error_msg->c_str()); return false; } @@ -853,11 +850,7 @@ createJavaObjectFromVariant(instance, args[i], &id); if (id == "0") { - // error message must be allocated on heap - char* error_msg = (char*) malloc(1024*sizeof(char)); - strcpy(error_msg, "Unable to create argument on Java side"); - - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, "Unable to create argument on Java side"); return false; } @@ -871,12 +864,7 @@ if (java_result->error_occurred) { - // error message must be allocated on heap - int length = java_result->error_msg->length(); - char* error_msg = (char*) malloc((length+1)*sizeof(char)); - strcpy(error_msg, java_result->error_msg->c_str()); - - browser_functions.setexception(npobj, error_msg); + browser_functions.setexception(npobj, java_result->error_msg->c_str()); return false; } From dbhole at icedtea.classpath.org Wed Nov 7 10:07:35 2012 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Wed, 07 Nov 2012 18:07:35 +0000 Subject: /hg/release/icedtea-web-1.3: 6 new changesets Message-ID: changeset e7970f3da5fe in /hg/release/icedtea-web-1.3 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.3?cmd=changeset;node=e7970f3da5fe author: Deepak Bhole date: Thu Nov 01 11:50:47 2012 -0400 CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet changeset fe5f7088f30b in /hg/release/icedtea-web-1.3 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.3?cmd=changeset;node=fe5f7088f30b author: Deepak Bhole date: Thu Nov 01 12:21:19 2012 -0400 Added NEWS entry for PR1161 changeset 89d481ff6266 in /hg/release/icedtea-web-1.3 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.3?cmd=changeset;node=89d481ff6266 author: Deepak Bhole date: Thu Nov 01 12:22:53 2012 -0400 Prepare for 1.3.1 changeset 085acbc2a34c in /hg/release/icedtea-web-1.3 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.3?cmd=changeset;node=085acbc2a34c author: Deepak Bhole date: Thu Nov 01 12:25:01 2012 -0400 Added tag icedtea-web-1.3.1 for changeset 89d481ff6266 changeset fa508a6abb25 in /hg/release/icedtea-web-1.3 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.3?cmd=changeset;node=fa508a6abb25 author: Deepak Bhole date: Thu Nov 01 12:25:16 2012 -0400 Prepare for 1.3.2 changeset b8bd24f0aad1 in /hg/release/icedtea-web-1.3 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.3?cmd=changeset;node=b8bd24f0aad1 author: Deepak Bhole date: Wed Nov 07 13:06:52 2012 -0500 Merge diffstat: .hgtags | 1 + ChangeLog | 40 ++ Makefile.am | 187 +++++---- NEWS | 8 +- configure.ac | 2 +- plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 18 +- tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile | 4 +- tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile | 6 +- 8 files changed, 153 insertions(+), 113 deletions(-) diffs (truncated from 587 to 500 lines): diff -r 11c61503e614 -r b8bd24f0aad1 .hgtags --- a/.hgtags Mon Sep 17 16:40:25 2012 -0400 +++ b/.hgtags Wed Nov 07 13:06:52 2012 -0500 @@ -2,3 +2,4 @@ b605505179459c9f2119e4dfde999fc6300e4c87 icedtea-web-1.1-branchpoint 41f03d932cdf040a89d09c5683fcc7dac6fd2003 icedtea-web-1.2-branchpoint 03ac5dc76069aac927946ccc26698f52e1965260 icedtea-web-1.3 +89d481ff6266fdd80f65afeb41b22f23e8371350 icedtea-web-1.3.1 diff -r 11c61503e614 -r b8bd24f0aad1 ChangeLog --- a/ChangeLog Mon Sep 17 16:40:25 2012 -0400 +++ b/ChangeLog Wed Nov 07 13:06:52 2012 -0500 @@ -1,3 +1,43 @@ +2012-11-02 Jiri Vanek + + Renamed reproducers-related variables and targets + * Makefile.am: + NETX_TEST_DIR - new parent directory variable for tests + NETX_UNIT_TEST_DIR - is now using this variable + JNLP_TESTS_ENGINE_SRCDIR -> TEST_EXTENSIONS_SRCDIR + JNLP_TESTS_ENGINE_TESTS_SRCDIR -> TEST_EXTENSIONS_TESTS_SRCDIR + JNLP_TESTS_SRCDIR -> REPRODUCERS_TESTS_SRCDIR + JNLP_TESTS_ENGINE_DIR -> TEST_EXTENSIONS_DIR + JNLP_TESTS_ENGINE_TESTS_DIR -> TEST_EXTENSIONS_TESTS_DIR + new variable TEST_EXTENSIONS_COMPATIBILITY_SYMLINK still pointing to $(TESTS_DIR)/netx/jnlp_testsengine + $(TESTS_DIR)/jnlp_testsengine now points to $(TESTS_DIR)/test-extensions + JNLP_TESTS_SERVER_DEPLOYDIR -> REPRODUCERS_TESTS_SERVER_DEPLOYDIR + JNLP_TESTS_DIR -> REPRODUCERS_BUILD_DIR + netx-dist-tests-source-files.txt -> test-extensions-source-files.txt + stamps/netx-dist-tests-compile.stamp -> stamps/test-extensions-compile.stamp + stamps/netx-dist-tests-tests-compile.stamp -> stamps/test-extensions-tests-compile.stamp + stamps/netx-dist-tests-compile-testcases.stamp -> stamps/compile-reproducers-testcases.stamp + stamps/netx-dist-tests-copy-resources.stamp -> stamps/copy-reproducers-resources.stamp + * tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile: and + * tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile: following above renaming + +2012-11-01 Deepak Bhole + + * configure.ac: Prepare for 1.3.2 + * NEWS: Same + +2012-11-01 Deepak Bhole + + * configure.ac: Prepare for 1.3.1 + * NEWS: Same + +2012-11-01 Deepak Bhole + + CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event + attached to applet + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Removed unnecessary + heap allocations. + 2012-09-17 Deepak Bhole PR1161: X509VariableTrustManager does not work correctly with OpenJDK7 diff -r 11c61503e614 -r b8bd24f0aad1 Makefile.am --- a/Makefile.am Mon Sep 17 16:40:25 2012 -0400 +++ b/Makefile.am Wed Nov 07 13:06:52 2012 -0500 @@ -12,19 +12,21 @@ export TESTS_DIR=$(abs_top_builddir)/tests.build export NETX_UNIT_TEST_SRCDIR=$(TESTS_SRCDIR)/netx/unit -export NETX_UNIT_TEST_DIR=$(TESTS_DIR)/netx/unit +export NETX_TEST_DIR=$(TESTS_DIR)/netx +export NETX_UNIT_TEST_DIR=$(NETX_TEST_DIR)/unit export JUNIT_RUNNER_DIR=$(TESTS_DIR)/junit-runner export JUNIT_RUNNER_SRCDIR=$(TESTS_SRCDIR)/junit-runner -export JNLP_TESTS_ENGINE_SRCDIR=$(TESTS_SRCDIR)/test-extensions -export JNLP_TESTS_ENGINE_TESTS_SRCDIR=$(TESTS_SRCDIR)/test-extensions-tests -export JNLP_TESTS_SRCDIR=$(TESTS_SRCDIR)/reproducers -export JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/jnlp_testsengine -export JNLP_TESTS_ENGINE_TESTS_DIR=$(TESTS_DIR)/netx/jnlp_testsengine_tests -export JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server -export JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests +export TEST_EXTENSIONS_SRCDIR=$(TESTS_SRCDIR)/test-extensions +export TEST_EXTENSIONS_TESTS_SRCDIR=$(TESTS_SRCDIR)/test-extensions-tests +export REPRODUCERS_TESTS_SRCDIR=$(TESTS_SRCDIR)/reproducers +export TEST_EXTENSIONS_DIR=$(TESTS_DIR)/test-extensions +export TEST_EXTENSIONS_COMPATIBILITY_SYMLINK=$(TESTS_DIR)/netx/jnlp_testsengine +export TEST_EXTENSIONS_TESTS_DIR=$(TESTS_DIR)/test-extensions-tests +export REPRODUCERS_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/reproducers_test_server_deploydir +export REPRODUCERS_BUILD_DIR=$(TESTS_DIR)/reproducers.classes export PRIVATE_KEYSTORE_NAME=teststore.ks export PRIVATE_KEYSTORE_PASS=123456789 export EXPORTED_TEST_CERT_PREFIX=icedteatests @@ -155,7 +157,7 @@ itweb-settings.desktop.in $(top_srcdir)/tests # reproducers `D`shortcuts -export DTEST_SERVER=-Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) +export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) export DBROWSERS=-Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA):$(MIDORI):$(EPIPHANY) export REPRODUCERS_DPARAMETERS= $(DTEST_SERVER) $(DJAVAWS_BUILD) $(DBROWSERS) $(BROWSER_TESTS_MODIFICATION) @@ -501,31 +503,31 @@ junit-runner-source-files.txt: find $(JUNIT_RUNNER_SRCDIR) -name '*.java' | sort > $@ -$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt stamps/netx-dist-tests-compile.stamp +$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt stamps/test-extensions-compile.stamp mkdir -p $(JUNIT_RUNNER_DIR) && \ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(JUNIT_RUNNER_DIR) \ - -classpath $(JUNIT_JAR):$(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(TEST_EXTENSIONS_DIR) \ @junit-runner-source-files.txt && \ $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt stamps/junit-jnlp-dist-signed.stamp junit-jnlp-dist-custom.txt - mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) - mkdir -p $(JNLP_TESTS_DIR) + mkdir -p $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) + mkdir -p $(REPRODUCERS_BUILD_DIR) touch $@ junit-jnlp-dist-custom.txt: - cd $(JNLP_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/ ; \ + cd $(REPRODUCERS_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ junit-jnlp-dist-simple.txt: - cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ + cd $(REPRODUCERS_TESTS_SRCDIR)/simple/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ stamps/junit-jnlp-dist-signed.stamp: types=($(SIGNED_REPRODUCERS)) ; \ for which in "$${types[@]}" ; do \ - pushd $(JNLP_TESTS_SRCDIR)/$$which/ ; \ + pushd $(REPRODUCERS_TESTS_SRCDIR)/$$which/ ; \ find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/junit-jnlp-dist-$$which.txt ; \ popd ; \ done ; \ @@ -540,22 +542,22 @@ IFS="$$IFS_BACKUP" ; \ for dir in "$${simpleReproducers[@]}" ; do \ echo "processing: $$dir" ; \ - mkdir -p "$(JNLP_TESTS_DIR)/$$dir" ; \ - if [ -e "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ]; then \ + mkdir -p "$(REPRODUCERS_BUILD_DIR)/$$dir" ; \ + if [ -e "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/srcs/" ]; then \ d=`pwd` ; \ - cd "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \ + cd "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \ srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ - $(BOOT_DIR)/bin/javac -cp $(NETX_DIR)/lib/classes.jar -d "$(JNLP_TESTS_DIR)/$$dir/" $$srcFiles ; \ + $(BOOT_DIR)/bin/javac -cp $(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect -d "$(REPRODUCERS_BUILD_DIR)/$$dir/" $$srcFiles ; \ if [ -n "$$notSrcFiles" ] ; then \ - cp -R --parents $$notSrcFiles "$(JNLP_TESTS_DIR)/$$dir/" ; \ + cp -R --parents $$notSrcFiles "$(REPRODUCERS_BUILD_DIR)/$$dir/" ; \ fi ; \ - cd "$(JNLP_TESTS_DIR)/$$dir/" ; \ + cd "$(REPRODUCERS_BUILD_DIR)/$$dir/" ; \ if [ -f $(META_MANIFEST) ]; \ then \ - $(BOOT_DIR)/bin/jar cfm "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $(META_MANIFEST) * ; \ + $(BOOT_DIR)/bin/jar cfm "$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $(META_MANIFEST) * ; \ else \ - $(BOOT_DIR)/bin/jar cf "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \ + $(BOOT_DIR)/bin/jar cf "$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \ fi; \ cd "$$d" ; \ fi; \ @@ -574,14 +576,14 @@ signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ IFS="$$IFS_BACKUP" ; \ for dir in "$${signedReproducers[@]}" ; do \ - $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $$tcaw ; \ + $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) "$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $$tcaw ; \ done ; \ done ; \ mkdir -p stamps && \ touch $@ stamps/change-dots-to-paths.stamp: stamps/netx-dist-tests-sign-some-reproducers.stamp - pushd $(JNLP_TESTS_SERVER_DEPLOYDIR); \ + pushd $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ types=($(ALL_NONCUSTOM_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ @@ -642,33 +644,34 @@ done ; -rm -rf stamps/netx-dist-tests-import-cert-to-public -netx-dist-tests-source-files.txt: - find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@ +test-extensions-source-files.txt: + find $(TEST_EXTENSIONS_SRCDIR) -name '*.java' | sort > $@ -stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ - stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt - mkdir -p $(JNLP_TESTS_ENGINE_DIR); +stamps/test-extensions-compile.stamp: stamps/junit-jnlp-dist-dirs test-extensions-source-files.txt + mkdir -p $(TEST_EXTENSIONS_DIR); + mkdir -p $(NETX_TEST_DIR); + ln -s $(TEST_EXTENSIONS_DIR) $(TEST_EXTENSIONS_COMPATIBILITY_SYMLINK); $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_DIR) \ + -d $(TEST_EXTENSIONS_DIR) \ -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ - @netx-dist-tests-source-files.txt && \ + @test-extensions-source-files.txt && \ mkdir -p stamps && \ touch $@ -netx-dist-tests-tests-source-files.txt: - find $(JNLP_TESTS_ENGINE_TESTS_SRCDIR) -name '*.java' | sort > $@ +test-extensions-tests-source-files.txt: + find $(TEST_EXTENSIONS_TESTS_SRCDIR) -name '*.java' | sort > $@ -stamps/netx-dist-tests-tests-compile.stamp: stamps/junit-jnlp-dist-dirs netx-dist-tests-tests-source-files.txt stamps/netx-dist-tests-compile.stamp - mkdir -p $(JNLP_TESTS_ENGINE_TESTS_DIR); +stamps/test-extensions-tests-compile.stamp: stamps/junit-jnlp-dist-dirs test-extensions-tests-source-files.txt stamps/test-extensions-compile.stamp + mkdir -p $(TEST_EXTENSIONS_TESTS_DIR); $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_TESTS_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - @netx-dist-tests-tests-source-files.txt && \ + -d $(TEST_EXTENSIONS_TESTS_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) \ + @test-extensions-tests-source-files.txt && \ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ - netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-tests-compile.stamp +stamps/compile-reproducers-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ + test-extensions-source-files.txt stamps/test-extensions-compile.stamp stamps/test-extensions-tests-compile.stamp types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ @@ -676,22 +679,22 @@ IFS="$$IFS_BACKUP" ; \ for dir in "$${simpleReproducers[@]}" ; do \ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ - -d $(JNLP_TESTS_ENGINE_TESTS_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ - "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/"* ; \ + -d $(TEST_EXTENSIONS_TESTS_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) \ + "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/testcases/"* ; \ done ; \ done ; \ mkdir -p stamps && \ touch $@ -stamps/netx-dist-tests-copy-resources.stamp: stamps/junit-jnlp-dist-dirs +stamps/copy-reproducers-resources.stamp: stamps/junit-jnlp-dist-dirs types=($(ALL_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ IFS="$$IFS_BACKUP" ; \ for dir in "$${simpleReproducers[@]}" ; do \ - cp -R "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \ + cp -R "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/ ; \ done ; \ done ; \ mkdir -p stamps && \ @@ -699,7 +702,7 @@ $(REPRODUCERS_CLASS_NAMES): $(REPRODUCERS_CLASS_WHITELIST) whiteListed=`cat $(REPRODUCERS_CLASS_WHITELIST)`; \ - cd $(JNLP_TESTS_ENGINE_TESTS_DIR) ; \ + cd $(TEST_EXTENSIONS_TESTS_DIR) ; \ class_names= ; \ for test in `find -type f` ; do \ class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \ @@ -724,27 +727,27 @@ stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \ javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \ stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ - stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/netx-dist-tests-copy-resources.stamp\ + stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\ $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) stamps/process-custom-reproducers.stamp - cd $(JNLP_TESTS_ENGINE_DIR) ; \ + cd $(TEST_EXTENSIONS_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(JNLP_TESTS_ENGINE_TESTS_DIR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath:$(RUNTIME) CommandLine $$class_names if WITH_XSLTPROC - $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(JNLP_TESTS_ENGINE_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html - $(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html + $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(TEST_EXTENSIONS_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html + $(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html endif touch $@ stamps/process-custom-reproducers.stamp: stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ - stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/netx-dist-tests-copy-resources.stamp\ + stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\ $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) . $(abs_top_srcdir)/NEW_LINE_IFS ; \ customReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \ IFS="$$IFS_BACKUP" ; \ for dir in "$${customReproducers[@]}" ; do \ - pushd $(JNLP_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/$$dir/srcs; \ + pushd $(REPRODUCERS_TESTS_SRCDIR)/$(CUSTOM_REPRODUCERS)/$$dir/srcs; \ $(MAKE) prepare-reproducer ; \ popd ; \ done ; \ @@ -756,7 +759,7 @@ customReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-custom.txt `); \ IFS="$$IFS_BACKUP" ; \ for dir in "$${customReproducers[@]}" ; do \ - pushd $(JNLP_TESTS_SRCDIR)/custom/$$dir/srcs; \ + pushd $(REPRODUCERS_TESTS_SRCDIR)/custom/$$dir/srcs; \ $(MAKE) clean-reproducer ; \ popd ; \ done ; \ @@ -872,11 +875,11 @@ find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@ stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \ - netx-unit-tests-source-files.txt stamps/netx-dist-tests-compile.stamp + netx-unit-tests-source-files.txt stamps/test-extensions-compile.stamp mkdir -p $(NETX_UNIT_TEST_DIR) && \ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(NETX_UNIT_TEST_DIR) \ - -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ + -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) \ @netx-unit-tests-source-files.txt && \ mkdir -p stamps && \ touch $@ @@ -906,7 +909,7 @@ done ; \ cd $(NETX_UNIT_TEST_DIR) ; \ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(JNLP_TESTS_ENGINE_DIR):. \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):. \ $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names if WITH_XSLTPROC $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html @@ -941,7 +944,7 @@ -cp $(BOOT_DIR)/jre/lib/jsse.jar \ -cp $(BOOT_DIR)/jre/lib/resources.jar \ -cp $(RHINO_RUNTIME) \ - -cp $(JNLP_TESTS_ENGINE_DIR) \ + -cp $(TEST_EXTENSIONS_DIR) \ -cp . \ -ix "-org.junit.*" \ -ix "-junit.*" \ @@ -962,7 +965,7 @@ if WITH_EMMA cd $(TESTS_DIR) ; \ for file in $(EMMA_MODIFIED_FILES) ; do \ - mv $(JNLP_TESTS_ENGINE_DIR)/$$file $(JNLP_TESTS_ENGINE_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ + mv $(TEST_EXTENSIONS_DIR)/$$file $(TEST_EXTENSIONS_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ done ;\ echo "backuping javaws and netx.jar in $(DESTDIR)" ; \ netx_backup=$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx_backup.jar ; \ @@ -990,11 +993,11 @@ for dir in "$${simpleReproducers[@]}" ; do \ testcases_srcs[k]="-sp" ; \ k=$$((k+1)) ; \ - testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ + testcases_srcs[k]="$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ k=$$((k+1)) ; \ done ; \ done ; \ - cd $(JNLP_TESTS_ENGINE_DIR) ; \ + cd $(TEST_EXTENSIONS_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ $(BOOT_DIR)/bin/java \ $(EMMA_JAVA_ARGS) \ @@ -1009,24 +1012,24 @@ -cp $(BOOT_DIR)/jre/lib/resources.jar \ -cp $(RHINO_RUNTIME) \ -cp . \ - -cp $(JNLP_TESTS_ENGINE_TESTS_DIR) \ + -cp $(TEST_EXTENSIONS_TESTS_DIR) \ -ix "-org.junit.*" \ -ix "-junit.*" \ CommandLine $$class_names ; \ - mv $(JNLP_TESTS_ENGINE_DIR)/coverage.ec $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec ; \ - mv $(JNLP_TESTS_ENGINE_DIR)/coverage.es $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \ + mv $(TEST_EXTENSIONS_DIR)/coverage.ec $(TEST_EXTENSIONS_DIR)/coverageX.ec ; \ + mv $(TEST_EXTENSIONS_DIR)/coverage.es $(TEST_EXTENSIONS_DIR)/coverageX.es ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -cp $(EMMA_JAR) emma merge \ -in $(TESTS_DIR)/coverage.em \ - -in $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec \ - -in $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \ + -in $(TEST_EXTENSIONS_DIR)/coverageX.ec \ + -in $(TEST_EXTENSIONS_DIR)/coverageX.es ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emma report \ -Dreport.html.out.encoding=UTF-8 \ - -in $(JNLP_TESTS_ENGINE_DIR)/coverage.es \ + -in $(TEST_EXTENSIONS_DIR)/coverage.es \ -sp $(NETX_SRCDIR) \ -sp $(NETX_UNIT_TEST_SRCDIR) \ -sp $(JUNIT_RUNNER_SRCDIR) \ - -sp $(JNLP_TESTS_ENGINE_SRCDIR) \ - -sp $(JNLP_TESTS_ENGINE_TESTS_SRCDIR) \ + -sp $(TEST_EXTENSIONS_SRCDIR) \ + -sp $(TEST_EXTENSIONS_TESTS_SRCDIR) \ -r html \ -r xml \ "$${testcases_srcs[@]}" ; \ @@ -1036,10 +1039,10 @@ mv $$javaws_backup $(DESTDIR)$(bindir)/$(javaws); \ mv $$netx_backup $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ; \ for file in $(EMMA_MODIFIED_FILES) ; do \ - mv $(JNLP_TESTS_ENGINE_DIR)/$$file $(JNLP_TESTS_ENGINE_DIR)/"$$file""$(EMMA_SUFFIX)" ; \ - mv $(JNLP_TESTS_ENGINE_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" $(JNLP_TESTS_ENGINE_DIR)/$$file ; \ + mv $(TEST_EXTENSIONS_DIR)/$$file $(TEST_EXTENSIONS_DIR)/"$$file""$(EMMA_SUFFIX)" ; \ + mv $(TEST_EXTENSIONS_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" $(TEST_EXTENSIONS_DIR)/$$file ; \ done ;\ - rm $(JNLP_TESTS_ENGINE_DIR)/coverage.txt ; + rm $(TEST_EXTENSIONS_DIR)/coverage.txt ; else echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ; exit 5 @@ -1058,13 +1061,13 @@ for dir in "$${simpleReproducers[@]}" ; do \ testcases_srcs[k]="-sp" ; \ k=$$((k+1)) ; \ - testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ + testcases_srcs[k]="$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ k=$$((k+1)) ; \ done ; \ done ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -cp $(EMMA_JAR) emma merge \ -in $(NETX_UNIT_TEST_DIR)/coverage.es \ - -in $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \ + -in $(TEST_EXTENSIONS_DIR)/coverage.es ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emma report \ -Dreport.html.out.encoding=UTF-8 \ -in $(TESTS_DIR)/coverage.es \ @@ -1072,8 +1075,8 @@ -sp $(NETX_SRCDIR) \ -sp $(NETX_UNIT_TEST_SRCDIR) \ -sp $(JUNIT_RUNNER_SRCDIR) \ - -sp $(JNLP_TESTS_ENGINE_SRCDIR) \ - -sp $(JNLP_TESTS_ENGINE_TESTS_SRCDIR) \ + -sp $(TEST_EXTENSIONS_SRCDIR) \ + -sp $(TEST_EXTENSIONS_TESTS_SRCDIR) \ "$${testcases_srcs[@]}" \ -r html \ -r xml ; @@ -1105,17 +1108,19 @@ rm -f $(TESTS_DIR)/*.html clean-netx-dist-tests: clean_tests_reports netx-dist-tests-remove-cert-from-public clean-custom-reproducers - rm -f netx-dist-tests-source-files.txt - rm -rf $(JNLP_TESTS_ENGINE_TESTS_DIR) - rm -rf $(JNLP_TESTS_DIR) - rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) - rm -rf $(JNLP_TESTS_ENGINE_DIR) + rm -f test-extensions-source-files.txt + rm -f test-extensions-tests-source-files.txt + rm -f $(TEST_EXTENSIONS_COMPATIBILITY_SYMLINK) + rm -rf $(TEST_EXTENSIONS_TESTS_DIR) + rm -rf $(REPRODUCERS_BUILD_DIR) + rm -rf $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) + rm -rf $(TEST_EXTENSIONS_DIR) rm -f stamps/junit-jnlp-dist-dirs - rm -f stamps/netx-dist-tests-compile.stamp - rm -f stamps/netx-dist-tests-tests-compile.stamp + rm -f stamps/test-extensions-compile.stamp + rm -f stamps/test-extensions-tests-compile.stamp rm -f stamps/netx-dist-tests-prepare-reproducers.stamp - rm -f stamps/netx-dist-tests-compile-testcases.stamp - rm -f stamps/netx-dist-tests-copy-resources.stamp + rm -f stamps/compile-reproducers-testcases.stamp + rm -f stamps/copy-reproducers-resources.stamp rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp rm -f stamps/change-dots-to-paths.stamp rm -f junit-jnlp-dist-simple.txt @@ -1145,10 +1150,10 @@ clean-reproducers-test-code-coverage: if [ -e stamps/run-reproducers-test-code-coverage.stamp ]; then \ - rm -rf $(JNLP_TESTS_ENGINE_DIR)/coverage ; \ - rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.xml ; \ - rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \ - rm -f $(JNLP_TESTS_ENGINE_DIR)/tests-output_withEmma.xml ; \ + rm -rf $(TEST_EXTENSIONS_DIR)/coverage ; \ + rm -f $(TEST_EXTENSIONS_DIR)/coverage.xml ; \ + rm -f $(TEST_EXTENSIONS_DIR)/coverage.es ; \ + rm -f $(TEST_EXTENSIONS_DIR)/tests-output_withEmma.xml ; \ rm -f stamps/run-reproducers-test-code-coverage.stamp ; \ fi diff -r 11c61503e614 -r b8bd24f0aad1 NEWS --- a/NEWS Mon Sep 17 16:40:25 2012 -0400 +++ b/NEWS Wed Nov 07 13:06:52 2012 -0500 @@ -8,7 +8,13 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.3.1 (2012-XX-XX): +New in release 1.3.2 (2012-XX-XX): + +New in release 1.3.1 (2012-11-07): From dbhole at redhat.com Wed Nov 7 10:16:00 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 7 Nov 2012 13:16:00 -0500 Subject: IcedTea-Web 1.1.7, 1.2.2 and 1.3.1 [security releases] released! Message-ID: <20121107181559.GC12421@redhat.com> A potential heap buffer overflow issue has been found and fixed in IcedTea-Web. It is recommended that all IcedTea-Web users update to this new version. We would like to thank Arthur Gerkis for reporting this issue. The fixed issue is: RH869040, CVE-2012-4540: Heap-based buffer overflow after triggering event attached to applet Other fixes are listed in the NEWS files: 1.1.7 NEWS file [http://icedtea.classpath.org/hg/release/icedtea-web-1.1/file/d759ec560073/NEWS] 1.2.2 NEWS file [http://icedtea.classpath.org/hg/release/icedtea-web-1.2/file/2d21b045ef60/NEWS] 1.3.1 NEWS file [http://icedtea.classpath.org/hg/release/icedtea-web-1.3/file/085acbc2a34c/NEWS] Please note that this will be the last 1.1.x release as we are not aware of any distribution currently using 1.1. The following people helped with these releases: Adam Domurad Omair Majid Saad Mohammad Jiri Vanek Checksums: 709ef1880e259d0d0661d57323448e03524153fe3ade21366d55aff5a49608bb icedtea-web-1.1.7.tar.gz e9e3c3dc413b01b965c0fc7fdc73d89683ffe1422ca7fd218c98debab9bdb675 icedtea-web-1.2.2.tar.gz 20c7fd1eef6c79cbc6478bb01236a3eb2f0af6184eaed24baca59a3c37eafb56 icedtea-web-1.3.1.tar.gz Download links: http://icedtea.classpath.org/download/source/icedtea-web-1.1.7.tar.gz http://icedtea.classpath.org/download/source/icedtea-web-1.2.2.tar.gz http://icedtea.classpath.org/download/source/icedtea-web-1.3.1.tar.gz After extracting, it can be built as per instructions here: http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web Cheers, Deepak From andrew at icedtea.classpath.org Wed Nov 7 11:32:36 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 07 Nov 2012 19:32:36 +0000 Subject: /hg/icedtea7: Bring in unlimited crypto policy, SystemTap and NS... Message-ID: changeset 91cb89e3e986 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=91cb89e3e986 author: andrew date: Wed Nov 07 14:31:11 2012 -0500 Bring in unlimited crypto policy, SystemTap and NSS multiple initialisation fixes. 2012-11-07 Andrew John Hughes * patches/systemtap.patch: Removed. * INSTALL: Update SystemTap documentation. * Makefile.am: (JDK_CHANGESET): Updated to tip. (JDK_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Remove systemtap.patch (ICEDTEA_ENV): Set UNLIMITED_CRYPTO. * README: Update SystemTap documentation. * configure.ac: Remove --enable-systemtap option. Only issue a warning and not set ENABLE_SYSTEMTAP if sdt.h is not found or is outdated. * hotspot.map: Update default HotSpot to tip. * nss.cfg.in: Set handleStartupErrors to ignoreMultipleInitialisation so that our PKCS11 provider configuration is silently dropped if the user has already configured it. diffstat: ChangeLog | 21 +++++++ INSTALL | 8 +- Makefile.am | 8 +- README | 13 ++-- configure.ac | 47 ++++++--------- hotspot.map | 2 +- nss.cfg.in | 1 + patches/systemtap.patch | 140 ------------------------------------------------ 8 files changed, 55 insertions(+), 185 deletions(-) diffs (364 lines): diff -r d51e4b4fe8ab -r 91cb89e3e986 ChangeLog --- a/ChangeLog Thu Oct 25 15:35:14 2012 +0100 +++ b/ChangeLog Wed Nov 07 14:31:11 2012 -0500 @@ -1,3 +1,24 @@ +2012-11-07 Andrew John Hughes + + * patches/systemtap.patch: Removed. + * INSTALL: Update SystemTap documentation. + * Makefile.am: + (JDK_CHANGESET): Updated to tip. + (JDK_SHA256SUM): Likewise. + (ICEDTEA_PATCHES): Remove systemtap.patch + (ICEDTEA_ENV): Set UNLIMITED_CRYPTO. + * README: Update SystemTap documentation. + * configure.ac: + Remove --enable-systemtap option. Only + issue a warning and not set + ENABLE_SYSTEMTAP if sdt.h is not found + or is outdated. + * hotspot.map: Update default HotSpot to tip. + * nss.cfg.in: Set handleStartupErrors + to ignoreMultipleInitialisation so that our + PKCS11 provider configuration is silently + dropped if the user has already configured it. + 2012-10-24 Lukas Berk * Makefile.am: diff -r d51e4b4fe8ab -r 91cb89e3e986 INSTALL --- a/INSTALL Thu Oct 25 15:35:14 2012 +0100 +++ b/INSTALL Wed Nov 07 14:31:11 2012 -0500 @@ -34,7 +34,7 @@ libffi (for --enable-zero or on archs other than x86/x86_64/sparc) pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) LLVM 2.5 or later (for --enable-shark) -systemtap-sdl-devel >= 0.9.5 (for --enable-systemtap, Java method tracing requires systemtap >= 0.9.9) +systemtap-sdl-devel >= 0.9.5 (Java method tracing requires systemtap >= 0.9.9) See ./configure --help if you need to override the defaults. @@ -231,16 +231,14 @@ ========= IcedTea7 includes work to allow the existing DTrace probes included in -OpenJDK to be used with SystemTap. This is enabled using the ---enable-systemtap option, and requires version 0.9.5 or later (0.9.9 +OpenJDK to be used with SystemTap. This requires version 0.9.5 or later (0.9.9 or later if you want Java method tracing). The tapset needs to know -the final install location of the JDK, so the --with-abs-install-dir +the final install location of the JDK, so the --with-abs-install-dir option should also be used to specify this. If not set, it defaults to the in-tree location of openjdk.build/j2sdk-image and requires manual changes to tapset/hotspot.stp to work from elsewhere. For example, if you plan to install the resulting build in /usr/lib/jvm/java-1.6.0-openjdk, then you should specify ---enable-systemtap --with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk. NSS Security Provider diff -r d51e4b4fe8ab -r 91cb89e3e986 Makefile.am --- a/Makefile.am Thu Oct 25 15:35:14 2012 +0100 +++ b/Makefile.am Wed Nov 07 14:31:11 2012 -0500 @@ -7,14 +7,14 @@ CORBA_CHANGESET = 1285389d6969 JAXP_CHANGESET = 8e9679984e79 JAXWS_CHANGESET = bbd4ecb4bbcb -JDK_CHANGESET = 6ced7fea7614 +JDK_CHANGESET = e9c857dcb964 LANGTOOLS_CHANGESET = 79e875e2dca3 OPENJDK_CHANGESET = 0fa8b0b4ca26 CORBA_SHA256SUM = 880683c950e833a792d4c36059af4f8a4a50dc8fb9d773831bd9cd4578f2f2f7 JAXP_SHA256SUM = ead7718f52579c1c096ed7e853582b2622ad7e64afbf9d360eae6af55de58377 JAXWS_SHA256SUM = 78d4e79dc8b08bfd5940f02990e9664c296242dfcef4b5e820f93744e98e7e2d -JDK_SHA256SUM = f720f75748ed5f9c4084a55be9465922f6a943234351e20567308cbfa02f0eca +JDK_SHA256SUM = d47ae7848f09723302f18f40987f7419f98e0470131ed96f77377719bbe6e03e LANGTOOLS_SHA256SUM = 42444bf6a314d1914013b826d8137d6edf9843c14011cec5a4761289d1846a3d OPENJDK_SHA256SUM = acab74106ee2670962b048cd4f1b7cfbb0f55340477cd625b7cb40c6bc99036c @@ -287,7 +287,6 @@ if ENABLE_SYSTEMTAP ICEDTEA_PATCHES += \ - patches/systemtap.patch \ patches/systemtap_gc.patch endif @@ -473,7 +472,8 @@ CUPS_CFLAGS="${CUPS_CFLAGS}" \ STRIP_POLICY=no_strip \ JAVAC_WARNINGS_FATAL="$(WERROR_STATUS)" \ - COMPILER_WARNINGS_FATAL="$(WERROR_STATUS)" + COMPILER_WARNINGS_FATAL="$(WERROR_STATUS)" \ + UNLIMITED_CRYPTO="true" if ENABLE_CACAO ICEDTEA_ENV += \ diff -r d51e4b4fe8ab -r 91cb89e3e986 README --- a/README Thu Oct 25 15:35:14 2012 +0100 +++ b/README Wed Nov 07 14:31:11 2012 -0500 @@ -91,15 +91,14 @@ SystemTap Support ================= -The --enable-systemtap configure option will try to find the systemtap -runtime development files (sdt.h and the dtrace python script wrapper), -enable compilation of static markers in the hotspot code and install a -systemtap hotspot.stp tapset for easy tracing with systemtap's stap -utility. The probes are documented in tapset/hotspot.stp. +configure will try to find the systemtap runtime development files (sdt.h and +the dtrace python script wrapper), enable compilation of static markers in the +hotspot code and install a systemtap hotspot.stp tapset for easy tracing with +systemtap's stap utility. The probes are documented in tapset/hotspot.stp. -This requires the systemtap-sdt-devel package as build dependency and +This requires the systemtap-sdt-devel package as a build dependency and optionally the systemtap package at run time when the user want to use -the tapset to trace java programs. The probes have zero overhead when +the tapset to trace Java programs. The probes have zero overhead when not used and can safely be compiled in even when not used at runtime. Support for Additional VMs diff -r d51e4b4fe8ab -r 91cb89e3e986 configure.ac --- a/configure.ac Thu Oct 25 15:35:14 2012 +0100 +++ b/configure.ac Wed Nov 07 14:31:11 2012 -0500 @@ -75,14 +75,6 @@ AM_CONDITIONAL([ENABLE_DOCS], [test x$ENABLE_DOCS = xyes]) AC_MSG_RESULT(${ENABLE_DOCS}) -AC_MSG_CHECKING([whether to include SystemTap tracing support]) -AC_ARG_ENABLE([systemtap], - [AS_HELP_STRING([--enable-systemtap], - [Enable inclusion of SystemTap trace support])], - [ENABLE_SYSTEMTAP="${enableval}"], [ENABLE_SYSTEMTAP='no']) -AM_CONDITIONAL([ENABLE_SYSTEMTAP], [test x$ENABLE_SYSTEMTAP = xyes]) -AC_MSG_RESULT(${ENABLE_SYSTEMTAP}) - IT_LOCATE_NSS IT_GET_PKGVERSION IT_GET_LSB_DATA @@ -246,14 +238,13 @@ fi fi -if test "x${ENABLE_SYSTEMTAP}" = xyes; then AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUND='yes'], [SDT_H_FOUND='no'; - AC_MSG_ERROR([systemtap support needs sys/sdt.h header])]) + AC_MSG_WARN([systemtap support needs sys/sdt.h header])]) - AC_MSG_CHECKING([working sys/sdt.h and g++ support]) - AC_LANG_PUSH([C++]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +AC_MSG_CHECKING([working sys/sdt.h and g++ support]) +AC_LANG_PUSH([C++]) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include class ProbeClass { @@ -284,11 +275,12 @@ DTRACE_PROBE1(_test_, call, i); ProbeClass inst = ProbeClass(i, "call"); inst.method(24); -]])], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([systemtap sdt.h or g++ too old])]) - AC_LANG_POP([C++]) +]])], [AC_MSG_RESULT([yes])], [SDT_H_FOUND='no'; AC_MSG_WARN([systemtap sdt.h or g++ too old])]) +AC_LANG_POP([C++]) +AM_CONDITIONAL([ENABLE_SYSTEMTAP], [test x$SDT_H_FOUND = xyes]) - AC_MSG_CHECKING([for absolute java home install dir]) - AC_ARG_WITH([abs-install-dir], +AC_MSG_CHECKING([for absolute java home install dir]) +AC_ARG_WITH([abs-install-dir], [AS_HELP_STRING([--with-abs-install-dir], [The absolute path where the j2sdk-image dir will be installed])], [if test "x${withval}" = x; then @@ -296,17 +288,16 @@ else ABS_JAVA_HOME_DIR="${withval}" fi], [ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image"]) - AC_MSG_RESULT([${ABS_JAVA_HOME_DIR}]) - ABS_CLIENT_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/client/libjvm.so" - ABS_SERVER_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/server/libjvm.so" - AC_SUBST(ABS_JAVA_HOME_DIR) - AC_SUBST(ABS_CLIENT_LIBJVM_SO) - AC_SUBST(ABS_SERVER_LIBJVM_SO) - AC_CONFIG_FILES([tapset/hotspot.stp]) - AC_CONFIG_FILES([tapset/hotspot_jni.stp]) - AC_CONFIG_FILES([tapset/jstack.stp]) - AC_CONFIG_FILES([tapset/hotspot_gc.stp]) -fi +AC_MSG_RESULT([${ABS_JAVA_HOME_DIR}]) +ABS_CLIENT_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/client/libjvm.so" +ABS_SERVER_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/server/libjvm.so" +AC_SUBST(ABS_JAVA_HOME_DIR) +AC_SUBST(ABS_CLIENT_LIBJVM_SO) +AC_SUBST(ABS_SERVER_LIBJVM_SO) +AC_CONFIG_FILES([tapset/hotspot.stp]) +AC_CONFIG_FILES([tapset/hotspot_jni.stp]) +AC_CONFIG_FILES([tapset/jstack.stp]) +AC_CONFIG_FILES([tapset/hotspot_gc.stp]) dnl Check for libXtst headers and libraries. PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no]) diff -r d51e4b4fe8ab -r 91cb89e3e986 hotspot.map --- a/hotspot.map Thu Oct 25 15:35:14 2012 +0100 +++ b/hotspot.map Wed Nov 07 14:31:11 2012 -0500 @@ -1,3 +1,3 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 8bc1fb0ebec0 33ff16981245bd328bffb371fc323cd074453d22a77081afa0767d13e4a2b4ff +default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 807df5d59cd5 f1059d749d50cd73c034289517c26d6f0012bbc3d49c9e364af61e50eea3aee0 zero http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot a456d0771ba0 09a64fca0beff0759ef1b461d63ed6a00e43032972781bb3a55e49d8b93f67d0 diff -r d51e4b4fe8ab -r 91cb89e3e986 nss.cfg.in --- a/nss.cfg.in Thu Oct 25 15:35:14 2012 +0100 +++ b/nss.cfg.in Wed Nov 07 14:31:11 2012 -0500 @@ -2,3 +2,4 @@ nssLibraryDirectory = @NSS_LIBDIR@ nssDbMode = noDb attributes = compatibility +handleStartupErrors = ignoreMultipleInitialisation diff -r d51e4b4fe8ab -r 91cb89e3e986 patches/systemtap.patch --- a/patches/systemtap.patch Thu Oct 25 15:35:14 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/dtrace.make openjdk/hotspot/make/linux/makefiles/dtrace.make ---- openjdk.orig/hotspot/make/linux/makefiles/dtrace.make 2012-02-22 14:54:31.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/dtrace.make 2012-03-18 18:54:13.482968139 +0000 -@@ -25,3 +25,7 @@ - # Linux does not build jvm_db - LIBJVM_DB = - -+# But it does have a Systemtap dtrace compatible sys/sdt.h -+CFLAGS += -DDTRACE_ENABLED -+ -+# It doesn't support HAVE_DTRACE_H though. -diff -Nru openjdk.orig/hotspot/src/share/vm/prims/jni.cpp openjdk/hotspot/src/share/vm/prims/jni.cpp ---- openjdk.orig/hotspot/src/share/vm/prims/jni.cpp 2012-02-22 14:54:31.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/prims/jni.cpp 2012-03-18 18:54:13.502968466 +0000 -@@ -2818,10 +2818,7 @@ - JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ - JNIWrapper("Set" XSTR(Result) "Field"); \ - \ -- HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ -- ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ -- HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ -- ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ -+ FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID, value),DTRACE_PROBE3(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID)); \ - \ - oop o = JNIHandles::resolve_non_null(obj); \ - klassOop k = o->klass(); \ -@@ -3128,10 +3125,7 @@ - \ - JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ - JNIWrapper("SetStatic" XSTR(Result) "Field"); \ -- HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ -- ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ -- HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ -- ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ -+ FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID, value),DTRACE_PROBE3(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID)); \ - \ - JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ - assert(id->is_static_field_id(), "invalid static field id"); \ ---- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp 2012-02-22 15:54:31.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp 2012-03-27 13:12:15.857491730 +0200 -@@ -1,5 +1,6 @@ - /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2009, 2012 Red Hat, Inc. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it -@@ -32,12 +33,15 @@ - #define DTRACE_ONLY(x) x - #define NOT_DTRACE(x) - -+#if defined(SOLARIS) - // Work around dtrace tail call bug 6672627 until it is fixed in solaris 10. - #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ - do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) - --#if defined(SOLARIS) - #define USDT1 1 -+#elif defined(LINUX) -+#define USDT1 1 -+#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() - #elif defined(__APPLE__) - #define USDT2 1 - #include -@@ -63,6 +67,11 @@ - #define DTRACE_PROBE3(a,b,c,d,e) {;} - #define DTRACE_PROBE4(a,b,c,d,e,f) {;} - #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} -+#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;} -+#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;} -+#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;} -+#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;} -+#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;} - - #else /* USDT2 */ - -@@ -76,10 +85,19 @@ - #define HS_DTRACE_PROBE_FN(provider,name)\ - __dtrace_##provider##___##name - -+#ifdef SOLARIS -+// Solaris dtrace needs actual extern function decls. - #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \ - DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args) - #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \ - DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args) -+#elif defined(LINUX) -+// Systemtap dtrace compatible probes on GNU/Linux don't. -+#define HS_DTRACE_PROBE_DECL_N(provider,name,args) -+#define HS_DTRACE_PROBE_CDECL_N(provider,name,args) -+#else -+#error "USDT1 enabled for unknown os" -+#endif - - /* Dtrace probe declarations */ - #define HS_DTRACE_PROBE_DECL(provider,name) \ -@@ -118,6 +136,8 @@ - uintptr_t,uintptr_t,uintptr_t)) - - /* Dtrace probe definitions */ -+#if defined(SOLARIS) -+// Solaris dtrace uses actual function calls. - #define HS_DTRACE_PROBE_N(provider,name, args) \ - DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) - -@@ -153,6 +173,34 @@ - HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ - (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ - (uintptr_t)a8,(uintptr_t)a9)) -+#elif defined(LINUX) -+// Systemtap dtrace compatible probes on GNU/Linux use direct macros. -+#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name) -+#define HS_DTRACE_PROBE0(provider,name)\ -+ DTRACE_PROBE(provider,name) -+#define HS_DTRACE_PROBE1(provider,name,a0)\ -+ DTRACE_PROBE1(provider,name,a0) -+#define HS_DTRACE_PROBE2(provider,name,a0,a1)\ -+ DTRACE_PROBE2(provider,name,a0,a1) -+#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\ -+ DTRACE_PROBE3(provider,name,a0,a1,a2) -+#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\ -+ DTRACE_PROBE4(provider,name,a0,a1,a2,a3) -+#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\ -+ DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4) -+#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\ -+ DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5) -+#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\ -+ DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6) -+#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\ -+ DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7) -+#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ -+ DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) -+#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ -+ DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) -+#else -+#error "USDT1 enabled for unknown os" -+#endif - - #endif /* !USDT2 */ - From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 11:57:49 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 19:57:49 +0000 Subject: [Bug 1099] NetBeans crashes making a php project from source In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1099 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/6acafdca/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 11:58:21 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 19:58:21 +0000 Subject: [Bug 1092] After choosing the eclipse workspace, eclipse crashes (doesn't even start) -> error.log In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1092 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |gnu.andrew at redhat.com Resolution|--- |INVALID --- Comment #1 from Andrew John Hughes --- This is a crash in native code, not the JDK. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/af7e4351/attachment.html From ahughes at redhat.com Wed Nov 7 12:07:10 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 7 Nov 2012 15:07:10 -0500 (EST) Subject: Latest IcedTea7 forest sync In-Reply-To: <1786508744.6762468.1352316987621.JavaMail.root@redhat.com> Message-ID: <798387954.6774870.1352318830268.JavaMail.root@redhat.com> This patch: http://icedtea.classpath.org/hg/icedtea7/rev/91cb89e3e986 brings in a number of changes from the IcedTea7 forest which probably need a little explanation and/or warning. There are three changes coming in, one new and two the upstreaming of existing fixes. 1. Enabling the unlimited crypto policy We've had a patch in IcedTea for a long time which deleted a number of crypto classes related to enforcing a policy on what algorithms/keysizes could be used. While this works as a quick solution, it's obviously not going to be acceptable upstream. The default OpenJDK build has always installed a limited policy, based on export restrictions. There was an option in the OpenJDK makefiles for an unlimited policy, but there was no way of enabling it. With this patch: http://hg.openjdk.java.net/icedtea/jdk7/jdk/rev/1406789608b7 we added a UNLIMITED_CRYPTO make flag to allow the unlimited policy to be enabled. This supersedes the previous IcedTea patch. The last merge restored the deleted classes (it made sense to do it then as one was altered upstream) and, with this patch and UNLIMITED_CRYPTO set in Makefile.am, the unlimited policy should now be installed. The attached Java file can test a build is using unlimited crypto and I suggest that those packaging IcedTea run these as part of their usual testing procedures. 2. Addition of Mark Wielaard's upstream version of the SystemTap support patch This patch: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/75982791ddb6 was finally added upstream. I've backported this to the IcedTea7 forest and removed systemtap.patch in IcedTea7. The testcase mentioned by Mark here: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-November/020744.html and Lukas' patch: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-October/020628.html also needed to be added, but both should be trivial. Before we do this, I'd like to know that we haven't broken SystemTap support in the process, so could someone please verify that everything is still working as it should with IcedTea7 HEAD? :-) Note that the --enable-systemtap option is now gone. You always get SystemTap support if sdt.h is present and up-to-date enough. configure will warn if this isn't the case, but no longer fail (so those who don't want SystemTap support can still build). We can consider having an option which makes the failure fatal again if people want it. 3. Allowing default NSS provider to fail silently when the user configures it We've had a long standing bug: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=473 whereby, if the user initialises the PKCS11 provider, it can conflict with the configuration added to the JDK by --enable-nss. With this patch, http://icedtea.classpath.org/hg/icedtea7-forest/jdk/rev/e9c857dcb964 and the addition of handleStartupErrors = ignoreMultipleInitialisation to nss.cfg.in, the provider in the JDK will now silently fail to load if the user configures PKCS11, rather than crashing the VM. Hope that helps, Bug reports welcome as always. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 13:13:41 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 21:13:41 +0000 Subject: [Bug 1197] ResourceManager.getApplicationResources() does not close InputStreams In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1197 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1139 --- Comment #3 from Andrew John Hughes --- Make dependent on upstreaming bug. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/93309569/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 13:19:07 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 21:19:07 +0000 Subject: [Bug 1197] ResourceManager.getApplicationResources() does not close InputStreams In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1197 --- Comment #4 from Andrew John Hughes --- Pushed to OpenJDK8: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f51943263267 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/ac8ba04e/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 13:19:49 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 21:19:49 +0000 Subject: [Bug 1197] ResourceManager.getApplicationResources() does not close InputStreams In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1197 --- Comment #5 from Andrew John Hughes --- It would be helpful if you could do similar testing on a version using try-with-resources as Oracle would prefer it to use this. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/c752db42/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 13:38:56 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 21:38:56 +0000 Subject: [Bug 1209] New: Upstream SysrtemTap work Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1209 Priority: P3 Bug ID: 1209 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: Upstream SysrtemTap work Severity: normal Classification: Unclassified OS: Linux Reporter: gnu.andrew at redhat.com Hardware: x86_64 Status: NEW Version: 7-hg Component: IcedTea Product: IcedTea SystemTap support needs to go upstream. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/3ca0a447/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 13:39:07 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 21:39:07 +0000 Subject: [Bug 1209] Upstream SystemTap work In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1209 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Upstream SysrtemTap work |Upstream SystemTap work -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/c75657eb/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 13:41:26 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 21:41:26 +0000 Subject: [Bug 1209] Upstream SystemTap work In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1209 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Component|IcedTea |SystemTap Blocks| |1139 Assignee|gnu.andrew at redhat.com |mark at klomp.org Target Milestone|--- |2.4 --- Comment #1 from Andrew John Hughes --- Main patch is in OpenJDK8: http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/75982791ddb6 Lukas' GC patch also needs to upstream and in the IcedTea7 forest. The forest also needs the testcase. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/65592ebb/attachment.html From smohammad at redhat.com Wed Nov 7 13:53:28 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Wed, 07 Nov 2012 16:53:28 -0500 Subject: [RFC][icedtea-web]: Reproducer for DownloadService In-Reply-To: <5091291D.8090503@redhat.com> References: <50609FA3.8040701@redhat.com> <1349124118.17801.108.camel@adomurad-desktop> <50772C64.7060808@redhat.com> <50902286.3000605@redhat.com> <5091291D.8090503@redhat.com> Message-ID: <509AD858.1060709@redhat.com> Hi Adam, As we spoke earlier after my discussion with Jiri, a much better approach to test DownloadService is to have each test method execute the reproducer. Although this does take much longer for the tests to be completed, it avoid dependencies from other tests and helps when identifying the problem if there is a failure. The updated patch is attached. The only change from the previous patch is in: tests/reproducers/signed/DownloadService/testcases/DownloadServiceTest.java Thanks. :) ======================================================================== CHANGELOG ======================================================================== 2012-10-11 Saad Mohammad Added reproducer for DownloadService. * tests/reproducers/signed/DownloadService/resources/DownloadService.jnlp: Launching jnlp file that contains extension jnlp and jars marked with part names. * tests/reproducers/signed/DownloadService/resources/DownloadServiceExtension.jnlp: DownloadService extension jnlp file with jars marked with part names. * tests/reproducers/signed/DownloadService/srcs/DownloadServiceRunner.java: A simple class that uses DownloadService to complete tasks and outputs the results. * tests/reproducers/signed/DownloadService/testcases/DownloadServiceTest.java: Testcase for DownloadService. -- Cheers, Saad Mohammad -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducers_ds1-1.patch Type: text/x-patch Size: 42394 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/17083ba4/reproducers_ds1-1.patch From bugzilla-daemon at icedtea.classpath.org Wed Nov 7 15:45:39 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 07 Nov 2012 23:45:39 +0000 Subject: [Bug 1210] New: XMLStreamException three-arg constructor does not pass root cause to super-constructor Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1210 Priority: P3 Bug ID: 1210 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: XMLStreamException three-arg constructor does not pass root cause to super-constructor Severity: normal Classification: Unclassified OS: Linux Reporter: jlivings at redhat.com Hardware: x86_64 Status: NEW Version: 7-hg Component: IcedTea Product: IcedTea Created attachment 791 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=791&action=edit patch Of the javax.xml.stream.XMLStreamException constructors which take a Throwable, the one-argument and two-argument variants pass that to the super constructor so it gets set as the initial cause. The three-argument constructor variant does not do that and I believe it should as well. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121107/3d7407c6/attachment.html From mjw at redhat.com Thu Nov 8 02:38:43 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 08 Nov 2012 11:38:43 +0100 Subject: Latest IcedTea7 forest sync In-Reply-To: <798387954.6774870.1352318830268.JavaMail.root@redhat.com> References: <798387954.6774870.1352318830268.JavaMail.root@redhat.com> Message-ID: <1352371123.2634.24.camel@springer.wildebeest.org> On Wed, 2012-11-07 at 15:07 -0500, Andrew Hughes wrote: > I'd like to know that we haven't broken SystemTap support in the process, > so could someone please verify that everything is still working as it should > with IcedTea7 HEAD? :-) Thanks for the integration and yes they do work fine. Jon wrote jstaptest.pl which is ran with make check (check-tapset target, which tests both the tapsets and jstack support, both of which rely on the SDT markers being there). make check-tapset shows one odd failure, but except for that odditiy everything seems fine: $ make check-tapset /home/mark/src/icedtea7/test/tapset/jstaptest.pl \ -B /home/mark/build/icedtea7-obj/openjdk.build -A amd64 \ -S /home/mark/src/icedtea7/test/tapset \ -a test/check-stap.log -p Compiling tests. Check whether we have enough privs to run systemtap script... OK Testing if systemtap can match probes. .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Testing if detected probes work as expected. This may take a while... ............................................................................................................................................................................................................................................ Probe hotspot.jni.FatalError failed. ...................................................................................................................................................................................................................................................................... Working probes: 497 Broken probes: 1 Some tests did not work as expected. See file test/check-stap.log for details. The hotspot.jni.FatalError probe triggers right before a JNI using program tells the JVM to abort(). Inspecting the failing testcase by hand shows it does trigger, but instead of printing the message, it prints FatalErrormsg=. Which is odd, because when you print $arg2 it correctly shows the address of the msg (0x40a182 in my case) and running the same under gdb shows that is correct: #3 0x00007ffff7648aaa in jni_FatalError (env=, msg=0x40a182 "Intentional Crash: Ignore.") at /usr/local/build/icedtea7-obj/openjdk/hotspot/src/share/vm/prims/jni.cpp:870 870 os::abort(); // Dump core and abort (gdb) print msg $1 = 0x40a182 "Intentional Crash: Ignore." So, this is something in the stap runtime (maybe it really cannot read the user string at that point for some odd reason). Anyway, it isn't an issue with the patch. Everything else works nicely and this is a somewhat odd SDT marker probe anyway because the very next thing that will happen is the abort() call. I'll see if I can trick Jon into setting up his buildbot fedora testers to have full systemtap privileges so that these tests are automagically ran by his buildslaves. Cheers, Mark From helpcrypto at gmail.com Thu Nov 8 03:58:07 2012 From: helpcrypto at gmail.com (helpcrypto helpcrypto) Date: Thu, 8 Nov 2012 12:58:07 +0100 Subject: Latest IcedTea7 forest sync In-Reply-To: <798387954.6774870.1352318830268.JavaMail.root@redhat.com> References: <1786508744.6762468.1352316987621.JavaMail.root@redhat.com> <798387954.6774870.1352318830268.JavaMail.root@redhat.com> Message-ID: > 3. Allowing default NSS provider to fail silently when the user configures it > > We've had a long standing bug: > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=473 > > whereby, if the user initialises the PKCS11 provider, it can conflict with the configuration > added to the JDK by --enable-nss. With this patch, > > http://icedtea.classpath.org/hg/icedtea7-forest/jdk/rev/e9c857dcb964 > > and the addition of handleStartupErrors = ignoreMultipleInitialisation to nss.cfg.in, the provider > in the JDK will now silently fail to load if the user configures PKCS11, rather than crashing the VM. I'm not sure if this could affect me(us), but I reply here for the record. We are using certificates for digital signature, sometimes through PKCS#11 (SunPkcs11 and PKCS11 classes). In our code, we invoke: provider = new SunPKCS11(new ByteArrayInputStream(config.getBytes())); for softoken (ie: software pkcs#11 which contains installed certificates, which is part of NSS). Could this affect us in any way? From adomurad at redhat.com Thu Nov 8 05:51:36 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 08 Nov 2012 08:51:36 -0500 Subject: [RFC][icedtea-web]: Reproducer for DownloadService In-Reply-To: <509AD858.1060709@redhat.com> References: <50609FA3.8040701@redhat.com> <1349124118.17801.108.camel@adomurad-desktop> <50772C64.7060808@redhat.com> <50902286.3000605@redhat.com> <5091291D.8090503@redhat.com> <509AD858.1060709@redhat.com> Message-ID: <509BB8E8.2000302@redhat.com> On 11/07/2012 04:53 PM, Saad Mohammad wrote: > Hi Adam, > > As we spoke earlier after my discussion with Jiri, a much better approach to > test DownloadService is to have each test method execute the reproducer. > Although this does take much longer for the tests to be completed, it avoid > dependencies from other tests and helps when identifying the problem if there is > a failure. > > The updated patch is attached. The only change from the previous patch is in: > tests/reproducers/signed/DownloadService/testcases/DownloadServiceTest.java > > Thanks. :) > ======================================================================== > CHANGELOG > ======================================================================== > 2012-10-11 Saad Mohammad > > Added reproducer for DownloadService. > * tests/reproducers/signed/DownloadService/resources/DownloadService.jnlp: > Launching jnlp file that contains extension jnlp and jars marked with part > names. > * > tests/reproducers/signed/DownloadService/resources/DownloadServiceExtension.jnlp: > DownloadService extension jnlp file with jars marked with part names. > * tests/reproducers/signed/DownloadService/srcs/DownloadServiceRunner.java: > A simple class that uses DownloadService to complete tasks and outputs the > results. > * tests/reproducers/signed/DownloadService/testcases/DownloadServiceTest.java: > Testcase for DownloadService. > OK for HEAD. - Adam From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 07:21:23 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 15:21:23 +0000 Subject: [Bug 1211] New: "always trust content from this provider" NOT to be checked as default Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 Priority: P3 Bug ID: 1211 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: "always trust content from this provider" NOT to be checked as default Severity: normal Classification: Unclassified OS: Linux Reporter: icedtea.classpath.org at henning.wangerin.dk Hardware: x86 Status: NEW Version: unspecified Component: Plugin Product: IcedTea-Web Hi. Is there a way to force the "always trust content from this provider" NOT to be checked as default. I do NOT want to trust the signers by default, but might opt-in to certain signers. In details the danish digital signature-thing requieres java :-( Some malware has tried to popup a form to steal the login-info from the user. I prevent this by willingly NOT accepting to trust the provider. That way I'm forced to accept it when I want to use the applet, someone trying to use a look-alike form would be detected. That's why it's very bad that I can't always disable the "always trust content from this provider". Right now I have setup a a loader-script for firefox, to delete ~/.icedtea. It was he only way I could find to forget a mark in "always trust content from this provider" Pleaaase. A better solution shuld be possible, -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/99ef2917/attachment.html From sgehwolf at redhat.com Thu Nov 8 07:46:29 2012 From: sgehwolf at redhat.com (Severin Gehwolf) Date: Thu, 08 Nov 2012 10:46:29 -0500 Subject: [PATCH] for bug 2376501: Krb5LoginModule config class does not return proper KDC list from DNS In-Reply-To: <5099B0E0.1090908@oracle.com> References: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> <5099B0E0.1090908@oracle.com> Message-ID: <1352389589.2240.12.camel@dhcp-64-196.muc.redhat.com> Hi Max, Thanks for the review! On Wed, 2012-11-07 at 08:52 +0800, Weijun Wang wrote: > The fix looks fine. There is one place it might get enhanced: > > if (value.charAt(j) == ':') { > kdcs = (value.substring(0, j)).trim(); > } > > So this changes a.com:88 to a.com. If the port is really 88, it's OK. > Otherwise, info gets lost. Maybe we can keep the whole string. I've removed the entire loop which strips the port from the returned record. Updated webrev is here: http://jerboaa.fedorapeople.org/bugs/openjdk/2376501/webrev.1/ > BTW, are you OK with contributing the fix into OpenJDK main repo? Yes, of course :) Just let me know what's to be done to get it pushed. Cheers, Severin > On 11/06/2012 11:08 PM, Severin Gehwolf wrote: > > Hi, > > > > In Config.java, line 1234 in method getKDCFromDNS(String realm) there is > > a loop which discards earlier values of KDCs returned rather than > > concatenating them. This results in a behaviour where only one KDC in a > > seemingly random fashion is returned. In fact, the KDC returned depends > > on the order which KrbServiceLocator.getKerberosService(realm, "_udp") > > returns the servers. The correct behaviour should be to return a String > > containing ALL KDCs available via DNS (separated by spaces). > > > > The webrev is here: > > http://jerboaa.fedorapeople.org/bugs/openjdk/2376501/webrev/ > > > > Comments and suggestions very welcome! > > > > Thanks, > > Severin > > From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 08:05:51 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:05:51 +0000 Subject: [Bug 1212] New: IcedTea7 fails to build due to missing method calls to Resources.getText( ) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1212 Priority: P3 Bug ID: 1212 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: IcedTea7 fails to build due to missing method calls to Resources.getText( ) Severity: normal Classification: Unclassified OS: Linux Reporter: smohammad at redhat.com Hardware: x86_64 Status: NEW Version: 7-hg Component: IcedTea Product: IcedTea IcedTea7 fails to compile because Resources.getText( ) is missing. I was able to reproduce this multiple time without passing any arguments when configuring and building. As Andrew pointed out on IRC, a quick workaround would be to remove /path/to/build/generated.build/sun/tools/jconsole/Version.java and then rebuilding. The failure message is below and the full log is attached. Using: java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (fedora-2.3.3.fc17.1-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode) Fail Message: # Running javac: /home/smohammad/GROUNDS/playground/icedtea7/build/bootstrap/jdk1.6.0/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -g -source 7 -target 7 -encoding ascii -Xbootclasspath:/home/smohammad/GROUNDS/playground/icedtea7/build/openjdk.build-boot/classes -encoding iso8859-1 -sourcepath /home/smohammad/GROUNDS/playground/icedtea7/build/generated.build:../../../src/solaris/classes:../../../src/share/classes -bootclasspath /home/smohammad/GROUNDS/playground/icedtea7/build/openjdk.build-boot/classes:/home/smohammad/GROUNDS/playground/icedtea7/build/bootstrap/jdk1.6.0/jre/lib/rt.jar -d /home/smohammad/GROUNDS/playground/icedtea7/build/openjdk.build-boot/classes @/home/smohammad/GROUNDS/playground/icedtea7/build/openjdk.build-boot/tmp/sun/sun.tools.jconsole/.classes.list /home/smohammad/GROUNDS/playground/icedtea7/build/generated.build/sun/tools/jconsole/Version.java:37: error: cannot find symbol ps.println(Resources.getText("Name and Build", ^ symbol: method getText(String,String,String) location: class Resources /home/smohammad/GROUNDS/playground/icedtea7/build/generated.build/sun/tools/jconsole/Version.java:41: error: cannot find symbol ps.println(Resources.getText("Name Build and Mode", ^ symbol: method getText(String,String,String,String) location: class Resources /home/smohammad/GROUNDS/playground/icedtea7/build/generated.build/sun/tools/jconsole/Version.java:49: error: cannot find symbol ps.println(Resources.getText("JConsole version", jconsole_version)); ^ symbol: method getText(String,String) location: class Resources Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 3 errors make[5]: *** [.compile.classlist] Error 1 make[5]: Leaving directory `/home/smohammad/GROUNDS/playground/icedtea7/build/openjdk-boot/jdk/make/sun/jconsole' make[4]: *** [all] Error 1 make[4]: Leaving directory `/home/smohammad/GROUNDS/playground/icedtea7/build/openjdk-boot/jdk/make/sun' make[3]: *** [all] Error 1 make[3]: Leaving directory `/home/smohammad/GROUNDS/playground/icedtea7/build/openjdk-boot/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/home/smohammad/GROUNDS/playground/icedtea7/build/openjdk-boot' make[1]: *** [build_product_image] Error 2 make[1]: Leaving directory `/home/smohammad/GROUNDS/playground/icedtea7/build/openjdk-boot' make: *** [stamps/icedtea-boot.stamp] Error 2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/4c558e9e/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 08:10:02 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:10:02 +0000 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 helpcrypto at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |helpcrypto at gmail.com --- Comment #1 from helpcrypto at gmail.com --- (In reply to comment #0) > Is there a way to force the "always trust content from this provider" NOT to > be checked as default. This is checked when the certificate used to sign an applet, IS a trusted certificate. This behaviour, SHOULD remain like that for trusted certs. > I do NOT want to trust the signers by default, but might opt-in to certain > signers. If you sign an applet using a dummy cert, this checkbox will not be checked by default. > In details the danish digital signature-thing requieres java :-( Same as we do, cause theres not a better approach :( > Some malware has tried to popup a form to steal the login-info from the > user. I prevent this by willingly NOT accepting to trust the provider. That > way I'm forced to accept it when I want to use the applet, someone trying to > use a look-alike form would be detected. Which certificate is being used to sign the applet? Its the malware an applet? Which certificate is the malware signed with? Dont hesitate to ask anything to me (on icedtea mail list). > That's why it's very bad that I can't always disable the "always trust > content from this provider". Right now I have setup a a loader-script for > firefox, to delete ~/.icedtea. It was he only way I could find to forget a > mark in "always trust content from this provider" AFAIK, icedtea lacks ControlPanel, but this kind of certificates are stored as trusted certs on icedtea keystores. Probably keytool will do the trick in a better way. If you have any more questions, ask on the list Bye PS: Could anyone mark this as invalid? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/2c661a5b/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 08:23:17 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:23:17 +0000 Subject: [Bug 1212] IcedTea7 fails to build because Resources.getText( ) is no longer available for code to use In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1212 Saad Mohammad changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|IcedTea7 fails to build due |IcedTea7 fails to build |to missing method calls to |because Resources.getText( |Resources.getText( ) |) is no longer available | |for code to use --- Comment #1 from Saad Mohammad --- Unfortunately I was unable to attach the full log file because it is above the maximum file size. :( The error message is in the comment above. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/d3d44a78/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 08:34:33 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:34:33 +0000 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 --- Comment #2 from icedtea.classpath.org at henning.wangerin.dk --- (In reply to comment #1) > (In reply to comment #0) > > Is there a way to force the "always trust content from this provider" NOT to > > be checked as default. > > This is checked when the certificate used to sign an applet, IS a trusted > certificate. This behaviour, SHOULD remain like that for trusted certs. No. It should be up to the user to determine if you want to trust a certificate by default. > > I do NOT want to trust the signers by default, but might opt-in to certain > > signers. > > If you sign an applet using a dummy cert, this checkbox will not be checked > by default. Correct. > > In details the danish digital signature-thing requieres java :-( > > Same as we do, cause theres not a better approach :( Sun-java that I used earlier, remembered that I unchecked "always trust content from this provider" for various certificates. This is the behaviour that shuld be taken. The user IS asked if he trusts this cert. If I for any reason choose NOT to trust a legit certificate, that should be the default for that certificate. Always pretending that you can trust some cert, if you have decide not to trust that cert is a bad behaivour, in my eyes. (For whatever reason you desided it) > > Some malware has tried to popup a form to steal the login-info from the > > user. I prevent this by willingly NOT accepting to trust the provider. That > > way I'm forced to accept it when I want to use the applet, someone trying to > > use a look-alike form would be detected. > > Which certificate is being used to sign the applet? > Its the malware an applet? No. > Which certificate is the malware signed with? None - just a html-form popping up, as I understand. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/b1a9dd34/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 08:39:49 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:39:49 +0000 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |omajid at redhat.com --- Comment #3 from Omair Majid --- (In reply to comment #1) > AFAIK, icedtea lacks ControlPanel You are probably looking for 'itweb-settings'. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/157ec1ad/attachment.html From smohammad at icedtea.classpath.org Thu Nov 8 08:41:08 2012 From: smohammad at icedtea.classpath.org (smohammad at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:41:08 +0000 Subject: /hg/icedtea-web: Add DownloadService implementation Message-ID: changeset 1985c19b9f27 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1985c19b9f27 author: Saad Mohammad date: Thu Nov 08 11:40:11 2012 -0500 Add DownloadService implementation diffstat: ChangeLog | 35 ++ netx/net/sourceforge/jnlp/cache/CacheUtil.java | 19 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 120 +++++++++- netx/net/sourceforge/jnlp/runtime/LocateJnlpClassLoader.java | 111 ++++++++ netx/net/sourceforge/jnlp/runtime/ManageJnlpResources.java | 140 +++++++++++ netx/net/sourceforge/jnlp/services/XDownloadService.java | 80 +++++- 6 files changed, 496 insertions(+), 9 deletions(-) diffs (truncated from 689 to 500 lines): diff -r 6361c91b77ca -r 1985c19b9f27 ChangeLog --- a/ChangeLog Fri Nov 02 16:41:39 2012 +0100 +++ b/ChangeLog Thu Nov 08 11:40:11 2012 -0500 @@ -1,3 +1,38 @@ +2012-11-08 Saad Mohammad + + Core implementation of DownloadService. + * netx/net/sourceforge/jnlp/cache/CacheUtil.java (getCacheParentDirectory): + Returns the parent directory of the cached resource. + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: + (getLoaders): Returns all loaders that this loader uses, including + itself + (addNewJar): Adds a new jar to the classloader with specified + UpdatePolicy. + (removeJars): Remove jars from the filesystem. + (initializeNewJarDownload): Downloads and initializes jars into the + current loader. + (manageExternalJars): Manages jars which are not mentioned in the + JNLP file. + * netx/net/sourceforge/jnlp/runtime/LocateJnlpClassLoader.java: + (getLoaderByJnlpFile): Returns the classloader of the jnlp file + specified. + (getLoaderByResourceUrl): Returns the classloader that contains the + specified jar. + * netx/net/sourceforge/jnlp/runtime/ManageJnlpResources.java: + (findJars): Returns jars from the JNLP file with the specified + partname. + (removeCachedJars): Removes jar from cache. + (downloadJars): Downloads jars identified by part name. + (loadExternalResouceToCache): Download and initalize resources which + are not mentioned in the jnlp file. + (removeExternalCachedResource): Removes resources from cache which + are not mentioned in the jnlp file. + (isExternalResourceCached): Determines if the resource that is not + mentioned in the jnlp file is cached and returns a boolean with the + result. + * netx/net/sourceforge/jnlp/services/XDownloadService.java: + Core implementation of DownloadService. + 2012-11-02 Jiri Vanek Alexandr Kolouch diff -r 6361c91b77ca -r 1985c19b9f27 netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri Nov 02 16:41:39 2012 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Thu Nov 08 11:40:11 2012 -0500 @@ -367,6 +367,25 @@ } /** + * Returns the parent directory of the cached resource. + * @param path The path of the cached resource directory. + */ + public static String getCacheParentDirectory(String filePath) { + String path = filePath; + String tempPath = ""; + + while(path.startsWith(cacheDir) && !path.equals(cacheDir)){ + tempPath = new File(path).getParent(); + + if (tempPath.equals(cacheDir)) + break; + + path = tempPath; + } + return path; + } + + /** * This will create a new entry for the cache item. It is however not * initialized but any future calls to getCacheFile with the source and * version given to here, will cause it to return this item. diff -r 6361c91b77ca -r 1985c19b9f27 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Nov 02 16:41:39 2012 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Nov 08 11:40:11 2012 -0500 @@ -106,6 +106,11 @@ final public static String TEMPLATE = "JNLP-INF/APPLICATION_TEMPLATE.JNLP"; final public static String APPLICATION = "JNLP-INF/APPLICATION.JNLP"; + /** Actions to specify how cache is to be managed **/ + public static enum DownloadAction { + DOWNLOAD_TO_CACHE, REMOVE_FROM_CACHE, CHECK_CACHE + } + /** True if the application has a signed JNLP File */ private boolean isSignedJNLP = false; @@ -1588,13 +1593,22 @@ * @param desc the JARDesc for the new jar */ private void addNewJar(final JARDesc desc) { + this.addNewJar(desc, JNLPRuntime.getDefaultUpdatePolicy()); + } + + /** + * Adds a new JARDesc into this classloader. + * @param desc the JARDesc for the new jar + * @param updatePolicy the UpdatePolicy for the resource + */ + private void addNewJar(final JARDesc desc, UpdatePolicy updatePolicy) { available.add(desc); tracker.addResource(desc.getLocation(), desc.getVersion(), null, - JNLPRuntime.getDefaultUpdatePolicy() + updatePolicy ); // Give read permissions to the cached jar file @@ -2075,6 +2089,108 @@ } /** + * Returns all loaders that this loader uses, including itself + */ + JNLPClassLoader[] getLoaders() { + return loaders; + } + + /** + * Remove jars from the file system. + * + * @param jars Jars marked for removal. + */ + void removeJars(JARDesc[] jars) { + + for (JARDesc eachJar : jars) { + try { + tracker.removeResource(eachJar.getLocation()); + } catch (Exception e) { + if (JNLPRuntime.isDebug()) { + System.err.println(e.getMessage()); + System.err.println("Failed to remove resource from tracker, continuing.."); + } + } + + File cachedFile = CacheUtil.getCacheFile(eachJar.getLocation(), null); + String directoryUrl = CacheUtil.getCacheParentDirectory(cachedFile.getAbsolutePath()); + + File directory = new File(directoryUrl); + + if (JNLPRuntime.isDebug()) + System.out.println("Deleting cached file: " + cachedFile.getAbsolutePath()); + + cachedFile.delete(); + + if (JNLPRuntime.isDebug()) + System.out.println("Deleting cached directory: " + directory.getAbsolutePath()); + + directory.delete(); + } + } + + /** + * Downloads and initializes jars into this loader. + * + * @param ref Path of the launch or extension JNLP File containing the + * resource. If null, main JNLP's file location will be used instead. + * @param part The name of the path. + * @throws LaunchException + */ + void initializeNewJarDownload(URL ref, String part, Version version) { + JARDesc[] jars = ManageJnlpResources.findJars(this, ref, part, version); + + for (JARDesc eachJar : jars) { + if (JNLPRuntime.isDebug()) + System.out.println("Downloading and initializing jar: " + eachJar.getLocation().toString()); + + this.addNewJar(eachJar, UpdatePolicy.FORCE); + } + } + + /** + * Manages DownloadService jars which are not mentioned in the JNLP file + * @param ref Path to the resource. + * @param version The version of resource. If null, no version is specified. + * @param action The action to perform with the resource. Either DOWNLOADTOCACHE, REMOVEFROMCACHE, or CHECKCACHE. + * @return true if CHECKCACHE and the resource is cached. + */ + boolean manageExternalJars(URL ref, String version, DownloadAction action) { + boolean approved = false; + JNLPClassLoader foundLoader = LocateJnlpClassLoader.getLoaderByResourceUrl(this, ref, version); + Version resourceVersion = (version == null) ? null : new Version(version); + + if (foundLoader != null) + approved = true; + + else if (ref.toString().startsWith(file.getCodeBase().toString())) + approved = true; + else if (SecurityDesc.ALL_PERMISSIONS.equals(security.getSecurityType())) + approved = true; + + if (approved) { + if (foundLoader == null) + foundLoader = this; + + if (action == DownloadAction.DOWNLOAD_TO_CACHE) { + JARDesc jarToCache = new JARDesc(ref, resourceVersion, null, false, true, false, true); + if (JNLPRuntime.isDebug()) + System.out.println("Downloading and initializing jar: " + ref.toString()); + + foundLoader.addNewJar(jarToCache, UpdatePolicy.FORCE); + + } else if (action == DownloadAction.REMOVE_FROM_CACHE) { + JARDesc[] jarToRemove = { new JARDesc(ref, resourceVersion, null, false, true, false, true) }; + foundLoader.removeJars(jarToRemove); + + } else if (action == DownloadAction.CHECK_CACHE) { + return CacheUtil.isCached(ref, resourceVersion); + } + } + return false; + } + + /** * Decrements loader use count by 1 * * If count reaches 0, loader is removed from list of available loaders @@ -2266,4 +2382,6 @@ return null; } } + + } diff -r 6361c91b77ca -r 1985c19b9f27 netx/net/sourceforge/jnlp/runtime/LocateJnlpClassLoader.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/runtime/LocateJnlpClassLoader.java Thu Nov 08 11:40:11 2012 -0500 @@ -0,0 +1,111 @@ +/* LocateJNLPClassLoader.java +Copyright (C) 2012, Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package net.sourceforge.jnlp.runtime; + +import java.net.URL; +import net.sourceforge.jnlp.JARDesc; +import net.sourceforge.jnlp.JNLPFile; +import net.sourceforge.jnlp.ResourcesDesc; +import net.sourceforge.jnlp.Version; + +class LocateJnlpClassLoader { + + /** + * Locates the JNLPClassLoader of the JNLP file. + * @param rootClassLoader Root JNLPClassLoader of the application. + * @param urlToJnlpFile Path of the JNLP file. If null, main JNLP's file location + * be used instead + * @return the JNLPClassLoader of the JNLP file. + */ + static JNLPClassLoader getLoaderByJnlpFile(final JNLPClassLoader rootClassLoader, URL urlToJnlpFile) { + + if (rootClassLoader == null) + return null; + + JNLPFile file = rootClassLoader.getJNLPFile(); + + if (urlToJnlpFile == null) + urlToJnlpFile = rootClassLoader.getJNLPFile().getFileLocation(); + + if (file.getFileLocation().equals(urlToJnlpFile)) + return rootClassLoader; + + for (JNLPClassLoader loader : rootClassLoader.getLoaders()) { + if (rootClassLoader != loader) { + JNLPClassLoader foundLoader = LocateJnlpClassLoader.getLoaderByJnlpFile(loader, urlToJnlpFile); + if (foundLoader != null) + return foundLoader; + } + } + + return null; + } + + /** + * Locates the JNLPClassLoader of the JNLP file's resource. + * @param rootClassLoader Root JNLPClassLoader of the application. + * @param urlToJnlpFile Path of the launch or extension JNLP File. If null, + * main JNLP's file location will be used instead. + * @param version The version of resource. Is null if no version is specified + * @return the JNLPClassLoader of the JNLP file's resource. + */ + static JNLPClassLoader getLoaderByResourceUrl(final JNLPClassLoader rootClassLoader, final URL ref, final String version) { + Version resourceVersion = (version == null) ? null : new Version(version); + + for (JNLPClassLoader loader : rootClassLoader.getLoaders()) { + ResourcesDesc resources = loader.getJNLPFile().getResources(); + + for (JARDesc eachJar : resources.getJARs()) { + if (ref.equals(eachJar.getLocation()) && + (resourceVersion == null || resourceVersion.equals(eachJar.getVersion()))) + return loader; + } + } + + for (JNLPClassLoader loader : rootClassLoader.getLoaders()) { + if (rootClassLoader != loader) { + JNLPClassLoader foundLoader = LocateJnlpClassLoader.getLoaderByResourceUrl(loader, ref, version); + + if (foundLoader != null) + return foundLoader; + } + } + + return null; + } +} diff -r 6361c91b77ca -r 1985c19b9f27 netx/net/sourceforge/jnlp/runtime/ManageJnlpResources.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/runtime/ManageJnlpResources.java Thu Nov 08 11:40:11 2012 -0500 @@ -0,0 +1,140 @@ +/* ManageJnlpResources.java +Copyright (C) 2012, Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package net.sourceforge.jnlp.runtime; + +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +import net.sourceforge.jnlp.JARDesc; +import net.sourceforge.jnlp.ResourcesDesc; +import net.sourceforge.jnlp.Version; +import net.sourceforge.jnlp.runtime.JNLPClassLoader.DownloadAction; + +public class ManageJnlpResources { + + /** + * Returns jars from the JNLP file with the part name provided. + * @param rootClassLoader Root JNLPClassLoader of the application. + * @param ref Path of the launch or extension JNLP File containing the + * resource. If null, main JNLP's file location will be used instead. + * @param part The name of the part. + * @return jars found. + */ + public static JARDesc[] findJars(final JNLPClassLoader rootClassLoader, final URL ref, final String part, final Version version) { + JNLPClassLoader foundLoader = LocateJnlpClassLoader.getLoaderByJnlpFile(rootClassLoader, ref); + + if (foundLoader != null) { + List foundJars = new ArrayList(); + ResourcesDesc resources = foundLoader.getJNLPFile().getResources(); + + for (JARDesc eachJar : resources.getJARs(part)) { + if (version == null || version.equals(eachJar.getVersion())) + foundJars.add(eachJar); + } + + return foundJars.toArray(new JARDesc[foundJars.size()]); + } + + return new JARDesc[] {}; + } + + /** + * Removes jars from cache. + * @param classLoader JNLPClassLoader of the application that is associated to the resource. + * @param ref Path of the launch or extension JNLP File containing the + * resource. If null, main JNLP's file location will be used instead. + * @param jars Jars marked for removal. + */ + public static void removeCachedJars(final JNLPClassLoader classLoader, final URL ref, final JARDesc[] jars) { + JNLPClassLoader foundLoader = LocateJnlpClassLoader.getLoaderByJnlpFile(classLoader, ref); + + if (foundLoader != null) + foundLoader.removeJars(jars); + } + + /** + * Downloads jars identified by part name. + * @param classLoader JNLPClassLoader of the application that is associated to the resource. + * @param ref Path of the launch or extension JNLP File containing the + * resource. If null, main JNLP's file location will be used instead. + * @param part The name of the path. + */ + public static void downloadJars(final JNLPClassLoader classLoader, final URL ref, final String part, final Version version) { + JNLPClassLoader foundLoader = LocateJnlpClassLoader.getLoaderByJnlpFile(classLoader, ref); + + if (foundLoader != null) + foundLoader.initializeNewJarDownload(ref, part, version); + } + + /** + * Downloads and initializes resources which are not mentioned in the jnlp file. + * Used by DownloadService. + * @param rootClassLoader Root JNLPClassLoader of the application. + * @param ref Path to the resource. + * @param version The version of resource. If null, no version is specified. + */ + + public static void loadExternalResouceToCache(final JNLPClassLoader rootClassLoader, final URL ref, final String version) { + rootClassLoader.manageExternalJars(ref, version, DownloadAction.DOWNLOAD_TO_CACHE); + } + + /** + * Removes resource which are not mentioned in the jnlp file. + * Used by DownloadService. + * @param rootClassLoader Root JNLPClassLoader of the application. + * @param ref Path to the resource. + * @param version The version of resource. If null, no version is specified. + */ + public static void removeExternalCachedResource(final JNLPClassLoader rootClassLoader, final URL ref, final String version) { + rootClassLoader.manageExternalJars(ref, version, DownloadAction.REMOVE_FROM_CACHE); + } + + /** + * Returns true if the resource (not mentioned in the jnlp file) is cached, otherwise false + * Used by DownloadService. + * @param rootClassLoader Root JNLPClassLoader of the application. + * @param ref Path to the resource. + * @param version The version of resource. If null, no version is specified. + * @return + */ + public static boolean isExternalResourceCached(final JNLPClassLoader rootClassLoader, final URL ref, final String version) { + return rootClassLoader.manageExternalJars(ref, version, DownloadAction.CHECK_CACHE); + } + +} diff -r 6361c91b77ca -r 1985c19b9f27 netx/net/sourceforge/jnlp/services/XDownloadService.java --- a/netx/net/sourceforge/jnlp/services/XDownloadService.java Fri Nov 02 16:41:39 2012 +0100 +++ b/netx/net/sourceforge/jnlp/services/XDownloadService.java Thu Nov 08 11:40:11 2012 -0500 @@ -20,6 +20,13 @@ import java.net.*; import javax.jnlp.*; +import net.sourceforge.jnlp.JARDesc; +import net.sourceforge.jnlp.Version; +import net.sourceforge.jnlp.cache.CacheUtil; +import net.sourceforge.jnlp.runtime.JNLPClassLoader; +import net.sourceforge.jnlp.runtime.ManageJnlpResources; +import net.sourceforge.jnlp.runtime.JNLPRuntime; + /** From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 08:48:45 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:48:45 +0000 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 --- Comment #4 from helpcrypto at gmail.com --- (In reply to comment #2) > No. It should be up to the user to determine if you want to trust a > certificate by default. If it appears enabled, its is cause that cert is already trusted on your keystore. (The first time the user enable it or the applet its adding himself as trusted, one thing our applet also does). > Sun-java that I used earlier, remembered that I unchecked "always trust > content from this provider" for various certificates. > > This is the behaviour that shuld be taken. > The user IS asked if he trusts this cert. If I for any reason choose NOT to > trust a legit certificate, that should be the default for that certificate. > > Always pretending that you can trust some cert, if you have decide not to > trust that cert is a bad behaivour, in my eyes. (For whatever reason you > desided it) Our applet adds the cert as trusted once is run for the first time. Maybe yours also. I agree is not "polite". Using Ubuntu+icedtea7+fake cert signed applet, it always shows the warning (ie: its always unchecked), so this is not a bug. > None - just a html-form popping up, as I understand. Then your effort must go in avoiding that popup being displayed, cause user can tick the "always trust" anyway. As I said before, write to mail list and you can get some help. (In reply to comment #3) > You are probably looking for 'itweb-settings'. Did that contain a security tab for managing keystores? I dont remember that... Anyhow, i still have to fill some request for that component. ;) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/4231b4eb/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 08:49:31 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:49:31 +0000 Subject: [Bug 1213] New: logmein.com applet does not start from icedtea-web version 1.2.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1213 Priority: P3 Bug ID: 1213 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: logmein.com applet does not start from icedtea-web version 1.2.1 Severity: normal Classification: Unclassified OS: OpenBSD Reporter: giovanni at bigio.snb.it Hardware: x86_64 Status: NEW Version: 1.2.1 Component: Plugin Product: IcedTea-Web Created attachment 792 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=792&action=edit Firefox 16.0.1 log file Starting with icedtea-web 1.2.1 the applet on logmein.com web site does not start no more. Firefox outputs an error of "malformed url" and does not load the java class file. Cheers Giovanni -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/cec80e02/attachment.html From smohammad at icedtea.classpath.org Thu Nov 8 08:53:25 2012 From: smohammad at icedtea.classpath.org (smohammad at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:53:25 +0000 Subject: /hg/icedtea-web: Reproducer for DownloadService Message-ID: changeset a24ea160544e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a24ea160544e author: Saad Mohammad date: Thu Nov 08 11:53:18 2012 -0500 Reproducer for DownloadService diffstat: ChangeLog | 12 + netx-dist-tests-whitelist | 2 +- tests/reproducers/signed/DownloadService/resources/DownloadService.jnlp | 64 + tests/reproducers/signed/DownloadService/resources/DownloadServiceExtension.jnlp | 58 + tests/reproducers/signed/DownloadService/srcs/DownloadServiceRunner.java | 351 +++++++++ tests/reproducers/signed/DownloadService/testcases/DownloadServiceTest.java | 377 ++++++++++ 6 files changed, 863 insertions(+), 1 deletions(-) diffs (truncated from 891 to 500 lines): diff -r 1985c19b9f27 -r a24ea160544e ChangeLog --- a/ChangeLog Thu Nov 08 11:40:11 2012 -0500 +++ b/ChangeLog Thu Nov 08 11:53:18 2012 -0500 @@ -1,3 +1,15 @@ +2012-11-08 Saad Mohammad + + Added reproducer for DownloadService. + * tests/reproducers/signed/DownloadService/resources/DownloadService.jnlp: + Launching jnlp file that contains extension jnlp and jars marked with part names. + * tests/reproducers/signed/DownloadService/resources/DownloadServiceExtension.jnlp: + DownloadService extension jnlp file with jars marked with part names. + * tests/reproducers/signed/DownloadService/srcs/DownloadServiceRunner.java: + A simple class that uses DownloadService to complete tasks and outputs the results. + * tests/reproducers/signed/DownloadService/testcases/DownloadServiceTest.java: + Testcase for DownloadService. + 2012-11-08 Saad Mohammad Core implementation of DownloadService. diff -r 1985c19b9f27 -r a24ea160544e netx-dist-tests-whitelist --- a/netx-dist-tests-whitelist Thu Nov 08 11:40:11 2012 -0500 +++ b/netx-dist-tests-whitelist Thu Nov 08 11:53:18 2012 -0500 @@ -1,1 +1,1 @@ -.* +DownloadService.* diff -r 1985c19b9f27 -r a24ea160544e tests/reproducers/signed/DownloadService/resources/DownloadService.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/signed/DownloadService/resources/DownloadService.jnlp Thu Nov 08 11:53:18 2012 -0500 @@ -0,0 +1,64 @@ + + + + + DownloadService + IcedTea + + DownloadService + + + + + + + + + + + + + + + + + diff -r 1985c19b9f27 -r a24ea160544e tests/reproducers/signed/DownloadService/resources/DownloadServiceExtension.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/signed/DownloadService/resources/DownloadServiceExtension.jnlp Thu Nov 08 11:53:18 2012 -0500 @@ -0,0 +1,58 @@ + + + + + DownloadServiceExtension + IcedTea + + DownloadServiceExtension + + + + + + + + + + + diff -r 1985c19b9f27 -r a24ea160544e tests/reproducers/signed/DownloadService/srcs/DownloadServiceRunner.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/signed/DownloadService/srcs/DownloadServiceRunner.java Thu Nov 08 11:53:18 2012 -0500 @@ -0,0 +1,351 @@ +/* DownloadService.java +Copyright (C) 2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import javax.jnlp.DownloadService; +import javax.jnlp.ServiceManager; +import javax.jnlp.UnavailableServiceException; + +public class DownloadServiceRunner { + + URL serverUrl = null; + URL extensionUrl = null; + URL NonExistingUrl = null; + + URL urlToExternalResource = null; + + /** + * Launching jnlp and extension jnlp PARTS + */ + final String launchPartOne = "one"; + final String launchPartTwo = "two"; + final String extensionPartOne = "extOne"; + final String nonExistingPart = "random"; + + /** + * Parts in Array + */ + final String[] validLaunchParts = { launchPartOne, launchPartTwo }; + final String[] halfValidLaunchParts = { launchPartOne, nonExistingPart }; + final String[] validExtensionParts = { extensionPartOne }; + final String[] halfValidExtensionParts = { extensionPartOne, nonExistingPart }; + final String[] invalidParts = { nonExistingPart, "random2" }; + + private static DownloadService downloadService; + static { + try { + downloadService = (DownloadService) ServiceManager.lookup("javax.jnlp.DownloadService"); + } catch (UnavailableServiceException ex) { + System.err.println("DownloadService is not available."); + } + } + + public DownloadServiceRunner(String urlToServer) throws MalformedURLException, InterruptedException { + serverUrl = new URL(urlToServer); + extensionUrl = new URL(urlToServer + "DownloadServiceExtension.jnlp"); + NonExistingUrl = new URL(urlToServer + "NONEXISTINGFILE.JNLP"); + + urlToExternalResource = new URL(urlToServer + "EmptySignedJar.jar"); + + System.out.println(urlToExternalResource.toString()); + + } + + /** + * Checks the cache status of resources using isPartCached() + */ + private void checkCache() throws MalformedURLException { + System.out.println("CHECKCACHE-isPartCached: LaunchPartOne: " + downloadService.isPartCached(launchPartOne)); + System.out.println("CHECKCACHE-isPartCached: LaunchPartTwo: " + downloadService.isPartCached(launchPartTwo)); + System.out.println("CHECKCACHE-isPartCached: NonExistingPart: " + downloadService.isPartCached(nonExistingPart)); + } + + /** + * Checks the cache status of resources using isPartCached([]) - an array with part names + */ + private void checkCacheUsingMultipleParts() throws MalformedURLException { + System.out.println("CHECKCACHEUSINGMUTIPLEPARTS-isPartCached(Array): ValidLaunchParts: " + downloadService.isPartCached(validLaunchParts)); + System.out.println("CHECKCACHEUSINGMUTIPLEPARTS-isPartCached(Array): HalfValidLaunchParts: " + downloadService.isPartCached(halfValidLaunchParts)); + System.out.println("CHECKCACHEUSINGMUTIPLEPARTS-isPartCached(Array): InvalidParts: " + downloadService.isPartCached(invalidParts)); + } + + /** + * Checks the cache status of extension resources using isExtensionPartCached() + */ + private void checkExtensionCache() throws MalformedURLException { + System.out.println("CHECKEXTENSIONCACHE-isExtensionPartCached: ExtensionPartOne: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + System.out.println("CHECKEXTENSIONCACHE-isExtensionPartCached: NonExistingPart: " + + downloadService.isExtensionPartCached(extensionUrl, null, nonExistingPart)); + System.out.println("CHECKEXTENSIONCACHE-isExtensionPartCached: NonExistingUrl: " + + downloadService.isExtensionPartCached(NonExistingUrl, null, extensionPartOne)); + } + + /** + * Checks the cache status of extension resources using isExtensionPartCached([]) - an array with part names + */ + private void checkExtensionCacheUsingMultipleParts() throws MalformedURLException { + System.out.println("CHECKEXTENSIONCACHEUSINGMUTIPLEPARTS-isExtensionPartCached(Array): ValidExtensionParts: " + + downloadService.isExtensionPartCached(extensionUrl, null, validExtensionParts)); + System.out.println("CHECKEXTENSIONCACHEUSINGMUTIPLEPARTS-isExtensionPartCached(Array): HalfValidExtensionParts: " + + downloadService.isExtensionPartCached(extensionUrl, null, halfValidExtensionParts)); + System.out.println("CHECKEXTENSIONCACHEUSINGMUTIPLEPARTS-isExtensionPartCached(Array): InvalidParts: " + + downloadService.isExtensionPartCached(NonExistingUrl, null, invalidParts)); + } + + /** + * Checks the cache status of external (not mentioned in jnlps) resources using isResourceCached() + */ + private void checkExternalCache() { + System.out.println("CHECKEXTERNALCACHE-isResourceCached: UrlToExternalResource: " + downloadService.isResourceCached(urlToExternalResource, null)); + System.out.println("CHECKEXTERNALCACHE-isResourceCached: NonExistingUrl: " + downloadService.isResourceCached(NonExistingUrl, null)); + } + + /** + * Removes resources from cache using removePart() + */ + private void removePart() throws IOException { + System.out.println("REMOVEPART-removePart: LaunchPartOne-BEFORE: " + downloadService.isPartCached(launchPartOne)); + downloadService.removePart(launchPartOne); + System.out.println("REMOVEPART-removePart: LaunchPartOne-AFTER: " + downloadService.isPartCached(launchPartOne)); + + System.out.println("REMOVEPART-removePart: LaunchPartTwo-BEFORE: " + downloadService.isPartCached(launchPartTwo)); + downloadService.removePart(launchPartTwo); + System.out.println("REMOVEPART-removePart: LaunchPartTwo-AFTER: " + downloadService.isPartCached(launchPartTwo)); + } + + /** + * Removes extension resources from cache using isExtensionPartCached() + */ + private void removeExtensionPart() throws IOException { + System.out.println("REMOVEEXTENSIONPART-removeExtensionPart: ExtensionPartOne-BEFORE: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + downloadService.removeExtensionPart(extensionUrl, null, extensionPartOne); + System.out.println("REMOVEEXTENSIONPART-removeExtensionPart: ExtensionPartOne-AFTER: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + } + + /** + * Removes extension resources using part array (all parts exist) from cache using isExtensionPartCached() + */ + private void removeExtensionUsingValidPartInArray() throws IOException { + System.out.println("REMOVEEXTENSIONUSINGVALIDPARTINARRAY-removeExtensionPart(Array): ValidExtensionParts-BEFORE: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + + downloadService.removeExtensionPart(extensionUrl, null, validExtensionParts); + + System.out.println("REMOVEEXTENSIONUSINGVALIDPARTINARRAY-removeExtensionPart(Array): ValidExtensionParts-AFTER: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + + } + + /** + * Removes extension resources using part array (one part exists, the other one does not) from cache using isExtensionPartCached() + */ + private void removeExtensionUsingHalfValidPartInArray() throws IOException { + System.out.println("REMOVEEXTENSIONUSINGHALFVALIDPARTINARRAY-removeExtensionPart(Array): HalfValidExtensionParts-BEFORE: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + + downloadService.removeExtensionPart(extensionUrl, null, halfValidExtensionParts); + + System.out.println("REMOVEEXTENSIONUSINGHALFVALIDPARTINARRAY-removeExtensionPart(Array): HalfValidExtensionParts-AFTER: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + } + + /** + * Removes external (not mentioned in jnlps) resources from cache using removeResource() + */ + private void removeExternalResource() throws IOException { + System.out.println("REMOVEEXTERNALPART-removeResource: UrlToExternalResource-BEFORE: " + downloadService.isResourceCached(urlToExternalResource, null)); + downloadService.removeResource(urlToExternalResource, null); + System.out.println("REMOVEEXTERNALPART-removeResource: UrlToExternalResource-AFTER: " + downloadService.isResourceCached(urlToExternalResource, null)); + } + + /** + * Loads resources from cache using loadPart() + */ + private void loadPart() throws IOException { + System.out.println("LOADPART-loadPart: LaunchPartOne-BEFORE: " + downloadService.isPartCached(launchPartOne)); + downloadService.loadPart(launchPartOne, null); + System.out.println("LOADPART-loadPart: LaunchPartOne-AFTER: " + downloadService.isPartCached(launchPartOne)); + + System.out.println("LOADPART-loadPart: LaunchPartTwo-BEFORE: " + downloadService.isPartCached(launchPartTwo)); + downloadService.loadPart(launchPartTwo, null); + System.out.println("LOADPART-loadPart: LaunchPartTwo-AFTER: " + downloadService.isPartCached(launchPartTwo)); + } + + /** + * Load extension resources from cache using loadExtensionPart() + */ + private void loadExtensionPart() throws IOException { + System.out.println("LOADEXTENSIONPART-loadExtensionPart: ExtensionPartOne-BEFORE: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + downloadService.loadExtensionPart(extensionUrl, null, extensionPartOne, null); + System.out.println("LOADEXTENSIONPART-loadExtensionPart: ExtensionPartOne-AFTER: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + } + + /** + * Loads extension resources using part array (all parts exist) from cache using isExtensionPartCached() + */ + private void loadExtensionUsingValidPartInArray() throws IOException { + System.out.println("LOADEXTENSIONUSINGVALIDPARTINARRAY-loadExtensionPart(Array): ValidExtensionParts-BEFORE: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + + downloadService.loadExtensionPart(extensionUrl, null, validExtensionParts, null); + + System.out.println("LOADEXTENSIONUSINGVALIDPARTINARRAY-loadExtensionPart(Array): ValidExtensionParts-AFTER: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + + } + + /** + * Loads extension resources using part array (one part exists, the other one does not) from cache using isExtensionPartCached() + */ + private void loadExtensionUsingHalfValidPartInArray() throws IOException { + System.out.println("LOADEXTENSIONUSINGHALFVALIDPARTINARRAY-loadExtensionPart(Array): HalfValidExtensionParts-BEFORE: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + + downloadService.loadExtensionPart(extensionUrl, null, halfValidExtensionParts, null); + + System.out.println("LOADEXTENSIONUSINGHALFVALIDPARTINARRAY-loadExtensionPart(Array): HalfValidExtensionParts-AFTER: " + + downloadService.isExtensionPartCached(extensionUrl, null, extensionPartOne)); + } + + /** + * Loads external (not mentioned in jnlps) resources from cache using removeResource() + */ + private void loadExternalResource() throws IOException { + System.out.println("LOADEXTERNALRESOURCE-loadResource: UrlToExternalResource-BEFORE: " + downloadService.isResourceCached(urlToExternalResource, null)); + downloadService.loadResource(urlToExternalResource, null, null); + System.out.println("LOADEXTERNALRESOURCE-loadResource: UrlToExternalResource-AFTER: " + downloadService.isResourceCached(urlToExternalResource, null)); + } + + /** + * Repeatedly unloads and loads jars + */ + private void repeatedlyLoadingAndUnloadingJars() throws IOException { + downloadService.removePart(launchPartOne); + downloadService.loadPart(launchPartOne, null); + + downloadService.removePart(launchPartOne); + System.out.println("MULTIPLEMETHODCALLS - removePart: LaunchPartOne: " + downloadService.isPartCached(launchPartOne)); + + downloadService.loadPart(launchPartOne, null); + System.out.println("MULTIPLEMETHODCALLS - loadPart: LaunchPartOne: " + downloadService.isPartCached(launchPartOne)); + } + + /** + * Repeatedly unloads and loads external jars + */ + private void repeatedlyLoadingAndUnloadingExternalJars() throws IOException { + downloadService.removeResource(urlToExternalResource, null); + downloadService.loadResource(urlToExternalResource, null, null); + + downloadService.removeResource(urlToExternalResource, null); + System.out.println("MULTIPLEMETHODCALLS - removeResource: UrlToExternalResource: " + downloadService.isResourceCached(urlToExternalResource, null)); + + downloadService.loadResource(urlToExternalResource, null, null); + System.out.println("MULTIPLEMETHODCALLS - loadResource: UrlToExternalResource: " + downloadService.isResourceCached(urlToExternalResource, null)); + } + + /** + * Loads external jar as preparation for external resource testing + */ + private void prepareExternalResourceTests() { + try { + if (!downloadService.isResourceCached(urlToExternalResource, null)) + downloadService.loadResource(urlToExternalResource, null, null); + } catch (Exception e) { + //Continue testing + // This is okay to ignore as it may be a problem with loadResouce( ), which will be identified within tests + } + } + + public static void main(String[] args) throws IOException, InterruptedException { + System.out.println("Running DownloadService.."); + + if (args.length < 2) { + System.out.println("Requires 2 arguments: [server_url] [checkCache | manageJars | manageExternalJars]"); + System.out.println("Exiting.."); + return; + } + + DownloadServiceRunner ds = new DownloadServiceRunner(args[0]); + + if (args[1].equals("checkCache")) { + //Cache Resources + ds.checkCache(); + ds.checkCacheUsingMultipleParts(); + ds.checkExtensionCache(); + ds.checkExtensionCacheUsingMultipleParts(); + } + + if (args[1].equals("manageJnlpJars")) { + //Remove Resources + ds.removePart(); + ds.removeExtensionPart(); + + //Load Resources + ds.loadPart(); + ds.loadExtensionPart(); + + //Manage using multiple part arrays + ds.removeExtensionUsingValidPartInArray(); + ds.loadExtensionUsingValidPartInArray(); + ds.removeExtensionUsingHalfValidPartInArray(); + ds.loadExtensionUsingHalfValidPartInArray(); + + //Unloads and loads jars repeatedly + ds.repeatedlyLoadingAndUnloadingJars(); + + } else if (args[1].equals("manageExternalJars")) { + ds.prepareExternalResourceTests(); + ds.checkExternalCache(); From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 08:57:25 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 16:57:25 +0000 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 --- Comment #5 from helpcrypto at gmail.com --- Have you checked the issuer of the certificate? (If trusted, like TERENA, checkbox could be enabled by default also) Can you copy the signer certificate here? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/0619bc01/attachment.html From smohammad at icedtea.classpath.org Thu Nov 8 09:08:06 2012 From: smohammad at icedtea.classpath.org (smohammad at icedtea.classpath.org) Date: Thu, 08 Nov 2012 17:08:06 +0000 Subject: /hg/icedtea-web: Remove accidental change to test whitelist Message-ID: changeset cb766b2c8b50 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=cb766b2c8b50 author: Saad Mohammad date: Thu Nov 08 12:07:50 2012 -0500 Remove accidental change to test whitelist diffstat: netx-dist-tests-whitelist | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (6 lines): diff -r a24ea160544e -r cb766b2c8b50 netx-dist-tests-whitelist --- a/netx-dist-tests-whitelist Thu Nov 08 11:53:18 2012 -0500 +++ b/netx-dist-tests-whitelist Thu Nov 08 12:07:50 2012 -0500 @@ -1,1 +1,1 @@ -DownloadService.* +.* From smohammad at redhat.com Thu Nov 8 09:18:28 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Thu, 08 Nov 2012 12:18:28 -0500 Subject: [RFC][icedtea-web]: Reproducer for DownloadService In-Reply-To: <509BB8E8.2000302@redhat.com> References: <50609FA3.8040701@redhat.com> <1349124118.17801.108.camel@adomurad-desktop> <50772C64.7060808@redhat.com> <50902286.3000605@redhat.com> <5091291D.8090503@redhat.com> <509AD858.1060709@redhat.com> <509BB8E8.2000302@redhat.com> Message-ID: <509BE964.6090205@redhat.com> On 11/08/2012 08:51 AM, Adam Domurad wrote: >> > OK for HEAD. > - Adam Thanks Adam and Jiri for the review! Pushed: http://icedtea.classpath.org/hg/icedtea-web/rev/cb766b2c8b50 http://icedtea.classpath.org/hg/icedtea-web/rev/a24ea160544e -- Cheers, Saad Mohammad From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 09:39:52 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 17:39:52 +0000 Subject: [Bug 1214] New: DownloadService2 is not supported by IcedTea-Web Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1214 Priority: P3 Bug ID: 1214 CC: unassigned at icedtea.classpath.org Assignee: smohammad at redhat.com Summary: DownloadService2 is not supported by IcedTea-Web Severity: normal Classification: Unclassified OS: Linux Reporter: smohammad at redhat.com Hardware: x86_64 Status: NEW Version: unspecified Component: NetX (javaws) Product: IcedTea-Web DownloadService2 is not supported in IcedTea-Web: http://docs.oracle.com/javase/7/docs/jre/api/javaws/jnlp/javax/jnlp/DownloadService2.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/49b81665/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 09:40:13 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 17:40:13 +0000 Subject: [Bug 1027] DownloadService is not supported by IcedTea-Web In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1027 Saad Mohammad changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Saad Mohammad --- DownloadService has been implemented: http://icedtea.classpath.org/hg/icedtea-web/rev/1985c19b9f27 I will mark this bug as resolved. The implementation of DownloadService2 should be in a separate bug report since it was introduced later in version 6: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1214 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/1b5a2c70/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 09:59:33 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 08 Nov 2012 17:59:33 +0000 Subject: [Bug 1027] DownloadService is not supported by IcedTea-Web In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1027 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=f934de8acee5 author: Saad Mohammad date: Thu Nov 08 12:58:49 2012 -0500 Add NEWS entry for PR1027 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/a408ff39/attachment.html From smohammad at icedtea.classpath.org Thu Nov 8 09:59:25 2012 From: smohammad at icedtea.classpath.org (smohammad at icedtea.classpath.org) Date: Thu, 08 Nov 2012 17:59:25 +0000 Subject: /hg/icedtea-web: Add NEWS entry for PR1027 Message-ID: changeset f934de8acee5 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f934de8acee5 author: Saad Mohammad date: Thu Nov 08 12:58:49 2012 -0500 Add NEWS entry for PR1027 diffstat: ChangeLog | 5 +++++ NEWS | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) diffs (24 lines): diff -r cb766b2c8b50 -r f934de8acee5 ChangeLog --- a/ChangeLog Thu Nov 08 12:07:50 2012 -0500 +++ b/ChangeLog Thu Nov 08 12:58:49 2012 -0500 @@ -1,3 +1,8 @@ +2012-11-08 Saad Mohammad + + * NEWS: Added entry for PR1027 - DownloadService is not supported by + IcedTea-Web. + 2012-11-08 Saad Mohammad Added reproducer for DownloadService. diff -r cb766b2c8b50 -r f934de8acee5 NEWS --- a/NEWS Thu Nov 08 12:07:50 2012 -0500 +++ b/NEWS Thu Nov 08 12:58:49 2012 -0500 @@ -14,6 +14,8 @@ * Security updates - CVE-2012-3422, RH840592: Potential read from an uninitialized memory location - CVE-2012-3423, RH841345: Incorrect handling of not 0-terminated strings +* NetX + - PR1027: DownloadService is not supported by IcedTea-Web * Plugin - PR1106: Buffer overflow in plugin table- * Common From smohammad at redhat.com Thu Nov 8 09:18:18 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Thu, 08 Nov 2012 12:18:18 -0500 Subject: [RFC][icedtea-web]: DownloadService implementation In-Reply-To: <50748320.2080507@redhat.com> References: <50411B4E.8080308@redhat.com> <50609F44.2040102@redhat.com> <1348857406.17801.92.camel@adomurad-desktop> <506F5304.9010606@redhat.com> <50748320.2080507@redhat.com> Message-ID: <509BE95A.5040900@redhat.com> On 10/09/2012 04:03 PM, Adam Domurad wrote: > > > Thanks for the updated patch! > Looks good to me, go ahead and push once reproducer is in HEAD. Thanks for the review Adam. Pushed: http://icedtea.classpath.org/hg/icedtea-web/rev/1985c19b9f27 -- Cheers, Saad Mohammad From jvanalte at redhat.com Thu Nov 8 13:34:36 2012 From: jvanalte at redhat.com (Jon VanAlten) Date: Thu, 8 Nov 2012 16:34:36 -0500 (EST) Subject: Latest IcedTea7 forest sync In-Reply-To: <1352371123.2634.24.camel@springer.wildebeest.org> Message-ID: <304122117.8360034.1352410476181.JavaMail.root@redhat.com> ----- Original Message ----- > From: "Mark Wielaard" > > I'll see if I can trick Jon into setting up his buildbot fedora > testers > to have full systemtap privileges so that these tests are > automagically > ran by his buildslaves. > I believe I've done so for the f16 builder. Also updated all of the packages there (something I'd neglected for some time, unfortunately). However, the f15 vm died while I was trying to do same there. I suspect some sort of disk image file corruption, but since f15 is EOL I did not put any effort into diagnosing or recovering it. My preference would be to retire it permanently (and at some point setting up f17 and f18 builders). To that end, I think the attached patch would remove all of the f15 references from the master.cfg. Does this seem correct? Can I push this? Once I do, Mark can you ensure that the buildmaster gets these changes? Thanks, jon -------------- next part -------------- A non-text attachment was scrubbed... Name: no-more-f15.patch Type: text/x-patch Size: 6558 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121108/93e46326/no-more-f15.patch From mjw at redhat.com Thu Nov 8 14:12:46 2012 From: mjw at redhat.com (Mark Wielaard) Date: Thu, 8 Nov 2012 23:12:46 +0100 Subject: Latest IcedTea7 forest sync In-Reply-To: <304122117.8360034.1352410476181.JavaMail.root@redhat.com> References: <1352371123.2634.24.camel@springer.wildebeest.org> <304122117.8360034.1352410476181.JavaMail.root@redhat.com> Message-ID: <20121108221246.GA15044@toonder.wildebeest.org> On Thu, Nov 08, 2012 at 04:34:36PM -0500, Jon VanAlten wrote: > To that end, I think the attached patch would remove all of the > f15 references from the master.cfg. Does this seem correct? > Can I push this? Once I do, Mark can you ensure that the > buildmaster gets these changes? Yes, that looks right. If you push I'll make sure the new master.cfg is installed on the buildbot machine. Thanks, Mark From vanaltj at icedtea.classpath.org Thu Nov 8 14:39:47 2012 From: vanaltj at icedtea.classpath.org (vanaltj at icedtea.classpath.org) Date: Thu, 08 Nov 2012 22:39:47 +0000 Subject: /hg/buildbot: Remove EOL Fedora 15 slave from master.cfg Message-ID: changeset 9a1f4a5e1a82 in /hg/buildbot details: http://icedtea.classpath.org/hg/buildbot?cmd=changeset;node=9a1f4a5e1a82 author: Jon VanAlten date: Thu Nov 08 18:38:56 2012 -0500 Remove EOL Fedora 15 slave from master.cfg diffstat: icedtea/master.cfg | 35 ----------------------------------- 1 files changed, 0 insertions(+), 35 deletions(-) diffs (122 lines): diff -r 691ce9af397b -r 9a1f4a5e1a82 icedtea/master.cfg --- a/icedtea/master.cfg Mon Aug 20 15:55:59 2012 -0400 +++ b/icedtea/master.cfg Thu Nov 08 18:38:56 2012 -0500 @@ -45,9 +45,6 @@ max_builds=1), BuildSlave("fedora16-x86", getpw("vanaltj"), - max_builds=1), - BuildSlave("fedora15-x86", - getpw("vanaltj"), max_builds=1)] c['slavePortnum'] = 9989 @@ -76,7 +73,6 @@ "icedtea6-squeeze-x86_64-quick-jamvm", "icedtea6-squeeze-x86_64-quick-cacao", "icedtea6-squeeze-x86_64-quick-shark", - "icedtea6-f15-x86", "icedtea6-f16-x86", "icedtea6-natty-armv7l-quick", "icedtea6-natty-armv7l-quick-cacao", @@ -95,7 +91,6 @@ c['schedulers'].append(Scheduler(name="icedtea7-quick", branch="icedtea7", treeStableTimer=5*60, builderNames=["icedtea7-squeeze-x86_64-quick", - "icedtea7-f15-x86", "icedtea7-f16-x86", "icedtea7-squeeze-armv5tel-quick", "icedtea7-natty-armv7l-quick"] @@ -107,7 +102,6 @@ c['schedulers'].append(Scheduler(name="icedtea-web", branch="icedtea-web", treeStableTimer=60, builderNames=["icedtea-web-squeeze-x86_64", - "icedtea-web-f15-x86", "icedtea-web-f16-x86", "icedtea-web-squeeze-armv5tel", "icedtea-web-natty-armv7l"])) @@ -115,7 +109,6 @@ c['schedulers'].append(Scheduler(name="testrepo", branch="testrepo", treeStableTimer=60, builderNames=["testrepo-squeeze-x86_64", - "testrepo-f15-x86", "testrepo-f16-x86", "testrepo-natty-armv7l", "testrepo-lucid-ia32", @@ -214,18 +207,6 @@ 'builddir': "icedtea-web", 'factory': f1 } -f1f15 = factory.BuildFactory() -f1f15.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) -f1f15.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) -f1f15.addStep(ShellCommand(command=["rm", "-rf", "build"], workdir=".", description="clean build dir")) -f1f15.addStep(Configure(command=["../src/configure"], workdir="build")) -f1f15.addStep(Compile(command=["make", "-j4"], workdir="build")) -f1f15.addStep(JTRegCheck(command=["make", "check"], workdir="build")) -icedtea_web_builder_f15_x86 = { 'name': "icedtea-web-f15-x86", - 'slavenames': ["fedora15-x86"], - 'builddir': "f15-icedtea-web", - 'factory': f1f15 } - f1f16 = factory.BuildFactory() f1f16.addStep(Mercurial(baseURL=hgrepo, workdir="src", mode="update")) f1f16.addStep(ShellCommand(command=["./autogen.sh"], workdir="src", description="autogen")) @@ -265,10 +246,6 @@ 'slavenames': ["squeeze-x86_64"], 'builddir': "testrepo", 'factory': f2 } -testrepo_builder_f15_x86 = { 'name': "testrepo-f15-x86", - 'slavenames': ["fedora15-x86"], - 'builddir': "f15-testrepo", - 'factory': f2 } testrepo_builder_f16_x86 = { 'name': "testrepo-f16-x86", 'slavenames': ["fedora16-x86"], 'builddir': "f16-testrepo", @@ -885,18 +862,10 @@ 'slavenames': ["squeeze-x86_64"], 'builddir': "icedtea6-quick-shark", 'factory': f3s } -icedtea6_builder_f15_x86 = { 'name': "icedtea6-f15-x86", - 'slavenames': ["fedora15-x86"], - 'builddir': "icedtea6-f15-x86", - 'factory': fnodocs } icedtea6_builder_f16_x86 = { 'name': "icedtea6-f16-x86", 'slavenames': ["fedora16-x86"], 'builddir': "icedtea6-f16-x86", 'factory': fnodocs } -icedtea7_builder_f15_x86 = { 'name': "icedtea7-f15-x86", - 'slavenames': ["fedora15-x86"], - 'builddir': "icedtea7-f15-x86", - 'factory': fnodocs } icedtea7_builder_f16_x86 = { 'name': "icedtea7-f16-x86", 'slavenames': ["fedora16-x86"], 'builddir': "icedtea7-f16-x86", @@ -1019,7 +988,6 @@ icedtea6_builder_quick_jamvm, icedtea6_builder_quick_cacao, icedtea6_builder_quick_shark, - icedtea6_builder_f15_x86, icedtea6_builder_f16_x86, icedtea6_builder_quick_arm_natty, icedtea6_builder_quick_arm_natty_cacao, @@ -1034,19 +1002,16 @@ icedtea6_builder_quick_armv5tel_squeeze_jamvm, icedtea6_builder_quick_armv5tel_squeeze_shark, icedtea7_builder_quick, - icedtea7_builder_f15_x86, icedtea7_builder_f16_x86, icedtea7_builder_quick_armv5tel_squeeze, icedtea7_builder_quick_arm_natty, icedtea6_builder_full, icedtea7_builder_full, icedtea_web_builder_x86_64, - icedtea_web_builder_f15_x86, icedtea_web_builder_f16_x86, icedtea_web_builder_squeeze_armv5tel, icedtea_web_builder_natty_armv7l, testrepo_builder_x86_64, - testrepo_builder_f15_x86, testrepo_builder_f16_x86, testrepo_builder_natty_armv7l, testrepo_builder_lucid_ia32, From jvanalte at redhat.com Thu Nov 8 15:12:05 2012 From: jvanalte at redhat.com (Jon VanAlten) Date: Thu, 8 Nov 2012 18:12:05 -0500 (EST) Subject: Latest IcedTea7 forest sync In-Reply-To: <20121108221246.GA15044@toonder.wildebeest.org> Message-ID: <1779260226.8389687.1352416325050.JavaMail.root@redhat.com> ----- Original Message ----- > From: "Mark Wielaard" > To: "Jon VanAlten" > Cc: "distro-pkg-dev" > Sent: Thursday, November 8, 2012 5:12:46 PM > Subject: Re: Latest IcedTea7 forest sync > > On Thu, Nov 08, 2012 at 04:34:36PM -0500, Jon VanAlten wrote: > > To that end, I think the attached patch would remove all of the > > f15 references from the master.cfg. Does this seem correct? > > Can I push this? Once I do, Mark can you ensure that the > > buildmaster gets these changes? > > Yes, that looks right. If you push I'll make sure the new master.cfg > is installed on the buildbot machine. > Pushed, and thanks! jon From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 16:23:30 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 09 Nov 2012 00:23:30 +0000 Subject: [Bug 854] Resizing an applet several times causes 100% CPU load In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=854 Alex Wang changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |alexwang11235 at gmail.com --- Comment #1 from Alex Wang --- This is occurring for me as well on both Firefox 19 and Chromium 18 Ubuntu 12.04.1 IcedTea-Web plugin 1.2 Other websites where this causes trouble is www.runescape.com after you load the game. If you resize the window a couple of times, the applet stops drawing, but you can still see java running. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/3bb3499a/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 16:25:33 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 09 Nov 2012 00:25:33 +0000 Subject: [Bug 854] Resizing an applet several times causes 100% CPU load In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=854 --- Comment #2 from Alex Wang --- I forgot to mention I'm running on 32-bit. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/b429ee47/attachment.html From weijun.wang at oracle.com Thu Nov 8 16:38:54 2012 From: weijun.wang at oracle.com (Weijun Wang) Date: Fri, 09 Nov 2012 08:38:54 +0800 Subject: 8002344 code review request: (was Re: [PATCH] for bug 2376501: Krb5LoginModule config class does not return proper KDC list from DNS) In-Reply-To: <1352389589.2240.12.camel@dhcp-64-196.muc.redhat.com> References: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> <5099B0E0.1090908@oracle.com> <1352389589.2240.12.camel@dhcp-64-196.muc.redhat.com> Message-ID: <509C509E.8020206@oracle.com> Hi Severin I've created an OpenJDK bug and created a new webrev: http://cr.openjdk.java.net/~weijun/8002344/webrev.00/ The Config.java change is identical to yours, and I added a small tweak in KrbServiceLocator, and a quite ugly regression test. Anyone can review all the changes? After the code review, I'll push the change to tl/jdk. I don't see an OpenJDK user id for you at http://db.openjdk.java.net/people, so I add your name in Contributed-by: Severin Gehwolf Thanks Max On 11/08/2012 11:46 PM, Severin Gehwolf wrote: > Hi Max, > > Thanks for the review! > > On Wed, 2012-11-07 at 08:52 +0800, Weijun Wang wrote: >> The fix looks fine. There is one place it might get enhanced: >> >> if (value.charAt(j) == ':') { >> kdcs = (value.substring(0, j)).trim(); >> } >> >> So this changes a.com:88 to a.com. If the port is really 88, it's OK. >> Otherwise, info gets lost. Maybe we can keep the whole string. > > I've removed the entire loop which strips the port from the returned > record. Updated webrev is here: > > http://jerboaa.fedorapeople.org/bugs/openjdk/2376501/webrev.1/ > >> BTW, are you OK with contributing the fix into OpenJDK main repo? > > Yes, of course :) Just let me know what's to be done to get it pushed. > > Cheers, > Severin > >> On 11/06/2012 11:08 PM, Severin Gehwolf wrote: >>> Hi, >>> >>> In Config.java, line 1234 in method getKDCFromDNS(String realm) there is >>> a loop which discards earlier values of KDCs returned rather than >>> concatenating them. This results in a behaviour where only one KDC in a >>> seemingly random fashion is returned. In fact, the KDC returned depends >>> on the order which KrbServiceLocator.getKerberosService(realm, "_udp") >>> returns the servers. The correct behaviour should be to return a String >>> containing ALL KDCs available via DNS (separated by spaces). >>> >>> The webrev is here: >>> http://jerboaa.fedorapeople.org/bugs/openjdk/2376501/webrev/ >>> >>> Comments and suggestions very welcome! >>> >>> Thanks, >>> Severin >>> > > > From bugzilla-daemon at icedtea.classpath.org Thu Nov 8 17:15:10 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 09 Nov 2012 01:15:10 +0000 Subject: [Bug 1215] New: A fatal error has been detected by the Java Runtime Environment: SIGSEGV Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1215 Priority: P3 Bug ID: 1215 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: A fatal error has been detected by the Java Runtime Environment: SIGSEGV Severity: normal Classification: Unclassified OS: Linux Reporter: fire.kuma8 at gmail.com Hardware: x86_64 Status: NEW Version: 6-1.11.5 Component: IcedTea Product: IcedTea Created attachment 793 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=793&action=edit error_log # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f54272caf1c, pid=12137, tid=139998121428736 # # JRE version: 6.0_24-b24 # Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea6 1.11.5 # Distribution: Red Hat Enterprise Linux Server release 6.3 (Santiago), package rhel-1.50.1.11.5.el6_3-x86_64 # Problematic frame: # C [libc.so.6+0x7af1c] cfree+0x1c -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/10c3e32a/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Nov 9 04:14:58 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 09 Nov 2012 12:14:58 +0000 Subject: [Bug 854] Resizing an applet several times causes 100% CPU load In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=854 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |adomurad at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/c7f17f9f/attachment.html From mark at klomp.org Fri Nov 9 05:18:21 2012 From: mark at klomp.org (Mark Wielaard) Date: Fri, 09 Nov 2012 14:18:21 +0100 Subject: Latest IcedTea7 forest sync In-Reply-To: <1779260226.8389687.1352416325050.JavaMail.root@redhat.com> References: <1779260226.8389687.1352416325050.JavaMail.root@redhat.com> Message-ID: <1352467101.2568.3.camel@springer.wildebeest.org> On Thu, 2012-11-08 at 18:12 -0500, Jon VanAlten wrote: > > Yes, that looks right. If you push I'll make sure the new master.cfg > > is installed on the buildbot machine. > > > Pushed, and thanks! It seems to work, the build shows it picks up all the good stuff and every compiles fine, but the tests time out. This might just be the machine being a bit slow (or some hang in JDI?), see: http://builder.classpath.org/icedtea/buildbot/builders/icedtea7-f16-x86/builds/60/steps/jtregcheck/logs/stdio Passed: com/sun/jdi/EnumTest.java Passed: com/sun/jdi/EvalArgs.sh Passed: com/sun/jdi/EventQueueDisconnectTest.java command timed out: 1200 seconds without output, killing pid 8003 process killed by signal 9 program finished with exit code -1 elapsedTime=4722.063891 IcedTea6 doesn't build, but that isn't a new issue it seems, some change in Corba? See: http://builder.classpath.org/icedtea/buildbot/builders/icedtea6-f16-x86/builds/108/steps/compile/logs/stdio # Running javac: /var/lib/buildbot/icedtea/icedtea6-f16-x86/build/bootstrap/jdk1.6.0/bin/javac -J-XX:ThreadStackSize=1024 -J-client -J-Xmx369m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -g -XDignore.symbol.file=true -source 1.5 -target 5 -encoding ascii -classpath /var/lib/buildbot/icedtea/icedtea6-f16-x86/build/openjdk.build-ecj/langtools/dist/lib/classes.jar -Xprefer:source -bootclasspath /var/lib/buildbot/icedtea/icedtea6-f16-x86/build/bootstrap/jdk1.6.0/jre/lib/rt.jar:/var/lib/buildbot/icedtea/icedtea6-f16-x86/build/openjdk.build-ecj/corba/classes -sourcepath /var/lib/buildbot/icedtea/icedtea6-f16-x86/build/generated.build:../../../../../../src/share/classes:/var/lib/buildbot/icedtea/icedtea6-f16-x86/build/openjdk-ecj/jdk/src/share/classes:/var/lib/buildbot/icedtea/icedtea6-f16-x86/build/openjdk-ecj/jdk/src/solaris/classes -d /var/lib/buildbot/icedtea/icedtea6-f16-x86/build/openjdk.build-ecj/corba/classes @/var/lib/buildbot/icedtea/icedtea6-f16-x86/build/openjdk.build-ecj/corba/tmp/sun/com.sun.corba.se.impl.core/.classes.list ---------- 1. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1403) threadpoolMgr.close(); ^^^^^ The method close() is undefined for the type ThreadPoolManager ---------- 2. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1406) wrapper.ioExceptionOnClose(exc); ^^^^^^^^^^^^^^^^^^ The method ioExceptionOnClose(IOException) is undefined for the type ORBUtilSystemException ---------- 3. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1412) monitoringManager.close(); ^^^^^^^^^^^^^^^^^ The field ORB.monitoringManager is not visible ---------- 4. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1413) monitoringManager = null; ^^^^^^^^^^^^^^^^^ The field ORB.monitoringManager is not visible ---------- 5. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1415) wrapper.ioExceptionOnClose(exc); ^^^^^^^^^^^^^^^^^^ The method ioExceptionOnClose(IOException) is undefined for the type ORBUtilSystemException ---------- 6. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1420) pihandler.close(); ^^^^^ The method close() is undefined for the type PIHandler ---------- 7. ERROR in ../../../../../../src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java (at line 1422) wrapper.ioExceptionOnClose(exc); ^^^^^^^^^^^^^^^^^^ The method ioExceptionOnClose(IOException) is undefined for the type ORBUtilSystemException ---------- 7 problems (7 errors)make[8]: *** [.compile.classlist] Error 255 From bugzilla-daemon at icedtea.classpath.org Fri Nov 9 06:48:20 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 09 Nov 2012 14:48:20 +0000 Subject: [Bug 1198] JSObject#eval creates invalid JS object In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198 Adam Domurad changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|JSObject is not valid on |JSObject#eval creates |Javascript side |invalid JS object -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/7642a30f/attachment.html From adomurad at redhat.com Fri Nov 9 11:26:05 2012 From: adomurad at redhat.com (Adam Domurad) Date: Fri, 09 Nov 2012 14:26:05 -0500 Subject: [rfc][icedtea-web] Reproducer for PR1198: JSObject#eval creates invalid JS object Message-ID: <509D58CD.7050409@redhat.com> Reproduces http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198. When calling: JSObject win = JSObject.getWindow(applet); JSObject js = (JSObject) win.eval("new Object();") 'js' should be a valid JSObject, but due to this bug it is not possible to set or query its members. (JSObject encapsulates an ID passed from the C++ side of things, still looking into cause of bug). 2012-11-09 Adam Domurad Reproducer for PR1198, JSObject#eval creates invalid JS object. * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html: Loads applet + JS for test * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js: Calls java code to test JSObject#eval * tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java: Provides java<->JS wrappers for JSObject methods * tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java: Tests if JSObject#eval creates valid JSObject. -------------- next part -------------- A non-text attachment was scrubbed... Name: JSObjectFromEval.patch Type: text/x-patch Size: 9926 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/608eedcf/JSObjectFromEval.patch From omajid at redhat.com Fri Nov 9 12:08:23 2012 From: omajid at redhat.com (Omair Majid) Date: Fri, 09 Nov 2012 15:08:23 -0500 Subject: [rfc][icedtea-web] Reproducer for PR1198: JSObject#eval creates invalid JS object In-Reply-To: <509D58CD.7050409@redhat.com> References: <509D58CD.7050409@redhat.com> Message-ID: <509D62B7.40404@redhat.com> Hi, On 11/09/2012 02:26 PM, Adam Domurad wrote: > Reproduces http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198. Thanks, this looks fantastic! > When calling: > > JSObject win = JSObject.getWindow(applet); > JSObject js = (JSObject) win.eval("new Object();") > > 'js' should be a valid JSObject, but due to this bug it is not possible > to set or query its members. (JSObject encapsulates an ID passed from > the C++ side of things, still looking into cause of bug). > [snip] > Tests if JSObject#eval creates valid JSObject. Could you add some of this summary to the code itself? Otherwise looks fine to me. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From smohammad at redhat.com Fri Nov 9 12:19:57 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Fri, 09 Nov 2012 15:19:57 -0500 Subject: [RFC][icedtea-web]: Fix PR1166 - Embedded JNLP File is not supported in applet tag In-Reply-To: <506F3805.40804@redhat.com> References: <50648FF6.408@redhat.com> <50660483.3030309@redhat.com> <506B44E6.7030305@redhat.com> <506C7F7B.8020909@redhat.com> <506F3805.40804@redhat.com> Message-ID: <509D656D.5060201@redhat.com> Hi Adam, Thanks for taking a look over the reproducer. The updated patch is attached. Changelog has not changed from previous post but I will still include it below: ============================================================================== REPRODUCER ============================================================================== 2012-10-03 Saad Mohammad Added reproducer for PR1166. * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlp.jnlp: Launching jnlp file that is used by jnlp_href in applet tag * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletNoCodebase.html: Applet with an embedded jnlp file with no codebase specified * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletWithDotCodebase.html: Applet with an embedded jnlp file with codebase set as a 'dot' * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/JnlpInApplet.html: Applet with jnlp_href file. * tests/reproducers/simple/EmbeddedJnlpInApplet/srcs/EmbeddedJnlp.java: Simple class that outputs strings. * tests/reproducers/simple/EmbeddedJnlpInApplet/testcases/EmbeddedJnlpInAppletTest.java: Testcase that tests embedded jnlps in html pages. -- Cheers, Saad Mohammad -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducer0-4.patch Type: text/x-patch Size: 22313 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/4d236c32/reproducer0-4.patch From smohammad at redhat.com Fri Nov 9 12:19:43 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Fri, 09 Nov 2012 15:19:43 -0500 Subject: [RFC][icedtea-web]: Fix PR1166 - Embedded JNLP File is not supported in applet tag In-Reply-To: <5074705C.2050208@redhat.com> References: <50648FF6.408@redhat.com> <50660483.3030309@redhat.com> <506B44E6.7030305@redhat.com> <506C7F7B.8020909@redhat.com> <5074705C.2050208@redhat.com> Message-ID: <509D655F.1050302@redhat.com> Hi Adam, Thanks for taking a look over the fix and unit test patches. Updated patches are attached with few comments below. Changelog has not changed from previous post but I will still include it below: ============================================================================== BUG FIX: 2012-10-03 Saad Mohammad Fix PR1166: Embedded JNLP File is not supported in applet tag. * configure.ac: Checks for sun.misc.BASE64Encoder and sun.misc.BASE64Decoder * netx/net/sourceforge/jnlp/JNLPFile.java (JNLPFile): New constructor which accepts inputstream of jnlp file and a specified codebase. * netx/net/sourceforge/jnlp/Parser.java (Parser): If parsing of codebase fails, it will overwrite the codebase with the one passed in through parameters. * netx/net/sourceforge/jnlp/PluginBridge.java: (PluginBridge) Supports embedded jnlp file. (decodeBase64String) Decodes Base64 strings to byte array. ============================================================================== UNIT TESTS: 2012-10-03 Saad Mohammad * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: Tests the JNLPFile constructor that accepts an InputStream and an alternative codebase. * tests/netx/unit/net/sourceforge/jnlp/ParserTest.java: Tests if the constructor handles the alternative codebase parameter correctly. * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: Tests if BASE64 strings are decoded correctly and if PluginBridge is constructed with an embedded jnlp. ============================================================================== [...snip..] > Review of bugfix & unit test: > >> diff --git a/configure.ac b/configure.ac >> --- a/configure.ac >> +++ b/configure.ac >> @@ -77,6 +77,8 @@ >> IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, >> [sun.net.www.protocol.jar.URLJarFileCallBack]) >> IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame]) >> IT_CHECK_FOR_CLASS(SUN_MISC_REF, [sun.misc.Ref]) >> +IT_CHECK_FOR_CLASS(SUN_MISC_BASE64ENCODER, [sun.misc.BASE64Encoder]) I have removed this check after Omair's suggestion to use net.sourceforge.jnlp.util.replacements.BASE64Encoder instead of sun.misc.Base64Encoder. >> +IT_CHECK_FOR_CLASS(SUN_MISC_BASE64DECODER, [sun.misc.BASE64Decoder]) > > It's neither here nor there, but I wonder if these classes will still be > available here once http://openjdk.java.net/jeps/135 rolls around. I am not too sure what will happen to sun.misc.BASE64Decoder after that is implemented. Perhaps the class will be marked as deprecated and at that point we can change this if there are any issues. But as of right now, I don't see any real problem to avoid using this class. > >> IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, >> [com.sun.jndi.toolkit.url.UrlUtil]) >> IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef]) >> IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE [...snip...] >> + >> + if (jnlpFile.isApplet()) >> + main = jnlpFile.getApplet().getMainClass(); > > Considering these two lines are new, could they safely be part of the > 'containsKey("jnlp_embedded") ' case ? It'd be a little clearer in my opinion. > I think this is fine IMO as these two lines of code are also used in the PR1189 fix to determine the main class of a non-embedded jnlp file. As we previously discussed on IRC, the main-class within the jnlp file is _always_ chosen over the main class specified within the code attribute of the applet tag (if specified, of course). PR1189 patch (which you also reviewed): -- Cheers, Saad Mohammad -------------- next part -------------- A non-text attachment was scrubbed... Name: fix-0-4.patch Type: text/x-patch Size: 4686 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/8352f6e4/fix-0-4.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: unittests0-4.patch Type: text/x-patch Size: 14908 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121109/8352f6e4/unittests0-4.patch From adomurad at redhat.com Fri Nov 9 13:01:13 2012 From: adomurad at redhat.com (Adam Domurad) Date: Fri, 09 Nov 2012 16:01:13 -0500 Subject: [RFC][icedtea-web]: Fix PR1166 - Embedded JNLP File is not supported in applet tag In-Reply-To: <509D655F.1050302@redhat.com> References: <50648FF6.408@redhat.com> <50660483.3030309@redhat.com> <506B44E6.7030305@redhat.com> <506C7F7B.8020909@redhat.com> <5074705C.2050208@redhat.com> <509D655F.1050302@redhat.com> Message-ID: <509D6F19.2080501@redhat.com> On 11/09/2012 03:19 PM, Saad Mohammad wrote: > Hi Adam, > > Thanks for taking a look over the fix and unit test patches. > Updated patches are attached with few comments below. > > Changelog has not changed from previous post but I will still include it below: > > ============================================================================== > BUG FIX: > > 2012-10-03 Saad Mohammad > > Fix PR1166: Embedded JNLP File is not supported in applet tag. > * configure.ac: Checks for sun.misc.BASE64Encoder and > sun.misc.BASE64Decoder > * netx/net/sourceforge/jnlp/JNLPFile.java (JNLPFile): > New constructor which accepts inputstream of jnlp file and a > specified codebase. > * netx/net/sourceforge/jnlp/Parser.java (Parser): If parsing of > codebase fails, it will overwrite the codebase with the one passed > in through parameters. > * netx/net/sourceforge/jnlp/PluginBridge.java: > (PluginBridge) Supports embedded jnlp file. > (decodeBase64String) Decodes Base64 strings to byte array. > > ============================================================================== > UNIT TESTS: > > 2012-10-03 Saad Mohammad > > * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: > Tests the JNLPFile constructor that accepts an InputStream and an alternative > codebase. > * tests/netx/unit/net/sourceforge/jnlp/ParserTest.java: > Tests if the constructor handles the alternative codebase parameter correctly. > * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: > Tests if BASE64 strings are decoded correctly and if PluginBridge is > constructed with an > embedded jnlp. > > ============================================================================== > > > [...snip..] > >> Review of bugfix & unit test: >> >>> diff --git a/configure.ac b/configure.ac >>> --- a/configure.ac >>> +++ b/configure.ac >>> @@ -77,6 +77,8 @@ >>> IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, >>> [sun.net.www.protocol.jar.URLJarFileCallBack]) >>> IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame]) >>> IT_CHECK_FOR_CLASS(SUN_MISC_REF, [sun.misc.Ref]) >>> +IT_CHECK_FOR_CLASS(SUN_MISC_BASE64ENCODER, [sun.misc.BASE64Encoder]) > I have removed this check after Omair's suggestion to use > net.sourceforge.jnlp.util.replacements.BASE64Encoder instead > of sun.misc.Base64Encoder. > >>> +IT_CHECK_FOR_CLASS(SUN_MISC_BASE64DECODER, [sun.misc.BASE64Decoder]) >> It's neither here nor there, but I wonder if these classes will still be >> available here once http://openjdk.java.net/jeps/135 rolls around. > I am not too sure what will happen to sun.misc.BASE64Decoder after that is > implemented. Perhaps the class will be marked as deprecated and at that point we > can change this if there are any issues. But as of right now, I don't see any > real problem to avoid using this class. > >>> IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, >>> [com.sun.jndi.toolkit.url.UrlUtil]) >>> IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef]) >>> IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE > [...snip...] > >>> + >>> + if (jnlpFile.isApplet()) >>> + main = jnlpFile.getApplet().getMainClass(); >> Considering these two lines are new, could they safely be part of the >> 'containsKey("jnlp_embedded") ' case ? It'd be a little clearer in my opinion. >> > I think this is fine IMO as these two lines of code are also used in the PR1189 > fix to determine the main class of a non-embedded jnlp file. As we previously > discussed on IRC, the main-class within the jnlp file is _always_ chosen over > the main class specified within the code attribute of the applet tag (if > specified, of course). > > PR1189 patch (which you also reviewed): > > > Thanks for the patch updates! Reproducer + patch + unit tests look good to me now, all OK for HEAD. Thanks for sticking with it. - Adam From bugzilla-daemon at icedtea.classpath.org Sat Nov 10 15:57:10 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 10 Nov 2012 23:57:10 +0000 Subject: [Bug 1216] New: Crash when using libpam.so Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1216 Priority: P3 Bug ID: 1216 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: Crash when using libpam.so Severity: normal Classification: Unclassified OS: Linux Reporter: susanne.wenz at jalin.de Hardware: x86_64 Status: NEW Version: 6-1.8.13 Component: IcedTea Product: IcedTea -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121110/ec715af7/attachment.html From bugzilla-daemon at icedtea.classpath.org Sat Nov 10 16:04:35 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 11 Nov 2012 00:04:35 +0000 Subject: [Bug 1216] Crash when using libpam.so In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1216 --- Comment #1 from Susanne Wenz --- Created attachment 794 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=794&action=edit Logfile -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121111/33d91038/attachment.html From bugzilla-daemon at icedtea.classpath.org Sat Nov 10 16:05:50 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 11 Nov 2012 00:05:50 +0000 Subject: [Bug 1216] Crash when using libpam.so In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1216 --- Comment #2 from Susanne Wenz --- Created attachment 795 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=795&action=edit Library for libpam -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121111/7e0ac98e/attachment.html From bugzilla-daemon at icedtea.classpath.org Sat Nov 10 16:13:07 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 11 Nov 2012 00:13:07 +0000 Subject: [Bug 1216] Crash when using libpam.so In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1216 --- Comment #3 from Susanne Wenz --- Hi, I tried to check a password with TestLibPAM.java when using the following command java -Djava.library.path=/lib -cp .:/var/lib/tomcat6/webapps/wiki/WEB-INF/lib/jna.jar:/var/lib/tomcat6/webapps/wiki/WEB-INF/lib/libpam4j-1.7-SNAPSHOT.jar TestLibPAM susanne xxx The error is logged in hs_err_pid10182.log and seems to be in libc.so.6 Or did I make a mistake? Thanks for your help. Regards Susanne -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121111/506a3310/attachment.html From bugzilla-daemon at icedtea.classpath.org Sat Nov 10 16:14:51 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 11 Nov 2012 00:14:51 +0000 Subject: [Bug 1216] Crash when using libpam.so In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1216 --- Comment #4 from Susanne Wenz --- Created attachment 796 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=796&action=edit Javaprogram -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121111/582aa0bc/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Nov 11 04:06:42 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 11 Nov 2012 12:06:42 +0000 Subject: [Bug 1216] Crash when using libpam.so In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1216 Susanne Wenz changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from Susanne Wenz --- Hi, I changed to oracles java: same problem. I took the newest jna.jar: problem solved. Regards Susanne -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121111/910d26a7/attachment.html From ptisnovs at icedtea.classpath.org Mon Nov 12 00:59:35 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 12 Nov 2012 08:59:35 +0000 Subject: /hg/gfx-test: Added eleven new tests to the test suite Message-ID: changeset 24e9281c1f40 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=24e9281c1f40 author: Pavel Tisnovsky date: Mon Nov 12 10:02:31 2012 +0100 Added eleven new tests to the test suite src/org/gfxtest/testsuites/BitBltBasicTests.java. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBasicTests.java | 165 +++++++++++++++++++++++ 2 files changed, 170 insertions(+), 0 deletions(-) diffs (187 lines): diff -r 1368deeafc02 -r 24e9281c1f40 ChangeLog --- a/ChangeLog Thu Nov 01 10:49:40 2012 +0100 +++ b/ChangeLog Mon Nov 12 10:02:31 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-12 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBasicTests.java: + Added eleven new tests to this test suite. + 2012-11-01 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBasicTests.java: diff -r 1368deeafc02 -r 24e9281c1f40 src/org/gfxtest/testsuites/BitBltBasicTests.java --- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Thu Nov 01 10:49:40 2012 +0100 +++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Mon Nov 12 10:02:31 2012 +0100 @@ -1538,6 +1538,171 @@ } /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_INT_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_RGB); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_INT_BGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_BGR); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_INT_ARGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageType4ByteABGR_PRE(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_USHORT_GRAY. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_USHORT_565_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB); + } + + /** + * Test basic BitBlt operation for horizontal color stripes buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltHorizontalColorStripesBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithHorizontalColorStripesImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR); + } + + /** * Test basic BitBlt operation for vertical color stripes buffered image * with type TYPE_BYTE_BINARY. * From ptisnovs at icedtea.classpath.org Mon Nov 12 01:18:21 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 12 Nov 2012 09:18:21 +0000 Subject: /hg/rhino-tests: Make the test src/org/RhinoTests/ScriptContextC... Message-ID: changeset 700199dfbe1c in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=700199dfbe1c author: Pavel Tisnovsky date: Mon Nov 12 10:21:17 2012 +0100 Make the test src/org/RhinoTests/ScriptContextClassTest.java compatible with JDK 7. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptContextClassTest.java | 118 +++++++++++++++++++----- 2 files changed, 97 insertions(+), 26 deletions(-) diffs (204 lines): diff -r 54e2a2055eec -r 700199dfbe1c ChangeLog --- a/ChangeLog Thu Nov 01 10:23:59 2012 +0100 +++ b/ChangeLog Mon Nov 12 10:21:17 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-12 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptContextClassTest.java: + Make this test compatible with JDK 7. + 2012-11-01 Pavel Tisnovsky * src/org/RhinoTests/Reporter/HistoryPagesGenerator.java: diff -r 54e2a2055eec -r 700199dfbe1c src/org/RhinoTests/ScriptContextClassTest.java --- a/src/org/RhinoTests/ScriptContextClassTest.java Thu Nov 01 10:23:59 2012 +0100 +++ b/src/org/RhinoTests/ScriptContextClassTest.java Mon Nov 12 10:21:17 2012 +0100 @@ -43,6 +43,8 @@ import java.util.Arrays; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.HashMap; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -65,7 +67,7 @@ /** * Object that represents the type of ScriptContext. */ - Class scriptContextClass = null; + Class scriptContextClass = null; @Override protected void setUp(String[] args) { @@ -193,7 +195,7 @@ * Test for method javax.script.ScriptContext.getClass().getInterfaces() */ protected void testGetInterfaces() { - List interfaces = Arrays.asList(this.scriptContextClass.getInterfaces()); + List> interfaces = Arrays.asList(this.scriptContextClass.getInterfaces()); assertTrue(interfaces.isEmpty(), "list of implemented interfaces should be empty"); } @@ -261,7 +263,7 @@ * Test for method javax.script.ScriptContext.getClass().getSuperclass() */ protected void testGetSuperclass() { - Class superClass = this.scriptContextClass.getSuperclass(); + Class superClass = this.scriptContextClass.getSuperclass(); assertNull(superClass, "Method ScriptContext.getClass().getSuperclass() does not return null"); } @@ -270,16 +272,42 @@ * Test for method javax.script.ScriptContext.getClass().getConstructors() */ protected void testGetConstructors() { - Constructor[] constructors = this.scriptContextClass.getConstructors(); + // map of constructors which should exists + Map testedConstructors = null; + Map testedConstructors_jdk6 = new HashMap(); + Map testedConstructors_jdk7 = new HashMap(); + + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all constructors for this class + Constructor[] constructors = this.scriptContextClass.getConstructors(); + + // basic check for a number of constructors assertEquals(constructors.length, 0, "no constructors should be set"); + } /** * Test for method javax.script.ScriptContext.getClass().getDeclaredConstructors() */ protected void testGetDeclaredConstructors() { - Constructor[] constructors = this.scriptContextClass.getDeclaredConstructors(); - assertEquals(constructors.length, 0, "no constructors should be set"); + // map of constructors which should exists + Map testedConstructors = null; + Map testedConstructors_jdk6 = new HashMap(); + Map testedConstructors_jdk7 = new HashMap(); + + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all declared constructors for this class + Constructor[] declaredConstructors = this.scriptContextClass.getDeclaredConstructors(); + + // basic check for a number of declared constructors + assertEquals(declaredConstructors.length, 0, "no constructors should be set"); + } /** @@ -333,7 +361,7 @@ */ protected void testGetMethods() { // following methods should be inherited - final String[] methodsThatShouldExists = { + final String[] methodsThatShouldExists_jdk6 = { "public abstract int javax.script.ScriptContext.getAttributesScope(java.lang.String)", "public abstract java.io.Reader javax.script.ScriptContext.getReader()", "public abstract java.io.Writer javax.script.ScriptContext.getErrorWriter()", @@ -349,26 +377,8 @@ "public abstract void javax.script.ScriptContext.setReader(java.io.Reader)", "public abstract void javax.script.ScriptContext.setWriter(java.io.Writer)", }; - // get all inherited methods - Method[] methods = this.scriptContextClass.getMethods(); - // and transform the array into a list of method names - List methodsAsString = new ArrayList(); - for (Method method : methods) { - methodsAsString.add(method.toString()); - } - // check if all required methods really exists - for (String methodThatShouldExists : methodsThatShouldExists) { - assertTrue(methodsAsString.contains(methodThatShouldExists), - "method " + methodThatShouldExists + " not found"); - } - } - /** - * Test for method javax.script.ScriptContext.getClass().getDeclaredMethods() - */ - protected void testGetDeclaredMethods() { - // following methods should be declared - final String[] declaredMethodsThatShouldExists = { + final String[] methodsThatShouldExists_jdk7 = { "public abstract int javax.script.ScriptContext.getAttributesScope(java.lang.String)", "public abstract java.io.Reader javax.script.ScriptContext.getReader()", "public abstract java.io.Writer javax.script.ScriptContext.getErrorWriter()", @@ -384,6 +394,61 @@ "public abstract void javax.script.ScriptContext.setReader(java.io.Reader)", "public abstract void javax.script.ScriptContext.setWriter(java.io.Writer)", }; + + // get all inherited methods + Method[] methods = this.scriptContextClass.getMethods(); + // and transform the array into a list of method names + List methodsAsString = new ArrayList(); + for (Method method : methods) { + methodsAsString.add(method.toString()); + } + String[] methodsThatShouldExists = getJavaVersion() < 7 ? methodsThatShouldExists_jdk6 : methodsThatShouldExists_jdk7; + // check if all required methods really exists + for (String methodThatShouldExists : methodsThatShouldExists) { + assertTrue(methodsAsString.contains(methodThatShouldExists), + "method " + methodThatShouldExists + " not found"); + } + } + + /** + * Test for method javax.script.ScriptContext.getClass().getDeclaredMethods() + */ + protected void testGetDeclaredMethods() { + // following methods should be declared + final String[] declaredMethodsThatShouldExists_jdk6 = { + "public abstract int javax.script.ScriptContext.getAttributesScope(java.lang.String)", + "public abstract java.io.Reader javax.script.ScriptContext.getReader()", + "public abstract java.io.Writer javax.script.ScriptContext.getErrorWriter()", + "public abstract java.io.Writer javax.script.ScriptContext.getWriter()", + "public abstract java.lang.Object javax.script.ScriptContext.getAttribute(java.lang.String)", + "public abstract java.lang.Object javax.script.ScriptContext.getAttribute(java.lang.String,int)", + "public abstract java.lang.Object javax.script.ScriptContext.removeAttribute(java.lang.String,int)", + "public abstract java.util.List javax.script.ScriptContext.getScopes()", + "public abstract javax.script.Bindings javax.script.ScriptContext.getBindings(int)", + "public abstract void javax.script.ScriptContext.setAttribute(java.lang.String,java.lang.Object,int)", + "public abstract void javax.script.ScriptContext.setBindings(javax.script.Bindings,int)", + "public abstract void javax.script.ScriptContext.setErrorWriter(java.io.Writer)", + "public abstract void javax.script.ScriptContext.setReader(java.io.Reader)", + "public abstract void javax.script.ScriptContext.setWriter(java.io.Writer)", + }; + + final String[] declaredMethodsThatShouldExists_jdk7 = { + "public abstract int javax.script.ScriptContext.getAttributesScope(java.lang.String)", + "public abstract java.io.Reader javax.script.ScriptContext.getReader()", + "public abstract java.io.Writer javax.script.ScriptContext.getErrorWriter()", + "public abstract java.io.Writer javax.script.ScriptContext.getWriter()", + "public abstract java.lang.Object javax.script.ScriptContext.getAttribute(java.lang.String)", + "public abstract java.lang.Object javax.script.ScriptContext.getAttribute(java.lang.String,int)", + "public abstract java.lang.Object javax.script.ScriptContext.removeAttribute(java.lang.String,int)", + "public abstract java.util.List javax.script.ScriptContext.getScopes()", + "public abstract javax.script.Bindings javax.script.ScriptContext.getBindings(int)", + "public abstract void javax.script.ScriptContext.setAttribute(java.lang.String,java.lang.Object,int)", + "public abstract void javax.script.ScriptContext.setBindings(javax.script.Bindings,int)", + "public abstract void javax.script.ScriptContext.setErrorWriter(java.io.Writer)", + "public abstract void javax.script.ScriptContext.setReader(java.io.Reader)", + "public abstract void javax.script.ScriptContext.setWriter(java.io.Writer)", + }; + // get all declared methods Method[] declaredMethods = this.scriptContextClass.getDeclaredMethods(); // and transform the array into a list of method names @@ -391,6 +456,7 @@ for (Method method : declaredMethods) { methodsAsString.add(method.toString()); } + String[] declaredMethodsThatShouldExists = getJavaVersion() < 7 ? declaredMethodsThatShouldExists_jdk6 : declaredMethodsThatShouldExists_jdk7; // check if all required methods really exists for (String methodThatShouldExists : declaredMethodsThatShouldExists) { assertTrue(methodsAsString.contains(methodThatShouldExists), From jerome.bouat at wanadoo.fr Sun Nov 11 02:57:23 2012 From: jerome.bouat at wanadoo.fr (=?ISO-8859-1?Q?J=E9r=F4me_Bouat?=) Date: Sun, 11 Nov 2012 11:57:23 +0100 Subject: deb packages : xz compression ? Message-ID: <509F8493.9070106@wanadoo.fr> Hello, By default the dpkg-deb tool builds deb packages with gzip compression. Could you possibly change your default the scripts in order to automatically build deb packages with xz. ON the wiki page : http://icedtea.classpath.org/wiki/DebianBuildingInstructions#Advanced:_create_a_Debian_binary_package we could update the below command : """ dpkg -b tmp/ DEBS/ """ by the below command : """ dpkg -b -Zxz -z9 -Sextreme tmp/ DEBS/ """ Regards. From jvanek at redhat.com Mon Nov 12 04:10:27 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 12 Nov 2012 13:10:27 +0100 Subject: [rfc][icedtea-web] Reproducer for PR1198: JSObject#eval creates invalid JS object In-Reply-To: <509D58CD.7050409@redhat.com> References: <509D58CD.7050409@redhat.com> Message-ID: <50A0E733.90100@redhat.com> On 11/09/2012 08:26 PM, Adam Domurad wrote: > Reproduces http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198. > When calling: > > JSObject win = JSObject.getWindow(applet); > JSObject js = (JSObject) win.eval("new Object();") > > 'js' should be a valid JSObject, but due to this bug it is not possible to set or query its members. > (JSObject encapsulates an ID passed from the C++ side of things, still looking into cause of bug). > > 2012-11-09 Adam Domurad > > Reproducer for PR1198, JSObject#eval creates invalid JS object. > * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html: > Loads applet + JS for test > * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js: > Calls java code to test JSObject#eval > * tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java: > Provides java<->JS wrappers for JSObject methods > * tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java: > Tests if JSObject#eval creates valid JSObject. Ok from my side. I would probably change Browser.all to Browser.one, but it is up to you. Thanx for reproducer. J. From ptisnovs at icedtea.classpath.org Tue Nov 13 02:00:27 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 13 Nov 2012 10:00:27 +0000 Subject: /hg/gfx-test: Added support for linear and closed Path2D.Float a... Message-ID: changeset a331ece4516a in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a331ece4516a author: Pavel Tisnovsky date: Tue Nov 13 11:03:22 2012 +0100 Added support for linear and closed Path2D.Float and Path2D.Double in the framework class src/org/gfxtest/framework/CommonPathsGenerator.java. diffstat: ChangeLog | 5 + src/org/gfxtest/framework/CommonPathsGenerator.java | 225 ++++++++++++++++++++ 2 files changed, 230 insertions(+), 0 deletions(-) diffs (261 lines): diff -r 24e9281c1f40 -r a331ece4516a ChangeLog --- a/ChangeLog Mon Nov 12 10:02:31 2012 +0100 +++ b/ChangeLog Tue Nov 13 11:03:22 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-13 Pavel Tisnovsky + + * src/org/gfxtest/framework/CommonPathsGenerator.java: + Support for linear and closed Path2D.Float and Path2D.Double. + 2012-11-12 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBasicTests.java: diff -r 24e9281c1f40 -r a331ece4516a src/org/gfxtest/framework/CommonPathsGenerator.java --- a/src/org/gfxtest/framework/CommonPathsGenerator.java Mon Nov 12 10:02:31 2012 +0100 +++ b/src/org/gfxtest/framework/CommonPathsGenerator.java Tue Nov 13 11:03:22 2012 +0100 @@ -97,6 +97,41 @@ } /** + * Create new path using Path2D.Double() which contains just one line. + * + * @param image + * test image + * @return created path + */ + public static Path2D createLinePathDouble(TestImage image) + { + return createLinePathDouble(image.getWidth(), image.getHeight()); + } + + /** + * Create new path using Path2D.Double() which contains just one line. + * + * @param width + * canvas width + * @param height + * canvas height + * @return created path + */ + public static Path2D createLinePathDouble(int width, int height) + { + Path2D path = new Path2D.Double(); + // start point + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // end point + int x2 = width - LINE_PATH_OFFSET; + int y2 = height - LINE_PATH_OFFSET; + path.moveTo(x1, y1); + path.lineTo(x2, y2); + return path; + } + + /** * Create new path using Path2D.Float() which contains just one quadratic * curve. * @@ -586,6 +621,156 @@ } /** + * + * @param image + * @return + */ + public static Path2D createClosedPathContainingQuadraticSegmentFloat(TestImage image) + { + return createClosedPathContainingCubicSegmentFloat(image.getWidth(), image.getHeight()); + } + + /** + * + * @param width + * @param height + * @return + */ + public static Path2D createClosedPathContainingQuadraticSegmentFloat(int width, int height) + { + Path2D path = new Path2D.Float(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = y1; + // 3rd vertex + int x3 = x2; + int y3 = height - LINE_PATH_OFFSET; + // 4rd vertex + int x4 = x1; + int y4 = y3; + path.moveTo(x1, y1); + path.lineTo(x2, y2); + path.quadTo(x3, y3, x4, y4); + path.closePath(); + return path; + } + + /** + * + * @param image + * @return + */ + public static Path2D createClosedPathContainingCubicSegmentFloat(TestImage image) + { + return createClosedPathContainingCubicSegmentFloat(image.getWidth(), image.getHeight()); + } + + /** + * + * @param width + * @param height + * @return + */ + public static Path2D createClosedPathContainingCubicSegmentFloat(int width, int height) + { + Path2D path = new Path2D.Float(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = y1; + // 3rd vertex + int x3 = x2; + int y3 = height - LINE_PATH_OFFSET; + // 4rd vertex + int x4 = x1; + int y4 = y3; + path.moveTo(x1, y1); + path.curveTo(x2, y2, x3, y3, x4, y4); + path.closePath(); + return path; + } + + /** + * + * @param image + * @return + */ + public static Path2D createClosedPathContainingQuadraticSegmentDouble(TestImage image) + { + return createClosedPathContainingQuadraticSegmentDouble(image.getWidth(), image.getHeight()); + } + + /** + * + * @param width + * @param height + * @return + */ + public static Path2D createClosedPathContainingQuadraticSegmentDouble(int width, int height) + { + Path2D path = new Path2D.Double(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = y1; + // 3rd vertex + int x3 = x2; + int y3 = height - LINE_PATH_OFFSET; + // 4rd vertex + int x4 = x1; + int y4 = y3; + path.moveTo(x1, y1); + path.lineTo(x2, y2); + path.quadTo(x3, y3, x4, y4); + path.closePath(); + return path; + } + + /** + * + * @param image + * @return + */ + public static Path2D createClosedPathContainingCubicSegmentDouble(TestImage image) + { + return createClosedPathContainingCubicSegmentDouble(image.getWidth(), image.getHeight()); + } + + /** + * + * @param width + * @param height + * @return + */ + public static Path2D createClosedPathContainingCubicSegmentDouble(int width, int height) + { + Path2D path = new Path2D.Float(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = y1; + // 3rd vertex + int x3 = x2; + int y3 = height - LINE_PATH_OFFSET; + // 4rd vertex + int x4 = x1; + int y4 = y3; + path.moveTo(x1, y1); + path.curveTo(x2, y2, x3, y3, x4, y4); + path.closePath(); + return path; + } + + /** * Create new path using Path2D.Float() which contains just lines. * * @param image @@ -629,6 +814,46 @@ return path; } + public static Path2D createCrossedClosedPathContainingQuadraticSegmentFloat(TestImage image) + { + return createCrossedClosedPathContainingQuadraticSegmentFloat(image.getWidth(), image.getWidth()); + } + + public static Path2D createCrossedClosedPathContainingQuadraticSegmentFloat(int width, int height) + { + return null; + } + + public static Path2D createCrossedClosedPathContainingQuadraticSegmentDouble(TestImage image) + { + return createCrossedClosedPathContainingQuadraticSegmentDouble(image.getWidth(), image.getWidth()); + } + + public static Path2D createCrossedClosedPathContainingQuadraticSegmentDouble(int width, int height) + { + return null; + } + + public static Path2D createCrossedClosedPathContainingCubicSegmentFloat(TestImage image) + { + return createCrossedClosedPathContainingCubicSegmentFloat(image.getWidth(), image.getWidth()); + } + + public static Path2D createCrossedClosedPathContainingCubicSegmentFloat(int width, int height) + { + return null; + } + + public static Path2D createCrossedClosedPathContainingCubicSegmentDouble(TestImage image) + { + return createCrossedClosedPathContainingCubicSegmentDouble(image.getWidth(), image.getWidth()); + } + + public static Path2D createCrossedClosedPathContainingCubicSegmentDouble(int width, int height) + { + return null; + } + /** * Compute X coordinate of first curve end point. * From ptisnovs at icedtea.classpath.org Tue Nov 13 02:11:18 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 13 Nov 2012 10:11:18 +0000 Subject: /hg/rhino-tests: Make the test src/org/RhinoTests/ScriptEngineMa... Message-ID: changeset dc87f0d9c6b8 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=dc87f0d9c6b8 author: Pavel Tisnovsky date: Tue Nov 13 11:14:14 2012 +0100 Make the test src/org/RhinoTests/ScriptEngineManagerClassTest.java compatible with JDK 7. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptEngineManagerClassTest.java | 197 +++++++++++++++--- 2 files changed, 166 insertions(+), 36 deletions(-) diffs (299 lines): diff -r 700199dfbe1c -r dc87f0d9c6b8 ChangeLog --- a/ChangeLog Mon Nov 12 10:21:17 2012 +0100 +++ b/ChangeLog Tue Nov 13 11:14:14 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-13 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineManagerClassTest.java: + Make this test compatible with JDK 7. + 2012-11-12 Pavel Tisnovsky * src/org/RhinoTests/ScriptContextClassTest.java: diff -r 700199dfbe1c -r dc87f0d9c6b8 src/org/RhinoTests/ScriptEngineManagerClassTest.java --- a/src/org/RhinoTests/ScriptEngineManagerClassTest.java Mon Nov 12 10:21:17 2012 +0100 +++ b/src/org/RhinoTests/ScriptEngineManagerClassTest.java Tue Nov 13 11:14:14 2012 +0100 @@ -43,6 +43,8 @@ import java.util.Arrays; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.HashMap; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -65,7 +67,7 @@ /** * Object that represents the type of ScriptEngineManager. */ - Class scriptEngineManagerClass = null; + Class scriptEngineManagerClass = null; @Override protected void setUp(String[] args) { @@ -136,10 +138,64 @@ } /** + * Test for method javax.script.ScriptEngineManager.getClass().isAnnotation() + */ + protected void testIsAnnotation() { + assertFalse(this.scriptEngineManagerClass.isAnnotation(), + "Method ScriptEngineManager.getClass().isAnnotation() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineManager.getClass().isAnnotationPresent() + */ + protected void testIsAnnotationPresent() { + assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Annotation.class), + "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Annotation.class) returns wrong value"); + assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Documented.class), + "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Documented.class) returns wrong value"); + assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Inherited.class), + "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Inherited.class) returns wrong value"); + assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Retention.class), + "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Retention.class) returns wrong value"); + assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.annotation.Target.class), + "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.annotation.Target.class) returns wrong value"); + assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.Deprecated.class), + "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.Deprecated.class) returns wrong value"); + assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.Override.class), + "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.Override.class) returns wrong value"); + assertFalse(this.scriptEngineManagerClass.isAnnotationPresent(java.lang.SuppressWarnings.class), + "Method ScriptEngineManager.getClass().isAnnotationPresent(java.lang.SuppressWarnings.class) returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineManager.getClass().isAnonymousClass() + */ + protected void testIsAnonymousClass() { + assertFalse(this.scriptEngineManagerClass.isAnonymousClass(), + "Method ScriptEngineManager.getClass().isAnonymousClass() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineManager.getClass().isArray() + */ + protected void testIsArray() { + assertFalse(this.scriptEngineManagerClass.isArray(), + "Method ScriptEngineManager.getClass().isArray() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineManager.getClass().isEnum() + */ + protected void testIsEnum() { + assertFalse(this.scriptEngineManagerClass.isEnum(), + "Method ScriptEngineManager.getClass().isEnum() returns wrong value"); + } + + /** * Test for method javax.script.ScriptEngineManager.getClass().getInterfaces() */ protected void testGetInterfaces() { - List interfaces = Arrays.asList(this.scriptEngineManagerClass.getInterfaces()); + List> interfaces = Arrays.asList(this.scriptEngineManagerClass.getInterfaces()); assertTrue(interfaces.isEmpty(), "list of implemented interfaces should be empty"); } @@ -207,7 +263,7 @@ * Test for method javax.script.ScriptEngineManager.getClass().getSuperclass() */ protected void testGetSuperclass() { - Class superClass = this.scriptEngineManagerClass.getSuperclass(); + Class superClass = this.scriptEngineManagerClass.getSuperclass(); String superClassName = superClass.getName(); assertEquals(superClassName, "java.lang.Object", "Method ScriptEngineManager.getClass().getSuperclass() returns wrong value " + superClassName); @@ -217,44 +273,66 @@ * Test for method javax.script.ScriptEngineManager.getClass().getConstructors() */ protected void testGetConstructors() { - Constructor[] constructors = this.scriptEngineManagerClass.getConstructors(); + // map of constructors which should exists + Map testedConstructors = null; + Map testedConstructors_jdk6 = new HashMap(); + Map testedConstructors_jdk7 = new HashMap(); + + testedConstructors_jdk6.put("public javax.script.ScriptEngineManager()", "javax.script.ScriptEngineManager"); + testedConstructors_jdk6.put("public javax.script.ScriptEngineManager(java.lang.ClassLoader)", "javax.script.ScriptEngineManager"); + + testedConstructors_jdk7.put("public javax.script.ScriptEngineManager()", "javax.script.ScriptEngineManager"); + testedConstructors_jdk7.put("public javax.script.ScriptEngineManager(java.lang.ClassLoader)", "javax.script.ScriptEngineManager"); + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all constructors for this class + Constructor[] constructors = this.scriptEngineManagerClass.getConstructors(); + + // basic check for a number of constructors assertEquals(constructors.length, 2, "only 2 constructors should be set"); - String constructorName; - String constructorString; - constructorName = constructors[0].getName(); - constructorString = constructors[0].toString(); - assertEquals(constructorName, "javax.script.ScriptEngineManager", - "wrong constructor name " + constructorName); - assertEquals(constructorString, "public javax.script.ScriptEngineManager()", - "wrong constructor.toString() " + constructorName); - constructorName = constructors[1].getName(); - constructorString = constructors[1].toString(); - assertEquals(constructorName, "javax.script.ScriptEngineManager", - "wrong constructor name " + constructorName); - assertEquals(constructorString, "public javax.script.ScriptEngineManager(java.lang.ClassLoader)", - "wrong constructor.toString() " + constructorName); + + // check if all constructors exists + for (Constructor constructor : constructors) { + String constructorName = constructor.getName(); + String constructorString = constructor.toString(); + assertTrue(testedConstructors.containsKey(constructorString), "wrong constructor.toString() " + constructorName); + assertEquals(testedConstructors.get(constructorString), constructorName, "wrong constructor name " + constructorName); + } } /** * Test for method javax.script.ScriptEngineManager.getClass().getDeclaredConstructors() */ protected void testGetDeclaredConstructors() { - Constructor[] constructors = this.scriptEngineManagerClass.getDeclaredConstructors(); - assertEquals(constructors.length, 2, "only 2 constructors should be set"); - String constructorName; - String constructorString; - constructorName = constructors[0].getName(); - constructorString = constructors[0].toString(); - assertEquals(constructorName, "javax.script.ScriptEngineManager", - "wrong constructor name " + constructorName); - assertEquals(constructorString, "public javax.script.ScriptEngineManager()", - "wrong constructor.toString() " + constructorName); - constructorName = constructors[1].getName(); - constructorString = constructors[1].toString(); - assertEquals(constructorName, "javax.script.ScriptEngineManager", - "wrong constructor name " + constructorName); - assertEquals(constructorString, "public javax.script.ScriptEngineManager(java.lang.ClassLoader)", - "wrong constructor.toString() " + constructorName); + // map of constructors which should exists + Map testedConstructors = null; + Map testedConstructors_jdk6 = new HashMap(); + Map testedConstructors_jdk7 = new HashMap(); + + testedConstructors_jdk6.put("public javax.script.ScriptEngineManager()", "javax.script.ScriptEngineManager"); + testedConstructors_jdk6.put("public javax.script.ScriptEngineManager(java.lang.ClassLoader)", "javax.script.ScriptEngineManager"); + + testedConstructors_jdk7.put("public javax.script.ScriptEngineManager()", "javax.script.ScriptEngineManager"); + testedConstructors_jdk7.put("public javax.script.ScriptEngineManager(java.lang.ClassLoader)", "javax.script.ScriptEngineManager"); + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all declared constructors for this class + Constructor[] declaredConstructors = this.scriptEngineManagerClass.getDeclaredConstructors(); + + // basic check for a number of declared constructors + assertEquals(declaredConstructors.length, 2, "only 2 constructors should be set"); + + // check if all declared constructors exists + for (Constructor declaredConstructor : declaredConstructors) { + String constructorName = declaredConstructor.getName(); + String constructorString = declaredConstructor.toString(); + assertTrue(testedConstructors.containsKey(constructorString), "wrong constructor.toString() " + constructorName); + assertEquals(testedConstructors.get(constructorString), constructorName, "wrong constructor name " + constructorName); + } } /** @@ -310,7 +388,7 @@ */ protected void testGetMethods() { // following methods should be inherited - final String[] methodsThatShouldExists = { + final String[] methodsThatShouldExists_jdk6 = { "public boolean java.lang.Object.equals(java.lang.Object)", "public final native java.lang.Class java.lang.Object.getClass()", "public final native void java.lang.Object.notify()", @@ -332,6 +410,30 @@ "public void javax.script.ScriptEngineManager.registerEngineName(java.lang.String,javax.script.ScriptEngineFactory)", "public void javax.script.ScriptEngineManager.setBindings(javax.script.Bindings)", }; + + final String[] methodsThatShouldExists_jdk7 = { + "public boolean java.lang.Object.equals(java.lang.Object)", + "public final native java.lang.Class java.lang.Object.getClass()", + "public final native void java.lang.Object.notify()", + "public final native void java.lang.Object.notifyAll()", + "public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException", + "public final void java.lang.Object.wait() throws java.lang.InterruptedException", + "public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", + "public java.lang.Object javax.script.ScriptEngineManager.get(java.lang.String)", + "public java.lang.String java.lang.Object.toString()", + "public java.util.List javax.script.ScriptEngineManager.getEngineFactories()", + "public javax.script.Bindings javax.script.ScriptEngineManager.getBindings()", + "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByExtension(java.lang.String)", + "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByMimeType(java.lang.String)", + "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByName(java.lang.String)", + "public native int java.lang.Object.hashCode()", + "public void javax.script.ScriptEngineManager.put(java.lang.String,java.lang.Object)", + "public void javax.script.ScriptEngineManager.registerEngineExtension(java.lang.String,javax.script.ScriptEngineFactory)", + "public void javax.script.ScriptEngineManager.registerEngineMimeType(java.lang.String,javax.script.ScriptEngineFactory)", + "public void javax.script.ScriptEngineManager.registerEngineName(java.lang.String,javax.script.ScriptEngineFactory)", + "public void javax.script.ScriptEngineManager.setBindings(javax.script.Bindings)", + }; + // get all inherited methods Method[] methods = this.scriptEngineManagerClass.getMethods(); // and transform the array into a list of method names @@ -339,6 +441,7 @@ for (Method method : methods) { methodsAsString.add(method.toString()); } + String[] methodsThatShouldExists = getJavaVersion() < 7 ? methodsThatShouldExists_jdk6 : methodsThatShouldExists_jdk7; // check if all required methods really exists for (String methodThatShouldExists : methodsThatShouldExists) { assertTrue(methodsAsString.contains(methodThatShouldExists), @@ -351,7 +454,7 @@ */ protected void testGetDeclaredMethods() { // following methods should be declared - final String[] declaredMethodsThatShouldExists = { + final String[] declaredMethodsThatShouldExists_jdk6 = { "private boolean javax.script.ScriptEngineManager.canCallerAccessLoader(java.lang.ClassLoader)", "private boolean javax.script.ScriptEngineManager.isAncestor(java.lang.ClassLoader,java.lang.ClassLoader)", "private java.lang.ClassLoader javax.script.ScriptEngineManager.getCallerClassLoader()", @@ -370,6 +473,27 @@ "public void javax.script.ScriptEngineManager.setBindings(javax.script.Bindings)", "static void javax.script.ScriptEngineManager.access$000(javax.script.ScriptEngineManager,java.lang.ClassLoader)", }; + + final String[] declaredMethodsThatShouldExists_jdk7 = { + "private boolean javax.script.ScriptEngineManager.canCallerAccessLoader(java.lang.ClassLoader)", + "private boolean javax.script.ScriptEngineManager.isAncestor(java.lang.ClassLoader,java.lang.ClassLoader)", + "private java.lang.ClassLoader javax.script.ScriptEngineManager.getCallerClassLoader()", + "private void javax.script.ScriptEngineManager.init(java.lang.ClassLoader)", + "private void javax.script.ScriptEngineManager.initEngines(java.lang.ClassLoader)", + "public java.lang.Object javax.script.ScriptEngineManager.get(java.lang.String)", + "public java.util.List javax.script.ScriptEngineManager.getEngineFactories()", + "public javax.script.Bindings javax.script.ScriptEngineManager.getBindings()", + "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByExtension(java.lang.String)", + "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByMimeType(java.lang.String)", + "public javax.script.ScriptEngine javax.script.ScriptEngineManager.getEngineByName(java.lang.String)", + "public void javax.script.ScriptEngineManager.put(java.lang.String,java.lang.Object)", + "public void javax.script.ScriptEngineManager.registerEngineExtension(java.lang.String,javax.script.ScriptEngineFactory)", + "public void javax.script.ScriptEngineManager.registerEngineMimeType(java.lang.String,javax.script.ScriptEngineFactory)", + "public void javax.script.ScriptEngineManager.registerEngineName(java.lang.String,javax.script.ScriptEngineFactory)", + "public void javax.script.ScriptEngineManager.setBindings(javax.script.Bindings)", + "static void javax.script.ScriptEngineManager.access$000(javax.script.ScriptEngineManager,java.lang.ClassLoader)", + }; + // get all declared methods Method[] declaredMethods = this.scriptEngineManagerClass.getDeclaredMethods(); // and transform the array into a list of method names @@ -377,6 +501,7 @@ for (Method method : declaredMethods) { methodsAsString.add(method.toString()); } + String[] declaredMethodsThatShouldExists = getJavaVersion() < 7 ? declaredMethodsThatShouldExists_jdk6 : declaredMethodsThatShouldExists_jdk7; // check if all required methods really exists for (String methodThatShouldExists : declaredMethodsThatShouldExists) { assertTrue(methodsAsString.contains(methodThatShouldExists), From weijun.wang at oracle.com Tue Nov 13 03:00:29 2012 From: weijun.wang at oracle.com (Weijun Wang) Date: Tue, 13 Nov 2012 19:00:29 +0800 Subject: 8002344 code review request: (was Re: [PATCH] for bug 2376501: Krb5LoginModule config class does not return proper KDC list from DNS) In-Reply-To: <1352803432.2117.32.camel@dhcp-64-196.muc.redhat.com> References: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> <5099B0E0.1090908@oracle.com> <1352389589.2240.12.camel@dhcp-64-196.muc.redhat.com> <509C509E.8020206@oracle.com> <1352803432.2117.32.camel@dhcp-64-196.muc.redhat.com> Message-ID: <50A2284D.9070301@oracle.com> Where did you create this bug? Every new OpenJDK bug should starts with 7 or 8. I've been wondering what 2376501 means and thought it's something RedHat internal. -Max On 11/13/2012 06:43 PM, Severin Gehwolf wrote: > Hi Max, > > On Fri, 2012-11-09 at 08:38 +0800, Weijun Wang wrote: >> Hi Severin >> >> I've created an OpenJDK bug and created a new webrev: >> >> http://cr.openjdk.java.net/~weijun/8002344/webrev.00/ >> >> The Config.java change is identical to yours, and I added a small tweak >> in KrbServiceLocator, and a quite ugly regression test. > > Cool. Thanks! FWIW, I've created a bug with ID 2376501 for this (even > before I submitted a patch). Unfortunately, this bug is not accessible > to me. All it let me do was creating it :) > > Cheers, > Severin > From sgehwolf at redhat.com Tue Nov 13 02:43:52 2012 From: sgehwolf at redhat.com (Severin Gehwolf) Date: Tue, 13 Nov 2012 11:43:52 +0100 Subject: 8002344 code review request: (was Re: [PATCH] for bug 2376501: Krb5LoginModule config class does not return proper KDC list from DNS) In-Reply-To: <509C509E.8020206@oracle.com> References: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> <5099B0E0.1090908@oracle.com> <1352389589.2240.12.camel@dhcp-64-196.muc.redhat.com> <509C509E.8020206@oracle.com> Message-ID: <1352803432.2117.32.camel@dhcp-64-196.muc.redhat.com> Hi Max, On Fri, 2012-11-09 at 08:38 +0800, Weijun Wang wrote: > Hi Severin > > I've created an OpenJDK bug and created a new webrev: > > http://cr.openjdk.java.net/~weijun/8002344/webrev.00/ > > The Config.java change is identical to yours, and I added a small tweak > in KrbServiceLocator, and a quite ugly regression test. Cool. Thanks! FWIW, I've created a bug with ID 2376501 for this (even before I submitted a patch). Unfortunately, this bug is not accessible to me. All it let me do was creating it :) Cheers, Severin From sgehwolf at redhat.com Tue Nov 13 03:15:43 2012 From: sgehwolf at redhat.com (Severin Gehwolf) Date: Tue, 13 Nov 2012 12:15:43 +0100 Subject: 8002344 code review request: (was Re: [PATCH] for bug 2376501: Krb5LoginModule config class does not return proper KDC list from DNS) In-Reply-To: <50A2284D.9070301@oracle.com> References: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> <5099B0E0.1090908@oracle.com> <1352389589.2240.12.camel@dhcp-64-196.muc.redhat.com> <509C509E.8020206@oracle.com> <1352803432.2117.32.camel@dhcp-64-196.muc.redhat.com> <50A2284D.9070301@oracle.com> Message-ID: <1352805343.2117.40.camel@dhcp-64-196.muc.redhat.com> On Tue, 2012-11-13 at 19:00 +0800, Weijun Wang wrote: > Where did you create this bug? Every new OpenJDK bug should starts with > 7 or 8. I've been wondering what 2376501 means and thought it's > something RedHat internal. :) All I know is that it's nothing internal to Red Hat and I've created it via bugs.sun.com and clicking on "submit new bug"[1]. The bug ID came from the email I've received after it was submitted. Anywho, just wanted to let you know that there's another bug open *somewhere* within Oracle for the same issue and I can't access it. Cheers, Severin [1] Forwarded this bug email to you privately. > On 11/13/2012 06:43 PM, Severin Gehwolf wrote: > > Hi Max, > > > > On Fri, 2012-11-09 at 08:38 +0800, Weijun Wang wrote: > >> Hi Severin > >> > >> I've created an OpenJDK bug and created a new webrev: > >> > >> http://cr.openjdk.java.net/~weijun/8002344/webrev.00/ > >> > >> The Config.java change is identical to yours, and I added a small tweak > >> in KrbServiceLocator, and a quite ugly regression test. > > > > Cool. Thanks! FWIW, I've created a bug with ID 2376501 for this (even > > before I submitted a patch). Unfortunately, this bug is not accessible > > to me. All it let me do was creating it :) > > > > Cheers, > > Severin > > From weijun.wang at oracle.com Tue Nov 13 03:30:48 2012 From: weijun.wang at oracle.com (Weijun Wang) Date: Tue, 13 Nov 2012 19:30:48 +0800 Subject: 8002344 code review request: (was Re: [PATCH] for bug 2376501: Krb5LoginModule config class does not return proper KDC list from DNS) In-Reply-To: <1352805343.2117.40.camel@dhcp-64-196.muc.redhat.com> References: <1352214511.2246.12.camel@dhcp-64-196.muc.redhat.com> <5099B0E0.1090908@oracle.com> <1352389589.2240.12.camel@dhcp-64-196.muc.redhat.com> <509C509E.8020206@oracle.com> <1352803432.2117.32.camel@dhcp-64-196.muc.redhat.com> <50A2284D.9070301@oracle.com> <1352805343.2117.40.camel@dhcp-64-196.muc.redhat.com> Message-ID: <50A22F68.60204@oracle.com> Ah, it's the incident report number. They were automatically converted to an internal Oracle bug before we started using JIRA a month ago. I don't know where do they go now. Anyway, let's use 8002344 now. -Max On 11/13/2012 07:15 PM, Severin Gehwolf wrote: > On Tue, 2012-11-13 at 19:00 +0800, Weijun Wang wrote: >> Where did you create this bug? Every new OpenJDK bug should starts with >> 7 or 8. I've been wondering what 2376501 means and thought it's >> something RedHat internal. > > :) All I know is that it's nothing internal to Red Hat and I've created > it via bugs.sun.com and clicking on "submit new bug"[1]. The bug ID came > from the email I've received after it was submitted. Anywho, just wanted > to let you know that there's another bug open *somewhere* within Oracle > for the same issue and I can't access it. > > Cheers, > Severin > > [1] Forwarded this bug email to you privately. > >> On 11/13/2012 06:43 PM, Severin Gehwolf wrote: >>> Hi Max, >>> >>> On Fri, 2012-11-09 at 08:38 +0800, Weijun Wang wrote: >>>> Hi Severin >>>> >>>> I've created an OpenJDK bug and created a new webrev: >>>> >>>> http://cr.openjdk.java.net/~weijun/8002344/webrev.00/ >>>> >>>> The Config.java change is identical to yours, and I added a small tweak >>>> in KrbServiceLocator, and a quite ugly regression test. >>> >>> Cool. Thanks! FWIW, I've created a bug with ID 2376501 for this (even >>> before I submitted a patch). Unfortunately, this bug is not accessible >>> to me. All it let me do was creating it :) >>> >>> Cheers, >>> Severin >>> > > > From jfabriko at redhat.com Tue Nov 13 07:52:46 2012 From: jfabriko at redhat.com (Jana Fabrikova) Date: Tue, 13 Nov 2012 16:52:46 +0100 Subject: [rfc][icedtea-web] a new reproducer using AWT robot "mouse" Message-ID: <50A26CCE.3050803@redhat.com> 2012-11-13 Jana Fabrikova * /tests/reproducers/simple/AppletAWTMouse: adding a new reproducer for testing reactions of a button inside a html page to mouse events I would like to ask for review of the attached patch, thank you, Jana -------------- next part -------------- A non-text attachment was scrubbed... Name: adding_AppletAWTMouse_reproducer.patch Type: text/x-patch Size: 22827 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/b280d0ef/adding_AppletAWTMouse_reproducer.patch From smohammad at icedtea.classpath.org Tue Nov 13 07:51:19 2012 From: smohammad at icedtea.classpath.org (smohammad at icedtea.classpath.org) Date: Tue, 13 Nov 2012 15:51:19 +0000 Subject: /hg/icedtea-web: Reproducer for PR1166 Message-ID: changeset 755aa6b30bb7 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=755aa6b30bb7 author: Saad Mohammad date: Tue Nov 13 10:50:01 2012 -0500 Reproducer for PR1166 diffstat: ChangeLog | 16 + tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlp.jnlp | 61 ++++++ tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletNoCodebase.html | 97 ++++++++++ tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletWithDotCodebase.html | 97 ++++++++++ tests/reproducers/simple/EmbeddedJnlpInApplet/resources/JnlpInApplet.html | 45 ++++ tests/reproducers/simple/EmbeddedJnlpInApplet/srcs/EmbeddedJnlp.java | 47 ++++ tests/reproducers/simple/EmbeddedJnlpInApplet/testcases/EmbeddedJnlpInAppletTest.java | 71 +++++++ 7 files changed, 434 insertions(+), 0 deletions(-) diffs (465 lines): diff -r f934de8acee5 -r 755aa6b30bb7 ChangeLog --- a/ChangeLog Thu Nov 08 12:58:49 2012 -0500 +++ b/ChangeLog Tue Nov 13 10:50:01 2012 -0500 @@ -1,3 +1,19 @@ +2012-11-13 Saad Mohammad + + Added reproducer for PR1166. + * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlp.jnlp: + Launching jnlp file that is used by jnlp_href in applet tag + * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletNoCodebase.html: + Applet with an embedded jnlp file with no codebase specified + * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletWithDotCodebase.html: + Applet with an embedded jnlp file with codebase set as a 'dot' + * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/JnlpInApplet.html: + Applet with jnlp_href file. + * tests/reproducers/simple/EmbeddedJnlpInApplet/srcs/EmbeddedJnlp.java: + Simple class that outputs strings. + * tests/reproducers/simple/EmbeddedJnlpInApplet/testcases/EmbeddedJnlpInAppletTest.java: + Testcase that tests embedded jnlps in html pages. + 2012-11-08 Saad Mohammad * NEWS: Added entry for PR1027 - DownloadService is not supported by diff -r f934de8acee5 -r 755aa6b30bb7 tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlp.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlp.jnlp Tue Nov 13 10:50:01 2012 -0500 @@ -0,0 +1,61 @@ + + + + + SignedAppletTest + IcedTea + + SignedAppletTest + + + + + + + + + + + + diff -r f934de8acee5 -r 755aa6b30bb7 tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletNoCodebase.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletNoCodebase.html Tue Nov 13 10:50:01 2012 -0500 @@ -0,0 +1,97 @@ + + +

+ + + + + + + +

+ + diff -r f934de8acee5 -r 755aa6b30bb7 tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletWithDotCodebase.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletWithDotCodebase.html Tue Nov 13 10:50:01 2012 -0500 @@ -0,0 +1,97 @@ + + +

+ + + + + + + +

+ + diff -r f934de8acee5 -r 755aa6b30bb7 tests/reproducers/simple/EmbeddedJnlpInApplet/resources/JnlpInApplet.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/EmbeddedJnlpInApplet/resources/JnlpInApplet.html Tue Nov 13 10:50:01 2012 -0500 @@ -0,0 +1,45 @@ + + +

+ + + +

+ + diff -r f934de8acee5 -r 755aa6b30bb7 tests/reproducers/simple/EmbeddedJnlpInApplet/srcs/EmbeddedJnlp.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/EmbeddedJnlpInApplet/srcs/EmbeddedJnlp.java Tue Nov 13 10:50:01 2012 -0500 @@ -0,0 +1,47 @@ +/* EmbeddedJnlp.java +Copyright (C) 2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +import java.applet.Applet; + + at SuppressWarnings("serial") +public class EmbeddedJnlp extends Applet { + + @Override + public void start() { + System.out.println("*** APPLET FINISHED ***"); + } +} diff -r f934de8acee5 -r 755aa6b30bb7 tests/reproducers/simple/EmbeddedJnlpInApplet/testcases/EmbeddedJnlpInAppletTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/EmbeddedJnlpInApplet/testcases/EmbeddedJnlpInAppletTest.java Tue Nov 13 10:50:01 2012 -0500 @@ -0,0 +1,71 @@ +/* EmbeddedJnlpInAppletTest.java +Copyright (C) 2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +import junit.framework.Assert; +import net.sourceforge.jnlp.ProcessResult; +import net.sourceforge.jnlp.ServerAccess.AutoClose; +import net.sourceforge.jnlp.browsertesting.BrowserTest; +import net.sourceforge.jnlp.browsertesting.Browsers; +import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; +import net.sourceforge.jnlp.annotations.TestInBrowsers; +import org.junit.Test; + +public class EmbeddedJnlpInAppletTest extends BrowserTest { + + final static String s = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; + + @Test + @TestInBrowsers(testIn = { Browsers.one }) + public void JnlpInApplet() throws Exception { + ProcessResult pr = server.executeBrowser("/JnlpInApplet.html", AutoClose.CLOSE_ON_CORRECT_END); + Assert.assertTrue("Stdout should contain " + s + " but did not", pr.stdout.contains(s)); + } + + @Test + @TestInBrowsers(testIn = { Browsers.one }) + public void EmbeddedJnlpInAppletWithADotAsCodebase() throws Exception { + ProcessResult pr = server.executeBrowser("/EmbeddedJnlpInAppletWithDotCodebase.html", AutoClose.CLOSE_ON_CORRECT_END); + Assert.assertTrue("Stdout should contain " + s + " but did not", pr.stdout.contains(s)); + } + + @Test + @TestInBrowsers(testIn = { Browsers.one }) + public void EmbeddedJnlpInAppletWithNoCodebase() throws Exception { + ProcessResult pr = server.executeBrowser("/EmbeddedJnlpInAppletNoCodebase.html", AutoClose.CLOSE_ON_CORRECT_END); + Assert.assertTrue("Stdout should contain " + s + " but did not", pr.stdout.contains(s)); + } +} From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 07:51:28 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 15:51:28 +0000 Subject: [Bug 1166] Embedded JNLP File is not supported in applet tag In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1166 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=755aa6b30bb7 author: Saad Mohammad date: Tue Nov 13 10:50:01 2012 -0500 Reproducer for PR1166 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/891bef4a/attachment.html From smohammad at icedtea.classpath.org Tue Nov 13 07:55:42 2012 From: smohammad at icedtea.classpath.org (smohammad at icedtea.classpath.org) Date: Tue, 13 Nov 2012 15:55:42 +0000 Subject: /hg/icedtea-web: Unit tests for PR1166 Message-ID: changeset 19c14a4b76b4 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=19c14a4b76b4 author: Saad Mohammad date: Tue Nov 13 10:55:19 2012 -0500 Unit tests for PR1166 diffstat: ChangeLog | 11 + tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java | 45 +++ tests/netx/unit/net/sourceforge/jnlp/ParserTest.java | 57 ++++ tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java | 185 ++++++++++++- 4 files changed, 297 insertions(+), 1 deletions(-) diffs (354 lines): diff -r 755aa6b30bb7 -r 19c14a4b76b4 ChangeLog --- a/ChangeLog Tue Nov 13 10:50:01 2012 -0500 +++ b/ChangeLog Tue Nov 13 10:55:19 2012 -0500 @@ -1,3 +1,14 @@ +2012-11-13 Saad Mohammad + + Added unit tests for PR1166. + * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: + Tests the JNLPFile constructor that accepts an InputStream and an alternative codebase. + * tests/netx/unit/net/sourceforge/jnlp/ParserTest.java: + Tests if the constructor handles the alternative codebase parameter correctly. + * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: + Tests if BASE64 strings are decoded correctly and if PluginBridge is constructed with an + embedded jnlp. + 2012-11-13 Saad Mohammad Added reproducer for PR1166. diff -r 755aa6b30bb7 -r 19c14a4b76b4 tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java Tue Nov 13 10:50:01 2012 -0500 +++ b/tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java Tue Nov 13 10:55:19 2012 -0500 @@ -37,6 +37,10 @@ package net.sourceforge.jnlp; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; import java.util.Locale; import net.sourceforge.jnlp.JNLPFile.Match; @@ -103,4 +107,45 @@ Assert.assertFalse("Locales list should not match generalized case but did.", file.localeMatches(jvmLocale, mismatchAvailable, Match.GENERALIZED)); } + + @Test + public void testCodebaseConstructorWithInputstreamAndCodebase() throws Exception { + String jnlpContext = "\n" + + "\n" + + "" + + "\n" + + "Sample Test\n" + + "RedHat\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + ""; + + URL codeBase = new URL("http://www.redhat.com/"); + ; + InputStream is = new ByteArrayInputStream(jnlpContext.getBytes()); + + JNLPFile jnlpFile = new JNLPFile(is, codeBase, false); + + Assert.assertEquals("http://icedtea.claspath.org/", jnlpFile.getCodeBase().toExternalForm()); + Assert.assertEquals("redhat.embeddedjnlp", jnlpFile.getApplet().getMainClass()); + Assert.assertEquals("Sample Test", jnlpFile.getTitle()); + Assert.assertEquals(2, jnlpFile.getResources().getJARs().length); + } } diff -r 755aa6b30bb7 -r 19c14a4b76b4 tests/netx/unit/net/sourceforge/jnlp/ParserTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/ParserTest.java Tue Nov 13 10:50:01 2012 -0500 +++ b/tests/netx/unit/net/sourceforge/jnlp/ParserTest.java Tue Nov 13 10:55:19 2012 -0500 @@ -38,6 +38,7 @@ package net.sourceforge.jnlp; import java.io.ByteArrayInputStream; +import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -1355,4 +1356,60 @@ parser.checkForInformation(); } + + @Test + public void testOverwrittenCodebaseWithValidJnlpCodebase() throws Exception { + String data = "\n" + + "\n" + + ""; + + Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes())); + Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); + URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); + + MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); + Parser parser = new Parser(file, null, root, false, false, overwrittenCodebase); + + Assert.assertEquals("http://www.redhat.com/", parser.getCodeBase().toExternalForm()); + } + + @Test + public void testOverwrittenCodebaseWithInvalidJnlpCodebase() throws Exception { + String data = "\n" + + "\n" + + ""; + + Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes())); + Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); + URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); + + MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); + Parser parser = new Parser(file, null, root, false, false, overwrittenCodebase); + + Assert.assertEquals(overwrittenCodebase.toExternalForm(), parser.getCodeBase().toExternalForm()); + } + + @Test + public void testOverwrittenCodebaseWithNoJnlpCodebase() throws Exception { + String data = "\n" + + "\n" + + ""; + + Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes())); + Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); + URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); + + MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); + Parser parser = new Parser(file, null, root, false, false, overwrittenCodebase); + + Assert.assertEquals(overwrittenCodebase.toExternalForm(), parser.getCodeBase().toExternalForm()); + } } diff -r 755aa6b30bb7 -r 19c14a4b76b4 tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java Tue Nov 13 10:50:01 2012 -0500 +++ b/tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java Tue Nov 13 10:55:19 2012 -0500 @@ -27,10 +27,14 @@ import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; +import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; +import java.util.List; +import junit.framework.Assert; import net.sourceforge.jnlp.cache.UpdatePolicy; +import net.sourceforge.jnlp.util.replacements.BASE64Encoder; import org.junit.Test; @@ -96,4 +100,183 @@ mockCreator.getJNLPHref().toExternalForm()); } -} \ No newline at end of file + @Test + public void testBase64StringDecoding() throws Exception { + String actualFile = "This is a sample string that will be encoded to" + + "a Base64 string and then decoded using PluginBridge's" + + "decoding method and compared."; + + BASE64Encoder encoder = new BASE64Encoder(); + String encodedFile = encoder.encodeBuffer(actualFile.getBytes()); + + byte[] decodedBytes = PluginBridge.decodeBase64String(encodedFile); + String decodedString = new String(decodedBytes); + Assert.assertEquals(actualFile, decodedString); + } + + @Test + public void testEmbeddedJnlpWithValidCodebase() throws Exception { + URL codeBase = new URL("http://icedtea.classpath.org"); + String relativeLocation = "/EmbeddedJnlpFile.jnlp"; + + //Codebase within jnlp file is VALID + /** + + + + + Sample Test + RedHat + + + + + + + + + + + + **/ + + String jnlpFileEncoded = "ICAgICAgICA8P3htbCB2ZXJzaW9uPSIxLjAiPz4NCiAgICAgICAgICAgIDxqbmxwIHNwZWM9IjEu" + + "NSsiIA0KICAgICAgICAgICAgICBocmVmPSJFbWJlZGRlZEpubHBGaWxlLmpubHAiIA0KICAgICAg" + + "ICAgICAgICBjb2RlYmFzZT0iaHR0cDovL3d3dy5yZWRoYXQuY29tIiAgICANCiAgICAgICAgICAg" + + "ID4NCg0KICAgICAgICAgICAgPGluZm9ybWF0aW9uPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5T" + + "YW1wbGUgVGVzdDwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHZlbmRvcj5SZWRIYXQ8L3ZlbmRv" + + "cj4NCiAgICAgICAgICAgICAgICA8b2ZmbGluZS1hbGxvd2VkLz4NCiAgICAgICAgICAgIDwvaW5m" + + "b3JtYXRpb24+DQoNCiAgICAgICAgICAgIDxyZXNvdXJjZXM+DQogICAgICAgICAgICAgICAgPGoy" + + "c2UgdmVyc2lvbj0nMS42KycgLz4NCiAgICAgICAgICAgICAgICA8amFyIGhyZWY9J0VtYmVkZGVk" + + "Sm5scEphck9uZS5qYXInIG1haW49J3RydWUnIC8+DQogICAgICAgICAgICAgICAgPGphciBocmVm" + + "PSdFbWJlZGRlZEpubHBKYXJUd28uamFyJyBtYWluPSd0cnVlJyAvPg0KICAgICAgICAgICAgPC9y" + + "ZXNvdXJjZXM+DQoNCiAgICAgICAgICAgIDxhcHBsZXQtZGVzYw0KICAgICAgICAgICAgICAgIGRv" + + "Y3VtZW50QmFzZT0iLiINCiAgICAgICAgICAgICAgICBuYW1lPSJyZWRoYXQuZW1iZWRkZWRqbmxw" + + "Ig0KICAgICAgICAgICAgICAgIG1haW4tY2xhc3M9InJlZGhhdC5lbWJlZGRlZGpubHAiDQogICAg" + + "ICAgICAgICAgICAgd2lkdGg9IjAiDQogICAgICAgICAgICAgICAgaGVpZ2h0PSIwIg0KICAgICAg" + + "ICAgICAgLz4NCiAgICAgICAgICAgIDwvam5scD4="; + + MockJNLPCreator mockCreator = new MockJNLPCreator(); + Hashtable atts = new Hashtable(); + atts.put("jnlp_href", relativeLocation); + atts.put("jnlp_embedded", jnlpFileEncoded); + + String jnlpCodebase = "http://www.redhat.com"; + PluginBridge pb = new PluginBridge(codeBase, null, "", "", 0, 0, atts, "", mockCreator); + JARDesc[] jars = pb.getResources().getJARs(); + + //Check if there are two jars cached + Assert.assertTrue(jars.length == 2); + + //Resource can be in any order + List resourceLocations = new ArrayList(); + resourceLocations.add(jars[0].getLocation().toExternalForm()); + resourceLocations.add(jars[1].getLocation().toExternalForm()); + + //Check URLs of jars + Assert.assertTrue(resourceLocations.contains(jnlpCodebase + "/EmbeddedJnlpJarOne.jar")); + Assert.assertTrue((resourceLocations.contains(jnlpCodebase + "/EmbeddedJnlpJarTwo.jar"))); + } + + @Test + public void testEmbeddedJnlpWithInvalidCodebase() throws Exception { + URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); + String relativeLocation = "/EmbeddedJnlpFile.jnlp"; + + //Codebase within jnlp file is INVALID + /** + + + + + Sample Test + RedHat + + + + + + + + + + + + **/ + + String jnlpFileEncoded = "ICAgICAgICA8P3htbCB2ZXJzaW9uPSIxLjAiPz4NCiAgICAgICAgICAgIDxqbmxwIHNwZWM9IjEu" + + "NSsiIA0KICAgICAgICAgICAgICBocmVmPSJFbWJlZGRlZEpubHBGaWxlLmpubHAiIA0KICAgICAg" + + "ICAgICAgICBjb2RlYmFzZT0iaW52YWxpZFBhdGgiICAgIA0KICAgICAgICAgICAgPg0KDQogICAg" + + "ICAgICAgICA8aW5mb3JtYXRpb24+DQogICAgICAgICAgICAgICAgPHRpdGxlPlNhbXBsZSBUZXN0" + + "PC90aXRsZT4NCiAgICAgICAgICAgICAgICA8dmVuZG9yPlJlZEhhdDwvdmVuZG9yPg0KICAgICAg" + + "ICAgICAgICAgIDxvZmZsaW5lLWFsbG93ZWQvPg0KICAgICAgICAgICAgPC9pbmZvcm1hdGlvbj4N" + + "Cg0KICAgICAgICAgICAgPHJlc291cmNlcz4NCiAgICAgICAgICAgICAgICA8ajJzZSB2ZXJzaW9u" + + "PScxLjYrJyAvPg0KICAgICAgICAgICAgICAgIDxqYXIgaHJlZj0nRW1iZWRkZWRKbmxwSmFyT25l" + + "LmphcicgbWFpbj0ndHJ1ZScgLz4NCiAgICAgICAgICAgICAgICA8amFyIGhyZWY9J0VtYmVkZGVk" + + "Sm5scEphclR3by5qYXInIG1haW49J3RydWUnIC8+DQogICAgICAgICAgICA8L3Jlc291cmNlcz4N" + + "Cg0KICAgICAgICAgICAgPGFwcGxldC1kZXNjDQogICAgICAgICAgICAgICAgZG9jdW1lbnRCYXNl" + + "PSIuIg0KICAgICAgICAgICAgICAgIG5hbWU9InJlZGhhdC5lbWJlZGRlZGpubHAiDQogICAgICAg" + + "ICAgICAgICAgbWFpbi1jbGFzcz0icmVkaGF0LmVtYmVkZGVkam5scCINCiAgICAgICAgICAgICAg" + + "ICB3aWR0aD0iMCINCiAgICAgICAgICAgICAgICBoZWlnaHQ9IjAiDQogICAgICAgICAgICAvPg0K" + + "ICAgICAgICAgICAgPC9qbmxwPg=="; + + MockJNLPCreator mockCreator = new MockJNLPCreator(); + Hashtable atts = new Hashtable(); + atts.put("jnlp_href", relativeLocation); + atts.put("jnlp_embedded", jnlpFileEncoded); + + PluginBridge pb = new PluginBridge(overwrittenCodebase, null, "", "", 0, 0, atts, "", mockCreator); + JARDesc[] jars = pb.getResources().getJARs(); + + //Check if there are two jars cached + Assert.assertTrue(jars.length == 2); + + //Resource can be in any order + List resourceLocations = new ArrayList(); + resourceLocations.add(jars[0].getLocation().toExternalForm()); + resourceLocations.add(jars[1].getLocation().toExternalForm()); + + //Check URLs of jars + Assert.assertTrue(resourceLocations.contains(overwrittenCodebase + "/EmbeddedJnlpJarOne.jar")); + Assert.assertTrue((resourceLocations.contains(overwrittenCodebase + "/EmbeddedJnlpJarTwo.jar"))); + } + + @Test + public void testInvalidEmbeddedJnlp() throws Exception { + URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); + String relativeLocation = "/EmbeddedJnlpFile.jnlp"; + + //Embedded jnlp is invalid + String jnlpFileEncoded = "thisContextIsInvalid"; + + MockJNLPCreator mockCreator = new MockJNLPCreator(); + Hashtable atts = new Hashtable(); + atts.put("jnlp_href", relativeLocation); + atts.put("jnlp_embedded", jnlpFileEncoded); + + try { + new PluginBridge(overwrittenCodebase, null, "", "", 0, 0, atts, "", mockCreator); + } catch (Exception e) { + return; + } + Assert.fail("PluginBridge was successfully created with an invalid embedded jnlp value"); + } +} From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 07:55:53 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 15:55:53 +0000 Subject: [Bug 1166] Embedded JNLP File is not supported in applet tag In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1166 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=19c14a4b76b4 author: Saad Mohammad date: Tue Nov 13 10:55:19 2012 -0500 Unit tests for PR1166 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/af1edbce/attachment.html From smohammad at icedtea.classpath.org Tue Nov 13 08:05:09 2012 From: smohammad at icedtea.classpath.org (smohammad at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:05:09 +0000 Subject: /hg/icedtea-web: Fix PR1166: Embedded JNLP File is not supported... Message-ID: changeset c3d0eaf5460c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c3d0eaf5460c author: Saad Mohammad date: Tue Nov 13 11:04:38 2012 -0500 Fix PR1166: Embedded JNLP File is not supported in applet tag diffstat: ChangeLog | 15 +++++++++++++++ NEWS | 1 + configure.ac | 1 + netx/net/sourceforge/jnlp/JNLPFile.java | 15 ++++++++++++++- netx/net/sourceforge/jnlp/Parser.java | 11 +++++++++-- netx/net/sourceforge/jnlp/PluginBridge.java | 26 +++++++++++++++++++++++++- 6 files changed, 65 insertions(+), 4 deletions(-) diffs (147 lines): diff -r 19c14a4b76b4 -r c3d0eaf5460c ChangeLog --- a/ChangeLog Tue Nov 13 10:55:19 2012 -0500 +++ b/ChangeLog Tue Nov 13 11:04:38 2012 -0500 @@ -1,3 +1,18 @@ +2012-11-13 Saad Mohammad + + Fix PR1166: Embedded JNLP File is not supported in applet tag. + * configure.ac: Checks for sun.misc.BASE64Decoder. + * NEWS: Added entry for PR1166. + * netx/net/sourceforge/jnlp/JNLPFile.java (JNLPFile): + New constructor which accepts inputstream of jnlp file and a + specified codebase. + * netx/net/sourceforge/jnlp/Parser.java (Parser): If parsing of + codebase fails, it will overwrite the codebase with the one passed + in through parameters. + * netx/net/sourceforge/jnlp/PluginBridge.java: + (PluginBridge) Supports embedded jnlp file. + (decodeBase64String) Decodes Base64 strings to byte array. + 2012-11-13 Saad Mohammad Added unit tests for PR1166. diff -r 19c14a4b76b4 -r c3d0eaf5460c NEWS --- a/NEWS Tue Nov 13 10:55:19 2012 -0500 +++ b/NEWS Tue Nov 13 11:04:38 2012 -0500 @@ -18,6 +18,7 @@ - PR1027: DownloadService is not supported by IcedTea-Web * Plugin - PR1106: Buffer overflow in plugin table- + - PR1166: Embedded JNLP File is not supported in applet tag * Common - PR1049: Extension jnlp's signed jar with the content of only META-INF/* is considered - PR955: regression: SweetHome3D fails to run diff -r 19c14a4b76b4 -r c3d0eaf5460c configure.ac --- a/configure.ac Tue Nov 13 10:55:19 2012 -0500 +++ b/configure.ac Tue Nov 13 11:04:38 2012 -0500 @@ -77,6 +77,7 @@ IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, [sun.net.www.protocol.jar.URLJarFileCallBack]) IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame]) IT_CHECK_FOR_CLASS(SUN_MISC_REF, [sun.misc.Ref]) +IT_CHECK_FOR_CLASS(SUN_MISC_BASE64DECODER, [sun.misc.BASE64Decoder]) IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil]) IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef]) IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE diff -r 19c14a4b76b4 -r c3d0eaf5460c netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Nov 13 10:55:19 2012 -0500 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Tue Nov 13 11:04:38 2012 -0500 @@ -251,7 +251,20 @@ * @throws ParseException if the JNLP file was invalid */ public JNLPFile(InputStream input, boolean strict) throws ParseException { - parse(Parser.getRootNode(input), strict, null, null); + this(input, null, strict); + } + + /** + * Create a JNLPFile from an input stream. + * + * @param input input stream of JNLP file. + * @param codebase codebase to use if not specified in JNLP file.. + * @param strict whether to enforce the spec rules + * @throws IOException if an IO exception occurred + * @throws ParseException if the JNLP file was invalid + */ + public JNLPFile(InputStream input, URL codebase, boolean strict) throws ParseException { + parse(Parser.getRootNode(input), strict, null, codebase); } /** diff -r 19c14a4b76b4 -r c3d0eaf5460c netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Tue Nov 13 10:55:19 2012 -0500 +++ b/netx/net/sourceforge/jnlp/Parser.java Tue Nov 13 11:04:38 2012 -0500 @@ -143,9 +143,16 @@ // JNLP tag information this.spec = getVersion(root, "spec", "1.0+"); - this.codebase = addSlash(getURL(root, "codebase", base)); - if (this.codebase == null) // We only override it if it is not specified. + + try { + this.codebase = addSlash(getURL(root, "codebase", base)); + } catch (ParseException e) { + //If parsing fails, continue by overriding the codebase with the one passed in + } + + if (this.codebase == null) // Codebase is overwritten if codebase was not specified in file or if parsing of it failed this.codebase = codebase; + this.base = (this.codebase != null) ? this.codebase : base; // if codebase not specified use default codebase fileLocation = getURL(root, "href", this.base); diff -r 19c14a4b76b4 -r c3d0eaf5460c netx/net/sourceforge/jnlp/PluginBridge.java --- a/netx/net/sourceforge/jnlp/PluginBridge.java Tue Nov 13 10:55:19 2012 -0500 +++ b/netx/net/sourceforge/jnlp/PluginBridge.java Tue Nov 13 11:04:38 2012 -0500 @@ -22,7 +22,10 @@ package net.sourceforge.jnlp; +import java.io.ByteArrayInputStream; import java.io.File; +import java.io.IOException; +import java.io.InputStream; import java.net.URL; import java.net.MalformedURLException; import java.util.HashSet; @@ -32,6 +35,8 @@ import java.util.Map; import java.util.Set; +import sun.misc.BASE64Decoder; + import net.sourceforge.jnlp.runtime.JNLPRuntime; /** @@ -96,7 +101,18 @@ // Use codeBase as the context for the URL. If jnlp_href's // value is a complete URL, it will replace codeBase's context. URL jnlp = new URL(codeBase, atts.get("jnlp_href")); - JNLPFile jnlpFile = jnlpCreator.create(jnlp, null, false, JNLPRuntime.getDefaultUpdatePolicy(), codeBase); + JNLPFile jnlpFile = null; + + if (atts.containsKey("jnlp_embedded")) { + InputStream jnlpInputStream = new ByteArrayInputStream(decodeBase64String(atts.get("jnlp_embedded"))); + jnlpFile = new JNLPFile(jnlpInputStream, codeBase, false); + } else { + jnlpFile = jnlpCreator.create(jnlp, null, false, JNLPRuntime.getDefaultUpdatePolicy(), codeBase); + } + + if (jnlpFile.isApplet()) + main = jnlpFile.getApplet().getMainClass(); + Map jnlpParams = jnlpFile.getApplet().getParameters(); info = jnlpFile.info; @@ -349,4 +365,12 @@ public boolean isInstaller() { return false; } + + /** + * Returns the decoded BASE64 string + */ + static byte[] decodeBase64String(String encodedString) throws IOException { + BASE64Decoder base64 = new BASE64Decoder(); + return base64.decodeBuffer(encodedString); + } } From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 08:05:17 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:05:17 +0000 Subject: [Bug 1166] Embedded JNLP File is not supported in applet tag In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1166 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=c3d0eaf5460c author: Saad Mohammad date: Tue Nov 13 11:04:38 2012 -0500 Fix PR1166: Embedded JNLP File is not supported in applet tag -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/e5e9bcb0/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 08:05:45 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:05:45 +0000 Subject: [Bug 1166] Embedded JNLP File is not supported in applet tag In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1166 Saad Mohammad changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/4ab750bf/attachment.html From smohammad at redhat.com Tue Nov 13 08:09:22 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Tue, 13 Nov 2012 11:09:22 -0500 Subject: [RFC][icedtea-web]: Fix PR1166 - Embedded JNLP File is not supported in applet tag In-Reply-To: <509D6F19.2080501@redhat.com> References: <50648FF6.408@redhat.com> <50660483.3030309@redhat.com> <506B44E6.7030305@redhat.com> <506C7F7B.8020909@redhat.com> <5074705C.2050208@redhat.com> <509D655F.1050302@redhat.com> <509D6F19.2080501@redhat.com> Message-ID: <50A270B2.9020107@redhat.com> On 11/09/2012 04:01 PM, Adam Domurad wrote: > Thanks for the patch updates! Reproducer + patch + unit tests look good to me > now, all OK for HEAD. Thanks for sticking with it. > > - Adam Thanks again for the review Adam. All three patches have been pushed: http://icedtea.classpath.org/hg/icedtea-web/rev/755aa6b30bb7 http://icedtea.classpath.org/hg/icedtea-web/rev/19c14a4b76b4 http://icedtea.classpath.org/hg/icedtea-web/rev/c3d0eaf5460c -- Cheers, Saad Mohammad From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 08:22:14 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:22:14 +0000 Subject: [Bug 1198] JSObject#eval creates invalid JS object In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=c61b2db7d32f author: Adam Domurad date: Tue Nov 13 11:18:55 2012 -0500 Reproducer for PR1198: JSObject#eval creates invalid JSObject -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/04388af9/attachment.html From adomurad at icedtea.classpath.org Tue Nov 13 08:22:06 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:22:06 +0000 Subject: /hg/icedtea-web: Reproducer for PR1198: JSObject#eval creates in... Message-ID: changeset c61b2db7d32f in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c61b2db7d32f author: Adam Domurad date: Tue Nov 13 11:18:55 2012 -0500 Reproducer for PR1198: JSObject#eval creates invalid JSObject diffstat: ChangeLog | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diffs (19 lines): diff -r c3d0eaf5460c -r c61b2db7d32f ChangeLog --- a/ChangeLog Tue Nov 13 11:04:38 2012 -0500 +++ b/ChangeLog Tue Nov 13 11:18:55 2012 -0500 @@ -1,3 +1,15 @@ +2012-11-13 Adam Domurad + + Reproducer for PR1198, JSObject#eval creates invalid JS object. + * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html: + Loads applet + JS for test + * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js: + Calls java code to test JSObject#eval + * tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java: + Provides java<->JS wrappers for JSObject methods + * tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java: + Tests if JSObject#eval creates valid JSObject. + 2012-11-13 Saad Mohammad Fix PR1166: Embedded JNLP File is not supported in applet tag. From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 08:30:19 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:30:19 +0000 Subject: [Bug 1212] IcedTea7 fails to build because Resources.getText( ) is no longer available for code to use In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1212 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #2 from Andrew John Hughes --- It should be fine without the full build log. The config.log would be useful. When you say you configure with no arguments, do you build in the source tree or in a separate build directory? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/a3e034fa/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 08:31:17 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:31:17 +0000 Subject: [Bug 1215] A fatal error has been detected by the Java Runtime Environment: SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1215 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #793|application/octet-stream |text/plain mime type| | -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/669dbb47/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 08:41:49 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:41:49 +0000 Subject: [Bug 1215] A fatal error has been detected by the Java Runtime Environment: SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1215 --- Comment #1 from Andrew John Hughes --- How do you reproduce this? It's not clear from the log what caused the crash and the failure itself is in cfree of libc, which suggests an attempt to free a null pointer. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/0f6a0ed8/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 08:59:56 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 16:59:56 +0000 Subject: [Bug 1216] Crash when using libpam.so In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1216 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |INVALID --- Comment #6 from Andrew John Hughes --- Ok, switching resolution to invalid as it wasn't a JDK bug after all. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/e2f67511/attachment.html From stefan at complang.tuwien.ac.at Tue Nov 13 13:23:38 2012 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Tue, 13 Nov 2012 22:23:38 +0100 Subject: PING: PR1176: Added --with-cacao-src-dir option In-Reply-To: <492042789.6591839.1352301716265.JavaMail.root@redhat.com> References: <1204021510.6590692.1352301626060.JavaMail.root@redhat.com> <492042789.6591839.1352301716265.JavaMail.root@redhat.com> Message-ID: On Wed, Nov 7, 2012 at 4:21 PM, Andrew Hughes wrote: >> No. It needs a ChangeLog entry. >> > > Further to that, the one in the commit message is wrong as Stefan > didn't write this: > > 2009-10-01 Robert Schuster > > * configure.ac: Added --with-cacao-src-dir option. > * acinclude: New macro AC_CHECK_WITH_CACAO_SRC_DIR. > * Makefile.am: Copy Cacao sources when USE_ALT_CACAO_SRC_DIR is used. > I had the impression that patches sent to this list don't usually contain a changelog entry (which I don't have much respect for, but I guess I'll have to cope...). OTOH, posting a ready-made Mercurial commit might give the impression of it being in its final state, and ideally it would be, were it not for the pain of merging changelogs. Indeed, the intention was to copy the changelog snippet from the commit text to the ChangeLog file before the final push. So what exactly would you suggest? Did I not spell out clearly where the changes originate? I applied Robert's changes and adapted as needed. From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 13:32:24 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 21:32:24 +0000 Subject: [Bug 1217] New: Add command line arguments for plugins Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1217 Priority: P3 Bug ID: 1217 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: Add command line arguments for plugins Severity: enhancement Classification: Unclassified OS: All Reporter: Martin.vGagern at gmx.net Hardware: all Status: NEW Version: hg Component: Plugin Product: IcedTea-Web It would be great if there was a way to add command line arguments to the java process the plugin viewer launches. Changing the memory limit would be particularly useful. There are at least three possible sources where such a setting might come from: 1. The environment: According to http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-Desktop/html/plugin.html the Oracle VM supports an environment variable called _JPI_VM_OPTIONS which may be used to specify additional arguments for the applet process. As IcedTea-Web already supports the ICEDTEAPLUGIN_DEBUG environment variable, adding another variable should integrate nicely with the overall concept, and should not cause additional security concerns. 2. Some config file: The ControlPanel application from the Oracle VM provides a list of available JREs, and will allow adding arguments for each of these. The settings entered for the first JRE will end up in a file ~/.java/deployment/deployment.properties, associated with a key deployment.javaws.jre.0.args. As http://www.iced-tea.org/wiki/IcedTea-Web#Configuration mentions a file ~/icedtea/deployment.properties with similar content, support for such a setting might be well placed in that location. 3. Applet parameters: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/applet/applet_deployment.html#JAVA_ARGUMENTS describes a parameter called java_arguments which may be specified in the html code of the page in order to pass specific arguments to the launched java process. This feature obviously comes with a whole bunch of security concerns. The document mentioned above gives some indications how the Oracle plugin deals with these things. I see that the IcedTea-Web plugin already looks at this parameter, but apparently it only extracts some few well-known values from it. It doesn't pass the whole thing to the JVM process. I had a look at the code, http://icedtea.classpath.org/hg/icedtea-web/file/df7db8de4a20/plugin/icedteanp/IcedTeaNPPlugin.cc#l1647 in particular. Currently there appears to be no reasonable way to add arguments at all. As the number of arguments is currently fixed at compile time, adding an arbitrary number of space-separated arguments from any source would likely require a bit of work, to make that whole command line array allocated dynamically. Cross reference: Before reporting this request for enhancement, I asked http://stackoverflow.com/q/13361313/1468366 for possible solutions. That was before I looked at the code, though, when I still believed there had to be some way to configure this using the current code base. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/e64d8dc2/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 14:46:39 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 22:46:39 +0000 Subject: [Bug 1217] Add command line arguments for plugins In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1217 Saad Mohammad changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dbhole at redhat.com, | |smohammad at redhat.com Assignee|dbhole at redhat.com |smohammad at redhat.com --- Comment #1 from Saad Mohammad --- Hi Martin, Thank you for taking a look into this feature. IcedTea-Web is currently designed on a single JVM architecture which makes features like jvm_argument tag support very complicated to implement without making some serious changes to the design itself. This is something we are looking to overcome in the future. However, at this moment, there is currently a patch pending in review [1] which will allow you to set JVM options for plugins through itw-settings. Using this patch, you'll be able to set single and multiple JVM options for all of your plugin applets through the GUI panel. The settings are written to the deployment property file, so if you prefer to avoid the graphical user interface, you can easily set the options using the key (deployment.plugin.jvm.arguments) to deployment file located in ~/.icedtea/deployment.properties. Example: deployment.plugin.jvm.arguments=-verbose I look forward to get this feature implemented to HEAD as soon as I can. Thanks for the patience. [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-October/020683.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/6c2b343f/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 15:42:30 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 13 Nov 2012 23:42:30 +0000 Subject: [Bug 1217] Add command line arguments for plugins In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1217 --- Comment #2 from Martin von Gagern --- (In reply to comment #1) > at this moment, there is currently a patch pending in review [1] > which will allow you to set JVM options for plugins through itw-settings. That sounds very good. Do you have a more recent version of that patch, which addresses the issues pointed out in the responses to that post? There are two more issue I noticed that hadn't been mentioned in these reviews: + if (to_trim == '\0'){ I guess you mean to_trim[0] or *to_trim. + g_spawn_command_line_sync(cmd_line_str, ?) Turning the whole command line into a single string might cause trouble if e.g. appletviewer_executable contains a space. Using g_spawn_sync would avoid that, and also save you from turning the array of arguments into a single string. You could probably solve the problem of trimming your string at the same time you split the string into words: simply omit any zero-length words from the result. You can do simple word splitting using strtok, although that won't be able to deal with quoted strings containing spaces. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121113/a7297377/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 13 19:23:40 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Nov 2012 03:23:40 +0000 Subject: [Bug 1215] A fatal error has been detected by the Java Runtime Environment: SIGSEGV In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1215 --- Comment #2 from fire.kuma8 at gmail.com --- I don't know how reproduce this. Just one times. Jenkins-ci running on Tomcat. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121114/5195f74e/attachment.html From ptisnovs at icedtea.classpath.org Wed Nov 14 01:55:46 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 14 Nov 2012 09:55:46 +0000 Subject: /hg/gfx-test: Eight new tests added to the test suite Message-ID: changeset c88d4e4ba967 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=c88d4e4ba967 author: Pavel Tisnovsky date: Wed Nov 14 10:58:41 2012 +0100 Eight new tests added to the test suite src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java | 196 ++++++++++++- 2 files changed, 188 insertions(+), 13 deletions(-) diffs (353 lines): diff -r a331ece4516a -r c88d4e4ba967 ChangeLog --- a/ChangeLog Tue Nov 13 11:03:22 2012 +0100 +++ b/ChangeLog Wed Nov 14 10:58:41 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-14 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java: + Eight new tests added to this test suite. + 2012-11-13 Pavel Tisnovsky * src/org/gfxtest/framework/CommonPathsGenerator.java: diff -r a331ece4516a -r c88d4e4ba967 src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java --- a/src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java Tue Nov 13 11:03:22 2012 +0100 +++ b/src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java Wed Nov 14 10:58:41 2012 +0100 @@ -92,13 +92,14 @@ /** * Draw path consisting of one line only clipped by an ellipse shape. + * Line path is constructed using new Path.Float() * * @param image * work image * @param graphics2d * graphics canvas */ - private static void drawLinePathClippedByEllipseShape(TestImage image, Graphics2D graphics2d) + private static void drawLinePathFloatClippedByEllipseShape(TestImage image, Graphics2D graphics2d) { // prepare canvas for the rendering basicSetupForRendering(image, graphics2d); @@ -109,6 +110,25 @@ } /** + * Draw path consisting of one line only clipped by an ellipse shape. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + */ + private static void drawLinePathDoubleClippedByEllipseShape(TestImage image, Graphics2D graphics2d) + { + // prepare canvas for the rendering + basicSetupForRendering(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // draw the line path + graphics2d.draw(CommonPathsGenerator.createLinePathDouble(image)); + } + + /** * Draw quadratic path clipped by an ellipse shape. * * @param image @@ -183,6 +203,7 @@ /** * Check if line path could be clipped by an ellipse shape. Path is rendered * using stroke paint with default stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -190,12 +211,33 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByEllipseShapeStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByEllipseShapeStrokePaint(TestImage image, Graphics2D graphics2d) { // render ellipse which is used as a clip shape CommonClippingOperations.renderClipEllipse(image, graphics2d); // set clip region and draw the path - drawLinePathClippedByEllipseShape(image, graphics2d); + drawLinePathFloatClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by an ellipse shape. Path is rendered + * using stroke paint with default stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByEllipseShapeStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render ellipse which is used as a clip shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByEllipseShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -283,6 +325,7 @@ /** * Check if line path could be clipped by an ellipse shape. Path is * rendered using stroke paint with zero stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -290,7 +333,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByEllipseShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByEllipseShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) { // render ellipse which is used as a clip shape CommonClippingOperations.renderClipEllipse(image, graphics2d); @@ -299,7 +342,32 @@ // set stroke width CommonRenderingStyles.setStrokeZeroThick(graphics2d); // set clip region and draw the path - drawLinePathClippedByEllipseShape(image, graphics2d); + drawLinePathFloatClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with zero stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByEllipseShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render ellipse which is used as a clip shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByEllipseShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -403,6 +471,7 @@ /** * Check if line path could be clipped by an ellipse shape. Path is rendered * using stroke paint with thick stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -410,7 +479,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByEllipseShapeThickStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLineFloatPathByEllipseShapeThickStrokePaint(TestImage image, Graphics2D graphics2d) { // render ellipse which is used as a clip shape CommonClippingOperations.renderClipEllipse(image, graphics2d); @@ -419,7 +488,32 @@ // set stroke width CommonRenderingStyles.setStrokeThickWidth(graphics2d); // set clip region and draw the path - drawLinePathClippedByEllipseShape(image, graphics2d); + drawLinePathFloatClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by an ellipse shape. Path is rendered + * using stroke paint with thick stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLineDoublePathByEllipseShapeThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render ellipse which is used as a clip shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByEllipseShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -523,6 +617,7 @@ /** * Check if line path could be clipped by an ellipse shape. Path is rendered * using stroke paint with extra thick width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -530,7 +625,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByEllipseShapeExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByEllipseShapeExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) { // render ellipse which is used as a clip shape CommonClippingOperations.renderClipEllipse(image, graphics2d); @@ -539,7 +634,32 @@ // set stroke width CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); // set clip region and draw the path - drawLinePathClippedByEllipseShape(image, graphics2d); + drawLinePathFloatClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by an ellipse shape. Path is rendered + * using stroke paint with extra thick width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByEllipseShapeExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render ellipse which is used as a clip shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByEllipseShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -643,6 +763,7 @@ /** * Check if line path could be clipped by an ellipse shape. Path is * rendered using stroke paint with default stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -650,14 +771,37 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByEllipseShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByEllipseShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip ellipse shape CommonClippingOperations.renderClipEllipse(image, graphics2d); // set dashed pattern CommonRenderingStyles.setDashedStrokePattern(graphics2d); // set clip region and draw the path - drawLinePathClippedByEllipseShape(image, graphics2d); + drawLinePathFloatClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with default stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByEllipseShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip ellipse shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByEllipseShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -753,6 +897,7 @@ /** * Check if line path could be clipped by an ellipse shape. Path is * rendered using stroke paint with thick stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -760,7 +905,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByEllipseShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByEllipseShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip ellipse CommonClippingOperations.renderClipEllipse(image, graphics2d); @@ -769,7 +914,32 @@ // set dashed pattern CommonRenderingStyles.setDashedStrokePattern(graphics2d); // set clip region and draw the path - drawLinePathClippedByEllipseShape(image, graphics2d); + drawLinePathFloatClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by an ellipse shape. Path is + * rendered using stroke paint with thick stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByEllipseShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip ellipse + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByEllipseShape(image, graphics2d); // test result return TestResult.PASSED; } From ptisnovs at icedtea.classpath.org Wed Nov 14 02:02:38 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 14 Nov 2012 10:02:38 +0000 Subject: /hg/rhino-tests: Make the test src/org/RhinoTests/ScriptEngineCl... Message-ID: changeset 39454ef51d62 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=39454ef51d62 author: Pavel Tisnovsky date: Wed Nov 14 11:05:35 2012 +0100 Make the test src/org/RhinoTests/ScriptEngineClassTest.java compatible with JDK 7. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptEngineClassTest.java | 119 ++++++++++++++++++++----- 2 files changed, 98 insertions(+), 26 deletions(-) diffs (212 lines): diff -r dc87f0d9c6b8 -r 39454ef51d62 ChangeLog --- a/ChangeLog Tue Nov 13 11:14:14 2012 +0100 +++ b/ChangeLog Wed Nov 14 11:05:35 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-14 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineClassTest.java: + Make this test compatible with JDK 7. + 2012-11-13 Pavel Tisnovsky * src/org/RhinoTests/ScriptEngineManagerClassTest.java: diff -r dc87f0d9c6b8 -r 39454ef51d62 src/org/RhinoTests/ScriptEngineClassTest.java --- a/src/org/RhinoTests/ScriptEngineClassTest.java Tue Nov 13 11:14:14 2012 +0100 +++ b/src/org/RhinoTests/ScriptEngineClassTest.java Wed Nov 14 11:05:35 2012 +0100 @@ -43,6 +43,8 @@ import java.util.Arrays; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.HashMap; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -51,6 +53,7 @@ import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; +import javax.script.ScriptEngine; @@ -65,7 +68,7 @@ /** * Object that represents the type of ScriptEngine. */ - Class scriptEngineClass = null; + Class scriptEngineClass = null; @Override protected void setUp(String[] args) { @@ -193,7 +196,7 @@ * Test for method javax.script.ScriptEngine.getClass().getInterfaces() */ protected void testGetInterfaces() { - List interfaces = Arrays.asList(this.scriptEngineClass.getInterfaces()); + List> interfaces = Arrays.asList(this.scriptEngineClass.getInterfaces()); assertTrue(interfaces.isEmpty(), "list of implemented interfaces should be empty"); } @@ -261,7 +264,7 @@ * Test for method javax.script.ScriptEngine.getClass().getSuperclass() */ protected void testGetSuperclass() { - Class superClass = this.scriptEngineClass.getSuperclass(); + Class superClass = this.scriptEngineClass.getSuperclass(); assertNull(superClass, "Method ScriptEngine.getClass().getSuperclass() does not return null"); } @@ -270,16 +273,42 @@ * Test for method javax.script.ScriptEngine.getClass().getConstructors() */ protected void testGetConstructors() { - Constructor[] constructors = this.scriptEngineClass.getConstructors(); + // map of constructors which should exists + Map testedConstructors = null; + Map testedConstructors_jdk6 = new HashMap(); + Map testedConstructors_jdk7 = new HashMap(); + + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all constructors for this class + Constructor[] constructors = this.scriptEngineClass.getConstructors(); + + // basic check for a number of constructors assertEquals(constructors.length, 0, "no constructors should be set"); + } /** * Test for method javax.script.ScriptEngine.getClass().getDeclaredConstructors() */ protected void testGetDeclaredConstructors() { - Constructor[] constructors = this.scriptEngineClass.getDeclaredConstructors(); - assertEquals(constructors.length, 0, "no constructors should be set"); + // map of constructors which should exists + Map testedConstructors = null; + Map testedConstructors_jdk6 = new HashMap(); + Map testedConstructors_jdk7 = new HashMap(); + + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all declared constructors for this class + Constructor[] declaredConstructors = this.scriptEngineClass.getDeclaredConstructors(); + + // basic check for a number of declared constructors + assertEquals(declaredConstructors.length, 0, "no constructors should be set"); + } /** @@ -343,7 +372,7 @@ */ protected void testGetMethods() { // following methods should be inherited - final String[] methodsThatShouldExists = { + final String[] methodsThatShouldExists_jdk6 = { "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader) throws javax.script.ScriptException", "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader,javax.script.Bindings) throws javax.script.ScriptException", "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader,javax.script.ScriptContext) throws javax.script.ScriptException", @@ -359,26 +388,8 @@ "public abstract void javax.script.ScriptEngine.setBindings(javax.script.Bindings,int)", "public abstract void javax.script.ScriptEngine.setContext(javax.script.ScriptContext)", }; - // get all inherited methods - Method[] methods = this.scriptEngineClass.getMethods(); - // and transform the array into a list of method names - List methodsAsString = new ArrayList(); - for (Method method : methods) { - methodsAsString.add(method.toString()); - } - // check if all required methods really exists - for (String methodThatShouldExists : methodsThatShouldExists) { - assertTrue(methodsAsString.contains(methodThatShouldExists), - "method " + methodThatShouldExists + " not found"); - } - } - /** - * Test for method javax.script.ScriptEngine.getClass().getDeclaredMethods() - */ - protected void testGetDeclaredMethods() { - // following methods should be declared - final String[] declaredMethodsThatShouldExists = { + final String[] methodsThatShouldExists_jdk7 = { "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader) throws javax.script.ScriptException", "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader,javax.script.Bindings) throws javax.script.ScriptException", "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader,javax.script.ScriptContext) throws javax.script.ScriptException", @@ -394,6 +405,61 @@ "public abstract void javax.script.ScriptEngine.setBindings(javax.script.Bindings,int)", "public abstract void javax.script.ScriptEngine.setContext(javax.script.ScriptContext)", }; + + // get all inherited methods + Method[] methods = this.scriptEngineClass.getMethods(); + // and transform the array into a list of method names + List methodsAsString = new ArrayList(); + for (Method method : methods) { + methodsAsString.add(method.toString()); + } + String[] methodsThatShouldExists = getJavaVersion() < 7 ? methodsThatShouldExists_jdk6 : methodsThatShouldExists_jdk7; + // check if all required methods really exists + for (String methodThatShouldExists : methodsThatShouldExists) { + assertTrue(methodsAsString.contains(methodThatShouldExists), + "method " + methodThatShouldExists + " not found"); + } + } + + /** + * Test for method javax.script.ScriptEngine.getClass().getDeclaredMethods() + */ + protected void testGetDeclaredMethods() { + // following methods should be declared + final String[] declaredMethodsThatShouldExists_jdk6 = { + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader,javax.script.Bindings) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader,javax.script.ScriptContext) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.lang.String) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.lang.String,javax.script.Bindings) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.lang.String,javax.script.ScriptContext) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.get(java.lang.String)", + "public abstract javax.script.Bindings javax.script.ScriptEngine.createBindings()", + "public abstract javax.script.Bindings javax.script.ScriptEngine.getBindings(int)", + "public abstract javax.script.ScriptContext javax.script.ScriptEngine.getContext()", + "public abstract javax.script.ScriptEngineFactory javax.script.ScriptEngine.getFactory()", + "public abstract void javax.script.ScriptEngine.put(java.lang.String,java.lang.Object)", + "public abstract void javax.script.ScriptEngine.setBindings(javax.script.Bindings,int)", + "public abstract void javax.script.ScriptEngine.setContext(javax.script.ScriptContext)", + }; + + final String[] declaredMethodsThatShouldExists_jdk7 = { + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader,javax.script.Bindings) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.io.Reader,javax.script.ScriptContext) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.lang.String) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.lang.String,javax.script.Bindings) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.eval(java.lang.String,javax.script.ScriptContext) throws javax.script.ScriptException", + "public abstract java.lang.Object javax.script.ScriptEngine.get(java.lang.String)", + "public abstract javax.script.Bindings javax.script.ScriptEngine.createBindings()", + "public abstract javax.script.Bindings javax.script.ScriptEngine.getBindings(int)", + "public abstract javax.script.ScriptContext javax.script.ScriptEngine.getContext()", + "public abstract javax.script.ScriptEngineFactory javax.script.ScriptEngine.getFactory()", + "public abstract void javax.script.ScriptEngine.put(java.lang.String,java.lang.Object)", + "public abstract void javax.script.ScriptEngine.setBindings(javax.script.Bindings,int)", + "public abstract void javax.script.ScriptEngine.setContext(javax.script.ScriptContext)", + }; + // get all declared methods Method[] declaredMethods = this.scriptEngineClass.getDeclaredMethods(); // and transform the array into a list of method names @@ -401,6 +467,7 @@ for (Method method : declaredMethods) { methodsAsString.add(method.toString()); } + String[] declaredMethodsThatShouldExists = getJavaVersion() < 7 ? declaredMethodsThatShouldExists_jdk6 : declaredMethodsThatShouldExists_jdk7; // check if all required methods really exists for (String methodThatShouldExists : declaredMethodsThatShouldExists) { assertTrue(methodsAsString.contains(methodThatShouldExists), From bugzilla-daemon at icedtea.classpath.org Wed Nov 14 04:21:44 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Nov 2012 12:21:44 +0000 Subject: [Bug 1218] New: JogAmp JOGL angelesgl2es1 applet fails to initialize using Hotspot Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1218 Priority: P3 Bug ID: 1218 CC: aph at redhat.com, unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: JogAmp JOGL angelesgl2es1 applet fails to initialize using Hotspot Severity: normal Classification: Unclassified OS: Linux Reporter: xerxes at zafena.se URL: http://jogamp.org/deployment/jogamp-current/jogl-demos /jogl-newt-applet-runner-angelesgl2es1.html Hardware: 32-bit Status: NEW Version: 2.3.2 Component: IcedTea Product: IcedTea This is a fully reproducible bug: The http://jogamp.org/deployment/jogamp-current/jogl-demos/jogl-newt-applet-runner-angelesgl2es1.html applet fails to initialize when using Hotspot, it runs fine using JamVM thus i belive the root cause is inside the OpenJDK Hotspot JVM. Tested on two different systems A and B with the same outcome thus I think we can rule out bugs in IcedTea-web and the ARM Thumb2 JIT, see below: Testcase: chromium-browser http://jogamp.org/deployment/jogamp-current/jogl-demos/jogl-newt-applet-runner-angelesgl2es1.html or firefox http://jogamp.org/deployment/jogamp-current/jogl-demos/jogl-newt-applet-runner-angelesgl2es1.html System A: OS: Ubuntu 12.10 32bit armhf Machine: Toshiba AC100-10D IcedTea-Version: 1.3 OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1ubuntu1) Chromium: 22.0.1229.94 (Developer Build 161065) Ubuntu 12.10 Runs OK using jamvm: chromium-browser http://jogamp.org/deployment/jogamp-current/jogl-demos/jogl-newt-applet-runner-angelesgl2es1.html ... java version "1.7.0_07" OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1ubuntu1) JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching) Unable to use Firefox's proxy settings. Using "DIRECT" as proxy type. NvRmPrivGetChipIdStub: Could not read Tegra chip id/rev Expected on kernels without Tegra3 support, using Tegra2 Loading GLESv2lib libGLESv2.so.2 Library for API 1 exposes function not wrapped: glPointSizePointerOES class demos.es1.angeles.AngelesGL has no 'window' field class demos.es1.angeles.AngelesGL has no 'glWindow' field AngelesGL: jogamp.opengl.es1.GLES1Impl at 41679930 33 s: 300 f / 33790 ms, 8.8 fps, 112 ms/f; total: 300 f, 8.8 fps, 112 ms/f 66 s: 300 f / 32722 ms, 9.1 fps, 109 ms/f; total: 600 f, 9.0 fps, 110 ms/f 98 s: 300 f / 32422 ms, 9.2 fps, 108 ms/f; total: 900 f, 9.0 fps, 109 ms/f 111 s: 300 f / 12335 ms, 24.3 fps, 41 ms/f; total: 1200 f, 10.7 fps, 92 ms/f 117 s: 300 f / 5818 ms, 51.5 fps, 19 ms/f; total: 1500 f, 12.8 fps, 78 ms/f Fails using Hotspot (armhf thumb2 jit): chromium-browser http://jogamp.org/deployment/jogamp-current/jogl-demos/jogl-newt-applet-runner-angelesgl2es1.html java version "1.7.0_07" OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1ubuntu1) OpenJDK Zero VM (build 22.0-b10, mixed mode) Unable to use Firefox's proxy settings. Using "DIRECT" as proxy type. [12:12:7511309852:ERROR:nss_util.cc(452)] Error initializing NSS without a persistent database: libsoftokn3.so: cannot open shared object file: Permission denied Exception in thread "Applet" java.lang.ExceptionInInitializerError at com.jogamp.common.util.PropertyAccess.addTrustedPrefix(PropertyAccess.java:52) at jogamp.newt.Debug.(Debug.java:52) at com.jogamp.newt.awt.applet.JOGLNewtAppletBase.(JOGLNewtAppletBase.java:58) at com.jogamp.newt.awt.applet.JOGLNewtApplet1Run.(JOGLNewtApplet1Run.java:95) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at java.lang.Class.newInstance0(Class.java:372) at java.lang.Class.newInstance(Class.java:325) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:726) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getProtectionDomain") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366) at java.security.AccessController.checkPermission(AccessController.java:555) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkPermission(JNLPSecurityManager.java:284) at java.lang.Class.getProtectionDomain(Class.java:2123) at com.jogamp.common.util.SecurityUtil$2.run(SecurityUtil.java:52) at com.jogamp.common.util.SecurityUtil$2.run(SecurityUtil.java:50) at java.security.AccessController.doPrivileged(Native Method) at com.jogamp.common.util.SecurityUtil.getCerts(SecurityUtil.java:50) at com.jogamp.common.util.SecurityUtil.(SecurityUtil.java:46) ... 13 more java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:154) at sun.applet.AppletPanel.run(AppletPanel.java:379) at java.lang.Thread.run(Thread.java:722) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:429) at java.lang.Thread.run(Thread.java:722) [16:16:7512497608:ERROR:nss_util.cc(452)] Error initializing NSS without a persistent database: libsoftokn3.so: cannot open shared object file: Permission denied [20:20:7513434520:ERROR:nss_util.cc(452)] Error initializing NSS without a persistent database: libsoftokn3.so: cannot open shared object file: Permission denied System B: Ubuntu 12.04 32bit IA32 Machine: Fujitsu ESPRIMO-P7935 IcedTea-Web Plugin (using IcedTea-Web 1.2 (1.2-2ubuntu1.2)) OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1) Firefox 16.0.2 Runs OK using jamvm: firefox http://jogamp.org/deployment/jogamp-current/jogl-demos/jogl-newt-applet-runner-angelesgl2es1.html java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1) JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching) libEGL warning: failed to create a pipe screen for i965 class demos.es1.angeles.AngelesGL has no 'window' field class demos.es1.angeles.AngelesGL has no 'glWindow' field AngelesGL: jogamp.opengl.gl4.GL4bcImpl at 99a96018 4 s: 300 f / 4990 ms, 60.1 fps, 16 ms/f; total: 300 f, 60.1 fps, 16 ms/f Fails using Hotspot: firefox http://jogamp.org/deployment/jogamp-current/jogl-demos/jogl-newt-applet-runner-angelesgl2es1.html java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1) OpenJDK Server VM (build 20.0-b12, mixed mode) Exception in thread "Applet" java.lang.ExceptionInInitializerError at com.jogamp.common.util.PropertyAccess.addTrustedPrefix(PropertyAccess.java:52) at jogamp.newt.Debug.(Debug.java:52) at com.jogamp.newt.awt.applet.JOGLNewtAppletBase.(JOGLNewtAppletBase.java:58) at com.jogamp.newt.awt.applet.JOGLNewtApplet1Run.(JOGLNewtApplet1Run.java:95) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:532) at java.lang.Class.newInstance0(Class.java:372) at java.lang.Class.newInstance(Class.java:325) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:726) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission getProtectionDomain) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:393) at java.security.AccessController.checkPermission(AccessController.java:558) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkPermission(JNLPSecurityManager.java:284) at java.lang.Class.getProtectionDomain(Class.java:2123) at com.jogamp.common.util.SecurityUtil$2.run(SecurityUtil.java:52) at com.jogamp.common.util.SecurityUtil$2.run(SecurityUtil.java:50) at java.security.AccessController.doPrivileged(Native Method) at com.jogamp.common.util.SecurityUtil.getCerts(SecurityUtil.java:50) at com.jogamp.common.util.SecurityUtil.(SecurityUtil.java:46) ... 13 more java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:154) at sun.applet.AppletPanel.run(AppletPanel.java:380) at java.lang.Thread.run(Thread.java:679) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:430) at java.lang.Thread.run(Thread.java:679) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121114/a9a1e62c/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 14 04:48:47 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Nov 2012 12:48:47 +0000 Subject: [Bug 1218] JogAmp JOGL angelesgl2es1 applet fails to initialize using Hotspot In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1218 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|32-bit |all --- Comment #1 from Xerxes R?nby --- This bug is also reproducible on 64Bit hotspot: (12:39:13) mz: arch linux, kernel 3.6.6, "ondemand" (12:47:27) mz: is a core i7, 12gb ram, radeon 4670 gpu (13:24:33) xranby: i have a really odd bug that only triggers when using hotspot: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1218 (13:24:53) xranby: can someone test if this work on say 64bit hotspots? (13:25:02) xranby: i have only tested on arm 32bit and ia32 32bit (13:26:52) mz: Exception in thread "Applet" java.lang.ExceptionInInitializerError (13:27:05) xranby: 64bit? (13:27:14) mz: yep (13:27:17) xranby: will it work using jamvm? (13:27:20) mz: seems to be the exact same stack trace you had (13:27:25) xranby: great (13:27:33) xranby: then its reproducible across systems (13:27:48) mz: not sure how to test it with jamvm (13:28:25) xranby: to test with jamvm edit /etc/java-7-/etc/java-7-openjdk/jvm-amd64.cfg (13:28:37) xranby: and put -jamvm KNOWN on top of the list (13:29:02) xranby: this file can be located inside your openjdk/jre/lib/amd64 folder (13:29:09) xranby: jvm.cfg (13:29:13) xranby: if you have jamvm installed (13:30:19) mz: got it (13:31:00) mz: anything else required beyond that? (13:31:07) xranby: no, restart the browser (13:31:31) xranby: if you run from the terminal then you will see which jvm it uses internally (13:31:38) xranby: java -version should report jamvm as well (13:32:33) mz: java -version doesn't mention jamvm (13:32:56) mz: i should mention that i'm on openjdk6, and i edited /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/jvm.cfg (13:33:15) mz: is the only config file present on the system (13:33:17) xranby: manual jamvm installation: http://labb.zafena.se/?p=576 (13:34:01) xranby: mz: most likely you dont have jamvm installed in /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/jamvm (13:34:43) ***mz moves libjvm.so (13:41:04) mz: jamvm working now... testing the applet (13:41:55) mz: hm, firefox still insists on using the normal VM (13:42:03) xranby: thats odd (13:42:04) mz: i'll disable everything but jamvm, temporarily (13:42:50) xranby: do you know whuch icedtea-web you got installed? firefox about:plugins (13:43:28) xranby: it may be that it defaults to the server or client jvm folder (13:43:30) mz: IcedTea-Web Plugin (using IcedTea-Web 1.3) (13:43:51) xranby: you can place the jamvm libjvm.so inside the server or client dir to force it (13:44:06) xranby: jre/lib/amd64/server (13:45:13) mz: yes, think that's going to be necessary... (13:46:28) xranby: for the record: (the reccomended way to test jamvm in combination with icedtea is to build icedtea with --enable-jamvm) (13:46:52) mz: yep, the applet runs with jamvm (13:47:00) xranby: ok cool thank you for testing -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121114/7e2db277/attachment.html From jvanek at redhat.com Wed Nov 14 05:47:37 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 14 Nov 2012 14:47:37 +0100 Subject: [rfc][icedtea-web] a new reproducer using AWT robot "mouse" In-Reply-To: <50A26CCE.3050803@redhat.com> References: <50A26CCE.3050803@redhat.com> Message-ID: <50A3A0F9.50009@redhat.com> Hi! The idea in patch looks overall good, but there are two the main issues - first is with "shareability" of core methods and second is that it is not working very well (or better random, or not at all :( ). The tests were failing pretty a lot. See the attached log. Also some minor issues inline, Shareability - It is necessary to create parts of test framework which will handle all the common rutines for all the robot tests. there must be created shared code in tests-extensions, eg net.jnlp.sourceforge.visualrobot.* or something like that, where will be utility classes with shared awt logic. This framework will then need to grow to allow us test as complicated GUIs as possible. You are testing only applets, will it be usable also for javaws? > 2012-11-13 Jana Fabrikova > > * /tests/reproducers/simple/AppletAWTMouse: > adding a new reproducer for testing reactions of a button inside > a html page to mouse events > > I would like to ask for review of the attached patch, > thank you, > Jana > > adding_AppletAWTMouse_reproducer.patch > > > diff --git a/tests/reproducers/simple/AppletAWTMouse/resources/AppletAWTMouse.html b/tests/reproducers/simple/AppletAWTMouse/resources/AppletAWTMouse.html > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/simple/AppletAWTMouse/resources/AppletAWTMouse.html Shouldn't there be license? > @@ -0,0 +1,35 @@ > + > + > + > + AWT Robot - Applet listens to mouse events > + > + > + There is custom that not-signed applets have blue backgrund, signed red. Those are not signed - have red some particular reason? > + > +
> +
> +
> + > +
Does this lines and separators have something to do with image processing engine? > + > +
> +
> +
> + > +
Does this center have something to do with engine? > + + width="400" > + height="400" > + id="embeddedApplet" MAYSCRIPT> What is this MAYSCRIPT? I remeber you saying it is some necessary hack .. for..??... > + > + > +
> + > +
> +
> +
> + > +
> + > + > + > diff --git a/tests/reproducers/simple/AppletAWTMouse/resources/applet-awt-mouse.jnlp b/tests/reproducers/simple/AppletAWTMouse/resources/applet-awt-mouse.jnlp > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/simple/AppletAWTMouse/resources/applet-awt-mouse.jnlp > @@ -0,0 +1,20 @@ > + There should be definitely license... > + > + > + AWTRobot mouse events > + RedHat > + > + AWTRobot mouse events > + > + > + > + > + > + > + + name="Applet Listens to Mouse Events" > + main-class="AppletAWTMouse" > + width="400" > + height="400"> > + > + > diff --git a/tests/reproducers/simple/AppletAWTMouse/srcs/AppletAWTMouse.java b/tests/reproducers/simple/AppletAWTMouse/srcs/AppletAWTMouse.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/simple/AppletAWTMouse/srcs/AppletAWTMouse.java License? > @@ -0,0 +1,115 @@ > +import java.applet.Applet; > +import java.awt.GridBagLayout; > +import java.awt.GridBagConstraints; > +import java.awt.Color; > +import java.awt.Button; > +import java.awt.Insets; > +import java.awt.event.MouseEvent; > +import java.awt.event.MouseListener; > +import java.awt.event.MouseMotionListener; > + > +public class AppletAWTMouse extends Applet { It would be nice to extend this tests both for Applet and JApplet 9can be in same jar and share logic) They have slightly different approach to AWT > + > + private static final long serialVersionUID = 1L; :)) > + > + public void init() { > + String initStr = "Applet initialized."; > + System.out.println(initStr); > + > + // sets background of the applet > + setBackground(Color.blue); Is this colour (again) necessary for correct work of the framework? > + > + this.setLayout(new GridBagLayout()); > + GridBagConstraints c = new GridBagConstraints(); > + > + Button b = createButton("", Color.GREEN); Textless buttons are rare;) (but nvm:) Is this colour (again) necessary for correct work of the framework? > + > + b.addMouseMotionListener(new MouseMotionListener() { > + public void mouseDragged(MouseEvent e) { snipped many listeners > + break; > + default: > + break; > + } > + } > + }); > + c.fill = GridBagConstraints.HORIZONTAL; > + c.weighty = 3; > + c.weightx = 2; > + c.gridheight = 1; > + c.insets = new Insets(0, 100, 200, 100); // left and bot and right padding > + c.gridx = 1; > + c.gridy = 0; > + c.ipady = 30; > + this.add(b, c); > + } > + > + private Button createButton(String label, Color color) { > + Button b = new Button(label); > + b.setBackground(color); > + b.setSize(100, 50); > + return b; > + } > +} I like idea of one html+html and multiple launches of it in this case. sts/reproducers/simple/AppletAWTMouse/testcases/AppletAWTMouseTest.java b/tests/reproducers/simple/AppletAWTMouse/testcases/AppletAWTMouseTest.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/simple/AppletAWTMouse/testcases/AppletAWTMouseTest.java > @@ -0,0 +1,445 @@ snip license > +obligated to do so. If you do not wish to do so, delete this > +exception statement from your version. > + */ > + > +import java.awt.AWTException; > +import java.awt.Color; > +import java.awt.Rectangle; > +import java.awt.Robot; > +import java.awt.Toolkit; > +import java.awt.event.InputEvent; > +import java.awt.image.BufferedImage; > + > +import net.sourceforge.jnlp.ProcessResult; > +import net.sourceforge.jnlp.browsertesting.BrowserTest; > +import net.sourceforge.jnlp.browsertesting.Browsers; > +import net.sourceforge.jnlp.closinglisteners.CountingClosingListener; > +import net.sourceforge.jnlp.annotations.NeedsDisplay; > +import net.sourceforge.jnlp.annotations.TestInBrowsers; > +import org.junit.Assert; > +import org.junit.Test; > + > +public class AppletAWTMouseTest extends BrowserTest { > + > + private final String exceptionStr = "xception"; > + private final String errStr = "rror"; "rror" is quite short one. Especially if it will be extracted to framework, it can be easily misinterpreted during runtime. And.. IS it used somewhere? Is not enough aoutoclosing listener? > + private final String initStr = "Applet initialized."; > + private final String afterStr = "afterTests"; > + javadoc! > + private static final Color UPPER_HORIZONTAL_RULE_COLOR = Color.yellow; > + private static final Color LOWER_HORIZONTAL_RULE_COLOR = Color.cyan; > + private static final Color PAGE_BACKGROUND_COLOR = Color.red; > + private static final Color APPLET_BACKGROUND_COLOR = Color.blue; > + private static final Color BUTTON_COLOR = Color.green; Here I see that the rulers are necessary ... Interesting. As this will go probably to framework, you will need to allow user to set this up in constructor and have some () constructor with default values. So you will probably return "instance of framework" so you will happily get rid of most static method (which does not mean, that they will not have static backend) > + > + private static final int SENSIBLE_DELAY = 100; //ms > + > + // test identifiers constants: > + private static final int ENTER_EXIT = 0; > + private static final int MOUSE_CLICK1 = 1; > + private static final int MOUSE_CLICK2 = 2; > + private static final int MOUSE_CLICK3 = 3; > + private static final int MOUSE_DRAG = 4; > + private static final int MOUSE_MOVE = 5; > + I don't like this this int constant signpost. If nothing better canbe done here, then I would like to suggest at least enumeration. > + BufferedImage screenCapture; Is this varibale necessary? I tihn it can be just in-method local varibale. If it will have some purpose here (and will not be/or will be moved to framework, then it will need some private/public... identifier, unles it really must be package private. If this is class field, only because of thread-work, then it signify bad design;) > + Framework? (javadoc!!!) > + private static BufferedImage createScreenshot() { // of the whole monitor > + Toolkit toolkit = Toolkit.getDefaultToolkit(); > + Rectangle captureSize = new Rectangle(toolkit.getScreenSize()); How does this work on multuiple monitors? I think it would be much better to capture jsut desired window. (not usre if possible via pure java) > + BufferedImage screenshot = null; > + try { > + Robot robot = new Robot(); > + screenshot = robot.createScreenCapture(captureSize); > + } catch (AWTException e) { > + e.printStackTrace(); > + } > + return screenshot; > + } > + Framework? (javadoc!!!) > + private static int findHorizontalRule(BufferedImage screen, > + Color ruleColor, boolean fromTop) { > + final int height = screen.getHeight(); > + int gap = 0; > + > + if (!fromTop) { > + return findHorizontalEdgeGap(screen, ruleColor, > + PAGE_BACKGROUND_COLOR, 1, height - 1, gap); > + } else { > + return findHorizontalEdgeGap(screen, PAGE_BACKGROUND_COLOR, > + ruleColor, 1, height - 1, gap); > + } > + } Framework? (javadoc!!!) > + > + private static int findHorizontalEdgeGap(BufferedImage screen, > + Color area1Color, Color area2Color, int y1, int y2, int gap) { > + final int width = screen.getWidth(); > + final int area1RGB = area1Color.getRGB(); > + final int area2RGB = area2Color.getRGB(); > + int edgePosition = Integer.MIN_VALUE; > + int lastFound = Integer.MIN_VALUE; > + > + for (int y = y1; y < y2 - gap; y++) { > + int found = 0; > + for (int x = 0; x < width; x++) { > + int c1 = screen.getRGB(x, y - 1); > + int c2 = screen.getRGB(x, y + gap); > + if (c1 == area1RGB && c2 == area2RGB) { > + found++; > + } > + } > + if (found > lastFound) { > + lastFound = found; > + edgePosition = y; > + } > + } > + return edgePosition; > + } > + Framework? (javadoc!!!) > + private static int findVerticalEdgeGap(BufferedImage screen, > + Color area1Color, Color area2Color, int y1, int y2, int gap) { > + final int width = screen.getWidth(); > + final int area1RGB = area1Color.getRGB(); > + final int area2RGB = area2Color.getRGB(); > + int edgePosition = Integer.MIN_VALUE; > + int lastFound = Integer.MIN_VALUE; > + > + for (int x = 1; x < width - 1 - gap; x++) { > + int found = 0; > + for (int y = y1; y < y2; y++) { > + int c1 = screen.getRGB(x - 1, y); > + int c2 = screen.getRGB(x + gap, y); > + if (c1 == area1RGB && c2 == area2RGB) { > + found++; > + } > + } > + if (found > lastFound) { > + lastFound = found; > + edgePosition = x; > + } > + } > + return edgePosition; > + } > + Framework? (javadoc!!!) > + private static Rectangle findColoredAreaGap(BufferedImage screen, > + Color searchForColor, Color surroundWithColor, int y1, int y2, > + int gap) { > + int ymin = findHorizontalEdgeGap(screen, surroundWithColor, > + searchForColor, y1, y2, gap); > + int ymax = findHorizontalEdgeGap(screen, searchForColor, > + surroundWithColor, y1, y2, gap); > + int xmin = findVerticalEdgeGap(screen, surroundWithColor, > + searchForColor, ymin, ymax, gap); > + int xmax = findVerticalEdgeGap(screen, searchForColor, > + surroundWithColor, ymin, ymax, gap); > + return new Rectangle(xmin, ymin, xmax - xmin, ymax - ymin); > + } > + Framework?????(javadoc!!!) Will probably need some more generalization? > + private void moveInAndOutOfRectangle(Rectangle bR) { > + int xin = bR.x + bR.width / 2; > + int yin = bR.y + bR.height / 2; > + int xout = xin + bR.width + 10; > + int yout = yin + bR.height + 10; > + > + try { > + Robot robot = new Robot(); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseMove(xout, yout); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseMove(xin, yin); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseMove(xout, yout); > + robot.delay(SENSIBLE_DELAY); > + } catch (AWTException e) { > + e.printStackTrace(); > + } > + > + } > + Framework?????(javadoc!!!) Will probably need some more generalization? > + private void clickInsideRectangle(Rectangle bR, int button) { > + int x = bR.x + bR.width / 2; > + int y = bR.y + bR.height / 2; > + > + try { > + Robot robot = new Robot(); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseMove(x, y); > + robot.delay(SENSIBLE_DELAY); > + robot.mousePress(button); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseRelease(button); > + } catch (AWTException e) { > + e.printStackTrace(); > + } > + > + } > + Framework?????(javadoc!!!) Will probably need some more generalization? > + private void dragFromRectangle(Rectangle bR) { > + int x = bR.x + bR.width / 2; > + int y = bR.y + bR.height / 2; > + > + try { > + Robot robot = new Robot(); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseMove(x, y); > + robot.delay(SENSIBLE_DELAY); > + robot.mousePress(InputEvent.BUTTON1_MASK); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseMove(x + 100, y + 100); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseRelease(InputEvent.BUTTON1_MASK); > + } catch (AWTException e) { > + e.printStackTrace(); > + } > + } > + Framework?????(javadoc!!!) Will probably need some more generalization? > + private void moveInsideRectangle(Rectangle bR) { > + int x = bR.x + bR.width / 2; > + int y = bR.y + bR.height / 2; > + int x2 = x + bR.width / 3; > + int y2 = y + bR.height / 3; > + > + try { > + Robot robot = new Robot(); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseMove(x, y); > + robot.delay(SENSIBLE_DELAY); > + robot.mouseMove(x2, y2); > + robot.delay(SENSIBLE_DELAY); > + } catch (AWTException e) { > + e.printStackTrace(); > + } > + > + } It can be good habit to save mouse position in @beforeClass and restore it in @afterClass. Nut it nvm. > + The problem you are trying to solve here is tu run parallel awtrobot+screencapture and browser(javaws) to use sleep for this is not the path you should follow :) You need to run browser in different thread, and listen to some string like "hey I'm loaded", then you can start your thread (or probably this will be possible to do synchronously if browser will be in thread), which will move mouse, take screenshot and evaluate. There are some generic methods for this in tests-extensions for javaws, feel free to create such a generalised stuff for browser. It will be necessary (there are already some async tests for browser, feel free tolearn from theirs mistakes) > + private class ScreenshotAndActionThread implements Runnable { > + Thread t; > + int test; > + > + ScreenshotAndActionThread(int testId) { > + t = new Thread(this, "screenshot thread"); > + t.start(); > + test = testId; > + } > + > + public void run() { > + // wait for the applet (from another thread) to load > + try { this is nasty EVIL :) > + Thread.sleep(5000); > + } catch (InterruptedException ie) { > + // Handle exception > + ie.printStackTrace(); > + } > + > + // capture the screen This is very nasty too. You need to wrap this by your class with getScreenshot method wit eg some waiting until it will not be null. > + screenCapture = createScreenshot(); > + ScreenCapture and its processing are quite separable logic. > + // find auxiliary rules for orientation on the screen > + final int y1 = findHorizontalRule(screenCapture, > + UPPER_HORIZONTAL_RULE_COLOR, true); > + final int y2 = findHorizontalRule(screenCapture, > + LOWER_HORIZONTAL_RULE_COLOR, false); > + > + // find applet rectangle > + int gap = 0; > + Rectangle appletArea = findColoredAreaGap(screenCapture, > + APPLET_BACKGROUND_COLOR, PAGE_BACKGROUND_COLOR, y1, y2, gap); > + > + // find the button > + gap = 4; > + Rectangle buttonRectangle = findColoredAreaGap(screenCapture, > + BUTTON_COLOR, APPLET_BACKGROUND_COLOR, appletArea.y, > + appletArea.y + appletArea.height, gap); > + > + // activate the applet by a click > + clickInsideRectangle(appletArea, InputEvent.BUTTON1_MASK); > + This will probably need to remain in testclass, but it will also probably need some generalisisatio via interface. > + switch (test) { > + case ENTER_EXIT: > + // move in and out of the button area > + moveInAndOutOfRectangle(buttonRectangle); > + break; > + case MOUSE_CLICK1: > + // click the button > + clickInsideRectangle(buttonRectangle, InputEvent.BUTTON1_MASK); > + break; > + case MOUSE_CLICK2: > + clickInsideRectangle(buttonRectangle, InputEvent.BUTTON2_MASK); > + break; > + case MOUSE_CLICK3: > + clickInsideRectangle(buttonRectangle, InputEvent.BUTTON3_MASK); > + break; > + case MOUSE_DRAG: > + // move onto the button > + // press mouse and move > + dragFromRectangle(buttonRectangle); > + break; > + case MOUSE_MOVE: > + // move in the button rectangle > + moveInsideRectangle(buttonRectangle); > + break; > + default: > + break; > + } > + } > + } > + > + > + private class CountingClosingListenerImpl extends CountingClosingListener { > + > + @Override > + protected boolean isAlowedToFinish(String s) { > + if (s.contains(exceptionStr)) { > + return true; > + } > + return (s.contains(initStr) && s.contains(afterStr)); > + } > + } > + > + private void evaluateStdoutContents(String[] testStrs, ProcessResult pr) { > + > + // Assert that the applet was initialized. > + Assert.assertTrue("AppletAWTMouseTest stdout should contain " + initStr > + + " but it didnt.", pr.stdout.contains(initStr)); > + > + // Assert that there are no errors. > + int ind = pr.stdout.indexOf(errStr); > + Assert.assertTrue("AppletAWTMouse - an error occured", (ind == -1));// no > + > + // Assert that there are no exceptions. > + ind = pr.stdout.indexOf(exceptionStr); > + Assert.assertTrue("AppletAWTMouse - an exception occured", (ind == -1));// no > + > + // Assert there are all the test messages from applet > + for (String testStr : testStrs) { > + Assert.assertTrue("AppletAWTMouse stdout should contain " + testStr > + + " but it did not", pr.stdout.contains(testStr)); > + } > + > + } > + > + private void appletAWTMouseTest(String url, String[] testStrs) > + throws Exception { > + > + String strURL = "/" + url; > + ProcessResult pr = server.executeBrowser(strURL, > + new CountingClosingListenerImpl(), > + new CountingClosingListenerImpl()); > + evaluateStdoutContents(testStrs, pr); > + > + } > + tests and evaluation and listener looks greate! > + @Test > + @TestInBrowsers(testIn = { Browsers.all }) > + @NeedsDisplay > + public void AppletAWTMouse_EnterAndExit_Test() throws Exception { > + // another thread: > + new ScreenshotAndActionThread(ENTER_EXIT); > + > + // this thread: > + // display the page, activate applet, move over the button > + String[] testStrings = { "mouseEntered", "mouseExited" }; > + appletAWTMouseTest("AppletAWTMouse.html", testStrings); > + } ...snip of simialr tests > + @Test > + @TestInBrowsers(testIn = { Browsers.all }) > + @NeedsDisplay > + public void AppletAWTMouse_Move_Test() throws Exception { > + // another thread: > + new ScreenshotAndActionThread(MOUSE_MOVE); > + > + // this thread: > + // display the page, activate applet, click on button > + String[] testStrings = { "mouseMoved" }; > + appletAWTMouseTest("AppletAWTMouse.html", testStrings); > + } > +} > I have also encountered some undesired behaviour like clicking on "aplication menu" of my xfce, or eg epiphany was showing applet in unfocused(hidden) tab, which is unaxceptable for visual test and will need some tweek in Epiphany stub. I'm sorry for so much hints, but this feature is really needed one and so it have to be scalable, reusable and maintainable, and also stable. J. -------------- next part -------------- port: 58007 dir: /home/jvanek/hg/icedtea-web/tests.build/reproducers_test_server_deploydir Exception in thread "screenshot thread" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! at sun.awt.image.IntegerInterleavedRaster.getDataElements(IntegerInterleavedRaster.java:219) at java.awt.image.BufferedImage.getRGB(BufferedImage.java:888) at AppletAWTMouseTest.findHorizontalEdgeGap(AppletAWTMouseTest.java:118) at AppletAWTMouseTest.findColoredAreaGap(AppletAWTMouseTest.java:160) at AppletAWTMouseTest.access$600(AppletAWTMouseTest.java:55) at AppletAWTMouseTest$ScreenshotAndActionThread.run(AppletAWTMouseTest.java:283) at java.lang.Thread.run(Thread.java:722) FAILED: AppletAWTMouse_EnterAndExit_Test - chromium-browser(AppletAWTMouseTest) AppletAWTMouse stdout should contain mouseEntered but it did not Exception in thread "screenshot thread" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! at sun.awt.image.IntegerInterleavedRaster.getDataElements(IntegerInterleavedRaster.java:219) at java.awt.image.BufferedImage.getRGB(BufferedImage.java:888) at AppletAWTMouseTest.findHorizontalEdgeGap(AppletAWTMouseTest.java:118) at AppletAWTMouseTest.findColoredAreaGap(AppletAWTMouseTest.java:160) at AppletAWTMouseTest.access$600(AppletAWTMouseTest.java:55) at AppletAWTMouseTest$ScreenshotAndActionThread.run(AppletAWTMouseTest.java:283) at java.lang.Thread.run(Thread.java:722) FAILED: AppletAWTMouse_EnterAndExit_Test - opera(AppletAWTMouseTest) AppletAWTMouse stdout should contain mouseEntered but it did not FAILED: AppletAWTMouse_EnterAndExit_Test - midori(AppletAWTMouseTest) AppletAWTMouseTest stdout should contain Applet initialized. but it didnt. Exception in thread "screenshot thread" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! at sun.awt.image.IntegerInterleavedRaster.getDataElements(IntegerInterleavedRaster.java:219) at java.awt.image.BufferedImage.getRGB(BufferedImage.java:888) at AppletAWTMouseTest.findHorizontalEdgeGap(AppletAWTMouseTest.java:118) at AppletAWTMouseTest.findColoredAreaGap(AppletAWTMouseTest.java:160) at AppletAWTMouseTest.access$600(AppletAWTMouseTest.java:55) at AppletAWTMouseTest$ScreenshotAndActionThread.run(AppletAWTMouseTest.java:283) at java.lang.Thread.run(Thread.java:722) Passed: AppletAWTMouseTest.AppletAWTMouse_EnterAndExit_Test - epiphany Passed: AppletAWTMouseTest.AppletAWTMouse_ClickButton1_Test - chromium-browser FAILED: AppletAWTMouse_ClickButton1_Test - opera(AppletAWTMouseTest) AppletAWTMouse stdout should contain mousePressedButton1 but it did not FAILED: AppletAWTMouse_ClickButton1_Test - midori(AppletAWTMouseTest) AppletAWTMouseTest stdout should contain Applet initialized. but it didnt. Exception in thread "screenshot thread" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! at sun.awt.image.IntegerInterleavedRaster.getDataElements(IntegerInterleavedRaster.java:219) at java.awt.image.BufferedImage.getRGB(BufferedImage.java:888) at AppletAWTMouseTest.findHorizontalEdgeGap(AppletAWTMouseTest.java:118) at AppletAWTMouseTest.findColoredAreaGap(AppletAWTMouseTest.java:160) at AppletAWTMouseTest.access$600(AppletAWTMouseTest.java:55) at AppletAWTMouseTest$ScreenshotAndActionThread.run(AppletAWTMouseTest.java:283) at java.lang.Thread.run(Thread.java:722) Passed: AppletAWTMouseTest.AppletAWTMouse_ClickButton1_Test - epiphany Passed: AppletAWTMouseTest.AppletAWTMouse_ClickButton2_Test - chromium-browser Passed: AppletAWTMouseTest.AppletAWTMouse_ClickButton2_Test - opera FAILED: AppletAWTMouse_ClickButton2_Test - midori(AppletAWTMouseTest) AppletAWTMouseTest stdout should contain Applet initialized. but it didnt. Passed: AppletAWTMouseTest.AppletAWTMouse_ClickButton2_Test - epiphany Passed: AppletAWTMouseTest.AppletAWTMouse_ClickButton3_Test - chromium-browser Passed: AppletAWTMouseTest.AppletAWTMouse_ClickButton3_Test - opera FAILED: AppletAWTMouse_ClickButton3_Test - midori(AppletAWTMouseTest) AppletAWTMouseTest stdout should contain Applet initialized. but it didnt. Passed: AppletAWTMouseTest.AppletAWTMouse_ClickButton3_Test - epiphany Passed: AppletAWTMouseTest.AppletAWTMouse_Drag_Test - chromium-browser Passed: AppletAWTMouseTest.AppletAWTMouse_Drag_Test - opera FAILED: AppletAWTMouse_Drag_Test - midori(AppletAWTMouseTest) AppletAWTMouseTest stdout should contain Applet initialized. but it didnt. Exception in thread "screenshot thread" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! at sun.awt.image.IntegerInterleavedRaster.getDataElements(IntegerInterleavedRaster.java:219) at java.awt.image.BufferedImage.getRGB(BufferedImage.java:888) at AppletAWTMouseTest.findHorizontalEdgeGap(AppletAWTMouseTest.java:118) at AppletAWTMouseTest.findColoredAreaGap(AppletAWTMouseTest.java:160) at AppletAWTMouseTest.access$600(AppletAWTMouseTest.java:55) at AppletAWTMouseTest$ScreenshotAndActionThread.run(AppletAWTMouseTest.java:283) at java.lang.Thread.run(Thread.java:722) FAILED: AppletAWTMouse_Drag_Test - epiphany(AppletAWTMouseTest) AppletAWTMouse stdout should contain mouseDragged but it did not Passed: AppletAWTMouseTest.AppletAWTMouse_Move_Test - chromium-browser Passed: AppletAWTMouseTest.AppletAWTMouse_Move_Test - opera FAILED: AppletAWTMouse_Move_Test - midori(AppletAWTMouseTest) AppletAWTMouseTest stdout should contain Applet initialized. but it didnt. Exception in thread "screenshot thread" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! at sun.awt.image.IntegerInterleavedRaster.getDataElements(IntegerInterleavedRaster.java:219) at java.awt.image.BufferedImage.getRGB(BufferedImage.java:888) at AppletAWTMouseTest.findHorizontalEdgeGap(AppletAWTMouseTest.java:118) at AppletAWTMouseTest.findColoredAreaGap(AppletAWTMouseTest.java:160) at AppletAWTMouseTest.access$600(AppletAWTMouseTest.java:55) at AppletAWTMouseTest$ScreenshotAndActionThread.run(AppletAWTMouseTest.java:283) at java.lang.Thread.run(Thread.java:722) Passed: AppletAWTMouseTest.AppletAWTMouse_Move_Test - epiphany Total tests run: 24; From those : 0 known to fail Test known to fail: passed: 0; failed: 0; ignored: 0 Test results: passed: 14; failed: 10; ignored: 0 xsltproc /home/jvanek/hg/icedtea-web/tests/report-styles/logs.xsl /home/jvanek/hg/icedtea-web/tests.build/test-extensions/ServerAccess-logs.xml > /home/jvanek/hg/icedtea-web/tests.build/logs_reproducers.html xsltproc --stringparam logs logs_reproducers.html /home/jvanek/hg/icedtea-web/tests/report-styles/jreport.xsl /home/jvanek/hg/icedtea-web/tests.build/test-extensions/tests-output.xml > /home/jvanek/hg/icedtea-web/tests.build/index_reproducers.html touch stamps/run-netx-dist-tests.stamp From bugzilla-daemon at icedtea.classpath.org Wed Nov 14 07:59:58 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 14 Nov 2012 15:59:58 +0000 Subject: [Bug 1219] New: PluginStreamHandler calls System.exit Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1219 Priority: P3 Bug ID: 1219 CC: unassigned at icedtea.classpath.org Assignee: dbhole at redhat.com Summary: PluginStreamHandler calls System.exit Severity: trivial Classification: Unclassified OS: Linux Reporter: Martin.vGagern at gmx.net Hardware: 64-bit Status: NEW Version: 1.2 Component: Plugin Product: IcedTea-Web After my browser received a SIGTERM, I just found the following message in its standard error: net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkExit(JNLPSecurityManager.java:385) at java.lang.Runtime.exit(Runtime.java:105) at java.lang.System.exit(System.java:923) at sun.applet.PluginStreamHandler.write(PluginStreamHandler.java:374) at sun.applet.PluginAppletViewer.write(PluginAppletViewer.java:1396) at sun.applet.PluginAppletViewer.showStatus(PluginAppletViewer.java:948) This is on Ubuntu precise 64bit using icedtea-6-plugin 1.2-2ubuntu1.3. http://packages.ubuntu.com/precise-updates/icedtea-6-plugin The corresponding source line is this one here: http://icedtea.classpath.org/hg/icedtea-web/file/41f03d932cdf/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java#l371 As the plugin gets killed eventually in any case, this issue isn't too severe. But I guess the exit is there for a reason, so perhaps you should try to make it work as intended. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121114/3d97e14a/attachment.html From ahughes at redhat.com Wed Nov 14 17:20:50 2012 From: ahughes at redhat.com (Andrew Hughes) Date: Wed, 14 Nov 2012 20:20:50 -0500 (EST) Subject: OpenJDK7 JSR292 Update Message-ID: <2110130463.908357.1352942450002.JavaMail.root@redhat.com> The JSR292 changes are on their way into OpenJDK7: http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-November/007166.html which will help with Zero in the long run. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 00:04:29 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 08:04:29 +0000 Subject: [Bug 1217] Add command line arguments for plugins In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1217 helpcrypto at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |helpcrypto at gmail.com --- Comment #3 from helpcrypto at gmail.com --- > (In reply to comment #2) > (In reply to comment #1) Im also very interested in this, but I'm not able to find a the vote feature. BTW: Is that patch protected agaisnt zero-day infamous attack? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/1739b4a8/attachment.html From ptisnovs at icedtea.classpath.org Thu Nov 15 01:06:47 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 15 Nov 2012 09:06:47 +0000 Subject: /hg/gfx-test: Support for linear and closed Path2D.Float and Pat... Message-ID: changeset 6d5e5cd3917b in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=6d5e5cd3917b author: Pavel Tisnovsky date: Thu Nov 15 10:09:41 2012 +0100 Support for linear and closed Path2D.Float and Path2D.Double: * src/org/gfxtest/testsuites/ClippingPathByRectangleShape.java. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/ClippingPathByRectangleShape.java | 379 ++++++++++- 2 files changed, 359 insertions(+), 25 deletions(-) diffs (truncated from 676 to 500 lines): diff -r c88d4e4ba967 -r 6d5e5cd3917b ChangeLog --- a/ChangeLog Wed Nov 14 10:58:41 2012 +0100 +++ b/ChangeLog Thu Nov 15 10:09:41 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-15 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/ClippingPathByRectangleShape.java: + Support for linear and closed Path2D.Float and Path2D.Double. + 2012-11-14 Pavel Tisnovsky * src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java: diff -r c88d4e4ba967 -r 6d5e5cd3917b src/org/gfxtest/testsuites/ClippingPathByRectangleShape.java --- a/src/org/gfxtest/testsuites/ClippingPathByRectangleShape.java Wed Nov 14 10:58:41 2012 +0100 +++ b/src/org/gfxtest/testsuites/ClippingPathByRectangleShape.java Thu Nov 15 10:09:41 2012 +0100 @@ -92,13 +92,14 @@ /** * Draw path consisting of one line only clipped by rectangle shape. + * Line path is constructed using new Path.Float() * * @param image * work image * @param graphics2d * graphics canvas */ - private static void drawLinePathClippedByRectangleShape(TestImage image, Graphics2D graphics2d) + private static void drawLinePathFloatClippedByRectangleShape(TestImage image, Graphics2D graphics2d) { // prepare canvas for the rendering basicSetupForRendering(image, graphics2d); @@ -109,6 +110,25 @@ } /** + * Draw path consisting of one line only clipped by rectangle shape. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + */ + private static void drawLinePathDoubleClippedByRectangleShape(TestImage image, Graphics2D graphics2d) + { + // prepare canvas for the rendering + basicSetupForRendering(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // draw the line path + graphics2d.draw(CommonPathsGenerator.createLinePathDouble(image)); + } + + /** * Draw quadratic path clipped by rectangle shape. * * @param image @@ -183,6 +203,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is * rendered using stroke paint with default stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -190,12 +211,33 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByRectangleShapeStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip rectangle CommonClippingOperations.renderClipRectangle(image, graphics2d); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a rectangle shape. Path is + * rendered using stroke paint with default stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByRectangleShapeStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip rectangle + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByRectangleShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -283,6 +325,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is * rendered using stroke paint with zero stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -290,7 +333,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByRectangleShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip rectangle CommonClippingOperations.renderClipRectangle(image, graphics2d); @@ -299,7 +342,32 @@ // set stroke width CommonRenderingStyles.setStrokeZeroThick(graphics2d); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a rectangle shape. Path is + * rendered using stroke paint with zero stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByRectangleShapeZeroStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip rectangle + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByRectangleShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -403,6 +471,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is rendered * using stroke paint with thick stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -410,7 +479,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeThickStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLineFloatPathByRectangleShapeThickStrokePaint(TestImage image, Graphics2D graphics2d) { // render rectangle which is used as a clip shape CommonClippingOperations.renderClipRectangle(image, graphics2d); @@ -419,7 +488,32 @@ // set stroke width CommonRenderingStyles.setStrokeThickWidth(graphics2d); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a rectangle shape. Path is rendered + * using stroke paint with thick stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLineDoublePathByRectangleShapeThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render rectangle which is used as a clip shape + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByRectangleShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -523,6 +617,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is rendered * using stroke paint with extra thick width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -530,7 +625,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByRectangleShapeExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) { // render rectangle which is used as a clip shape CommonClippingOperations.renderClipRectangle(image, graphics2d); @@ -539,7 +634,32 @@ // set stroke width CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a rectangle shape. Path is rendered + * using stroke paint with extra thick width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByRectangleShapeExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render rectangle which is used as a clip shape + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByRectangleShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -643,6 +763,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is * rendered using stroke paint with default stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -650,14 +771,37 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByRectangleShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip rectangle CommonClippingOperations.renderClipRectangle(image, graphics2d); // set dashed pattern CommonRenderingStyles.setDashedStrokePattern(graphics2d); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a rectangle shape. Path is + * rendered using stroke paint with default stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByRectangleShapeDashedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip rectangle + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByRectangleShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -753,6 +897,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is * rendered using stroke paint with thick stroke width. + * Line path is constructed using new Path.Float() * * @param image * work image @@ -760,7 +905,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByRectangleShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip rectangle CommonClippingOperations.renderClipRectangle(image, graphics2d); @@ -769,7 +914,32 @@ // set dashed pattern CommonRenderingStyles.setDashedStrokePattern(graphics2d); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * Line path is constructed using new Path.Double() + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByRectangleShapeDashedThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip rectangle + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByRectangleShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -873,6 +1043,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is * rendered using stroke paint with thick stroke width. + * Line path is constructed using new Path.Float(). * * @param image * work image @@ -880,7 +1051,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeDashedExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByRectangleShapeDashedExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip rectangle CommonClippingOperations.renderClipRectangle(image, graphics2d); @@ -889,7 +1060,32 @@ // set dashed pattern CommonRenderingStyles.setDashedStrokePattern(graphics2d); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a rectangle shape. Path is + * rendered using stroke paint with thick stroke width. + * Line path is constructed using new Path.Double(). + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByRectangleShapeDashedExtraThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip rectangle + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByRectangleShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -993,6 +1189,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is * rendered using stroke paint with zero stroke width. + * Line path is constructed using new Path.Float(). * * @param image * work image @@ -1000,7 +1197,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeDashedZeroThickStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByRectangleShapeDashedZeroThickStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip rectangle CommonClippingOperations.renderClipRectangle(image, graphics2d); @@ -1009,7 +1206,32 @@ // set dashed pattern CommonRenderingStyles.setDashedStrokePattern(graphics2d); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** + * Check if line path could be clipped by a rectangle shape. Path is + * rendered using stroke paint with zero stroke width. + * Line path is constructed using new Path.Double(). + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByRectangleShapeDashedZeroThickStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip rectangle + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // set dashed pattern + CommonRenderingStyles.setDashedStrokePattern(graphics2d); + // set clip region and draw the path + drawLinePathDoubleClippedByRectangleShape(image, graphics2d); // test result return TestResult.PASSED; } @@ -1113,6 +1335,7 @@ /** * Check if line path could be clipped by a rectangle shape. Path is rendered * using dotted stroke paint with normal stroke width. + * Line path is constructed using new Path.Float(). * * @param image * work image @@ -1120,7 +1343,7 @@ * graphics canvas * @return test result status - PASSED, FAILED or ERROR */ - public TestResult testClipLinePathByRectangleShapeDottedStrokePaint(TestImage image, Graphics2D graphics2d) + public TestResult testClipLinePathFloatByRectangleShapeDottedStrokePaint(TestImage image, Graphics2D graphics2d) { // render clip rectangle CommonClippingOperations.renderClipRectangle(image, graphics2d); @@ -1129,7 +1352,33 @@ // set dashed pattern CommonRenderingStyles.setDashedStrokePattern(graphics2d, DOTTED_PATTERN); // set clip region and draw the path - drawLinePathClippedByRectangleShape(image, graphics2d); + drawLinePathFloatClippedByRectangleShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + + /** + * Check if line path could be clipped by a rectangle shape. Path is rendered + * using dotted stroke paint with normal stroke width. + * Line path is constructed using new Path.Double(). + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipLinePathDoubleByRectangleShapeDottedStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render clip rectangle + CommonClippingOperations.renderClipRectangle(image, graphics2d); + // set stroke width + //CommonRenderingStyles.setStrokeThickWidth(graphics2d, BasicStroke.CAP_ROUND); From ptisnovs at icedtea.classpath.org Thu Nov 15 01:19:16 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 15 Nov 2012 09:19:16 +0000 Subject: /hg/rhino-tests: Added five new tests to the test suite Message-ID: changeset 610558995315 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=610558995315 author: Pavel Tisnovsky date: Thu Nov 15 10:22:11 2012 +0100 Added five new tests to the test suite src/org/RhinoTests/ScriptEngineFactoryClassTest.java and made this test compatible with JDK 7. diffstat: ChangeLog | 6 + src/org/RhinoTests/ScriptEngineFactoryClassTest.java | 169 ++++++++++++++++-- 2 files changed, 149 insertions(+), 26 deletions(-) diffs (266 lines): diff -r 39454ef51d62 -r 610558995315 ChangeLog --- a/ChangeLog Wed Nov 14 11:05:35 2012 +0100 +++ b/ChangeLog Thu Nov 15 10:22:11 2012 +0100 @@ -1,3 +1,9 @@ +2012-11-15 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineFactoryClassTest.java: + Added five new tests to this test suite. + Make this test compatible with JDK 7. + 2012-11-14 Pavel Tisnovsky * src/org/RhinoTests/ScriptEngineClassTest.java: diff -r 39454ef51d62 -r 610558995315 src/org/RhinoTests/ScriptEngineFactoryClassTest.java --- a/src/org/RhinoTests/ScriptEngineFactoryClassTest.java Wed Nov 14 11:05:35 2012 +0100 +++ b/src/org/RhinoTests/ScriptEngineFactoryClassTest.java Thu Nov 15 10:22:11 2012 +0100 @@ -43,6 +43,8 @@ import java.util.Arrays; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.HashMap; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -65,7 +67,7 @@ /** * Object that represents the type of ScriptEngineFactory. */ - Class scriptEngineFactoryClass = null; + Class scriptEngineFactoryClass = null; @Override protected void setUp(String[] args) { @@ -136,10 +138,64 @@ } /** + * Test for method javax.script.ScriptEngineFactory.getClass().isAnnotation() + */ + protected void testIsAnnotation() { + assertFalse(this.scriptEngineFactoryClass.isAnnotation(), + "Method ScriptEngineFactory.getClass().isAnnotation() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().isAnnotationPresent() + */ + protected void testIsAnnotationPresent() { + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Annotation.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Annotation.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Documented.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Documented.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Inherited.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Inherited.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Retention.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Retention.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.annotation.Target.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.annotation.Target.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.Deprecated.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.Deprecated.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.Override.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.Override.class) returns wrong value"); + assertFalse(this.scriptEngineFactoryClass.isAnnotationPresent(java.lang.SuppressWarnings.class), + "Method ScriptEngineFactory.getClass().isAnnotationPresent(java.lang.SuppressWarnings.class) returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().isAnonymousClass() + */ + protected void testIsAnonymousClass() { + assertFalse(this.scriptEngineFactoryClass.isAnonymousClass(), + "Method ScriptEngineFactory.getClass().isAnonymousClass() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().isArray() + */ + protected void testIsArray() { + assertFalse(this.scriptEngineFactoryClass.isArray(), + "Method ScriptEngineFactory.getClass().isArray() returns wrong value"); + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().isEnum() + */ + protected void testIsEnum() { + assertFalse(this.scriptEngineFactoryClass.isEnum(), + "Method ScriptEngineFactory.getClass().isEnum() returns wrong value"); + } + + /** * Test for method javax.script.ScriptEngineFactory.getClass().getInterfaces() */ protected void testGetInterfaces() { - List interfaces = Arrays.asList(this.scriptEngineFactoryClass.getInterfaces()); + List> interfaces = Arrays.asList(this.scriptEngineFactoryClass.getInterfaces()); assertTrue(interfaces.isEmpty(), "list of implemented interfaces should be empty"); } @@ -207,7 +263,7 @@ * Test for method javax.script.ScriptEngineFactory.getClass().getSuperclass() */ protected void testGetSuperclass() { - Class superClass = this.scriptEngineFactoryClass.getSuperclass(); + Class superClass = this.scriptEngineFactoryClass.getSuperclass(); assertNull(superClass, "Method ScriptEngineFactory.getClass().getSuperclass() does not return null"); } @@ -216,16 +272,42 @@ * Test for method javax.script.ScriptEngineFactory.getClass().getConstructors() */ protected void testGetConstructors() { - Constructor[] constructors = this.scriptEngineFactoryClass.getConstructors(); + // map of constructors which should exists + Map testedConstructors = null; + Map testedConstructors_jdk6 = new HashMap(); + Map testedConstructors_jdk7 = new HashMap(); + + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all constructors for this class + Constructor[] constructors = this.scriptEngineFactoryClass.getConstructors(); + + // basic check for a number of constructors assertEquals(constructors.length, 0, "no constructors should be set"); + } /** * Test for method javax.script.ScriptEngineFactory.getClass().getDeclaredConstructors() */ protected void testGetDeclaredConstructors() { - Constructor[] constructors = this.scriptEngineFactoryClass.getDeclaredConstructors(); - assertEquals(constructors.length, 0, "no constructors should be set"); + // map of constructors which should exists + Map testedConstructors = null; + Map testedConstructors_jdk6 = new HashMap(); + Map testedConstructors_jdk7 = new HashMap(); + + + // get the right map containing constructor signatures + testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; + + // get all declared constructors for this class + Constructor[] declaredConstructors = this.scriptEngineFactoryClass.getDeclaredConstructors(); + + // basic check for a number of declared constructors + assertEquals(declaredConstructors.length, 0, "no constructors should be set"); + } /** @@ -275,7 +357,7 @@ */ protected void testGetMethods() { // following methods should be inherited - final String[] methodsThatShouldExists = { + final String[] methodsThatShouldExists_jdk6 = { "public abstract java.lang.Object javax.script.ScriptEngineFactory.getParameter(java.lang.String)", "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineName()", "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineVersion()", @@ -289,26 +371,8 @@ "public abstract java.util.List javax.script.ScriptEngineFactory.getNames()", "public abstract javax.script.ScriptEngine javax.script.ScriptEngineFactory.getScriptEngine()", }; - // get all inherited methods - Method[] methods = this.scriptEngineFactoryClass.getMethods(); - // and transform the array into a list of method names - List methodsAsString = new ArrayList(); - for (Method method : methods) { - methodsAsString.add(method.toString()); - } - // check if all required methods really exists - for (String methodThatShouldExists : methodsThatShouldExists) { - assertTrue(methodsAsString.contains(methodThatShouldExists), - "method " + methodThatShouldExists + " not found"); - } - } - /** - * Test for method javax.script.ScriptEngineFactory.getClass().getDeclaredMethods() - */ - protected void testGetDeclaredMethods() { - // following methods should be declared - final String[] declaredMethodsThatShouldExists = { + final String[] methodsThatShouldExists_jdk7 = { "public abstract java.lang.Object javax.script.ScriptEngineFactory.getParameter(java.lang.String)", "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineName()", "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineVersion()", @@ -322,6 +386,57 @@ "public abstract java.util.List javax.script.ScriptEngineFactory.getNames()", "public abstract javax.script.ScriptEngine javax.script.ScriptEngineFactory.getScriptEngine()", }; + + // get all inherited methods + Method[] methods = this.scriptEngineFactoryClass.getMethods(); + // and transform the array into a list of method names + List methodsAsString = new ArrayList(); + for (Method method : methods) { + methodsAsString.add(method.toString()); + } + String[] methodsThatShouldExists = getJavaVersion() < 7 ? methodsThatShouldExists_jdk6 : methodsThatShouldExists_jdk7; + // check if all required methods really exists + for (String methodThatShouldExists : methodsThatShouldExists) { + assertTrue(methodsAsString.contains(methodThatShouldExists), + "method " + methodThatShouldExists + " not found"); + } + } + + /** + * Test for method javax.script.ScriptEngineFactory.getClass().getDeclaredMethods() + */ + protected void testGetDeclaredMethods() { + // following methods should be declared + final String[] declaredMethodsThatShouldExists_jdk6 = { + "public abstract java.lang.Object javax.script.ScriptEngineFactory.getParameter(java.lang.String)", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineName()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineVersion()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getLanguageName()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getLanguageVersion()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getMethodCallSyntax(java.lang.String,java.lang.String,java.lang.String[])", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getOutputStatement(java.lang.String)", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getProgram(java.lang.String[])", + "public abstract java.util.List javax.script.ScriptEngineFactory.getExtensions()", + "public abstract java.util.List javax.script.ScriptEngineFactory.getMimeTypes()", + "public abstract java.util.List javax.script.ScriptEngineFactory.getNames()", + "public abstract javax.script.ScriptEngine javax.script.ScriptEngineFactory.getScriptEngine()", + }; + + final String[] declaredMethodsThatShouldExists_jdk7 = { + "public abstract java.lang.Object javax.script.ScriptEngineFactory.getParameter(java.lang.String)", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineName()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getEngineVersion()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getLanguageName()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getLanguageVersion()", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getMethodCallSyntax(java.lang.String,java.lang.String,java.lang.String[])", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getOutputStatement(java.lang.String)", + "public abstract java.lang.String javax.script.ScriptEngineFactory.getProgram(java.lang.String[])", + "public abstract java.util.List javax.script.ScriptEngineFactory.getExtensions()", + "public abstract java.util.List javax.script.ScriptEngineFactory.getMimeTypes()", + "public abstract java.util.List javax.script.ScriptEngineFactory.getNames()", + "public abstract javax.script.ScriptEngine javax.script.ScriptEngineFactory.getScriptEngine()", + }; + // get all declared methods Method[] declaredMethods = this.scriptEngineFactoryClass.getDeclaredMethods(); // and transform the array into a list of method names @@ -329,6 +444,7 @@ for (Method method : declaredMethods) { methodsAsString.add(method.toString()); } + String[] declaredMethodsThatShouldExists = getJavaVersion() < 7 ? declaredMethodsThatShouldExists_jdk6 : declaredMethodsThatShouldExists_jdk7; // check if all required methods really exists for (String methodThatShouldExists : declaredMethodsThatShouldExists) { assertTrue(methodsAsString.contains(methodThatShouldExists), @@ -339,6 +455,7 @@ /** * Test for instanceof operator applied to a class javax.script.ScriptEngineFactory */ + @SuppressWarnings("cast") protected void testInstanceOf() { // tested object Object o = new ScriptEngineManager().getEngineFactories().get(0); From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 04:11:29 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 12:11:29 +0000 Subject: [Bug 1220] New: openjdk crashed Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 Priority: P3 Bug ID: 1220 Assignee: unassigned at icedtea.classpath.org Summary: openjdk crashed Severity: major Classification: Unclassified OS: Linux Reporter: aristeo.savelli at exprivia.it Hardware: x86_64 Status: NEW Version: unspecified Component: general Product: MIPS Port Created attachment 797 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=797&action=edit Log file generated openjdk crashed. Portal site not available -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/46f97696/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 05:34:13 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 13:34:13 +0000 Subject: [Bug 1218] JogAmp JOGL angelesgl2es1 applet fails to initialize using Hotspot In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1218 helpcrypto at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |helpcrypto at gmail.com --- Comment #2 from helpcrypto at gmail.com --- (In reply to comment #0) > OpenJDK Zero VM (build 22.0-b10, mixed mode) > Unable to use Firefox's proxy settings. Using "DIRECT" as proxy type. > [12:12:7511309852:ERROR:nss_util.cc(452)] Error initializing NSS without a > persistent database: libsoftokn3.so: cannot open shared object file: Permission > denied May i know what you doing? If accessing NSS consider your applet must be signed. Also consider libsoftokn3.so has a "broken" dependency with libsqlite3.so (you can see it using ldd) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/6e4166c0/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 07:31:12 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 15:31:12 +0000 Subject: [Bug 1220] openjdk crashed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gnu.andrew at redhat.com Severity|major |normal -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/3e2f3a4c/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 07:31:25 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 15:31:25 +0000 Subject: [Bug 1220] openjdk crashed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #797|application/octet-stream |text/plain mime type| | -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/448ef08c/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 07:38:34 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 15:38:34 +0000 Subject: [Bug 1220] openjdk crashed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 --- Comment #1 from Aristeo Savelli --- # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x000000341e875a35, pid=19452, tid=140022831720192 # # JRE version: 6.0_24-b24 # Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea6 1.11.4 # Distribution: Red Hat Enterprise Linux Server release 6.3 (Santiago), package rhel-1.49.1.11.4.el6_3-x86_64 # Problematic frame: # C [libc.so.6+0x75a35] __tls_get_addr@@GLIBC_2.3+0x75a35 # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/f613a60d/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 09:00:08 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 17:00:08 +0000 Subject: [Bug 1220] openjdk crashed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |unassigned at icedtea.classpat | |h.org Component|general |IcedTea Assignee|unassigned at icedtea.classpat |gnu.andrew at redhat.com |h.org | Product|MIPS Port |IcedTea --- Comment #2 from Andrew John Hughes --- How do you reproduce this? -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/d65b76b4/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 09:00:37 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 17:00:37 +0000 Subject: [Bug 1220] openjdk crashed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.11.4 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/5105cc7d/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 12:45:54 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 20:45:54 +0000 Subject: [Bug 1221] New: Internal Error (os_linux_zero.cpp:270), pid=789, tid=1082680432 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1221 Priority: P3 Bug ID: 1221 CC: unassigned at icedtea.classpath.org Assignee: chphilli at redhat.com Summary: Internal Error (os_linux_zero.cpp:270), pid=789, tid=1082680432 Severity: critical Classification: Unclassified OS: Linux Reporter: danik.briand at usherbrooke.ca Hardware: arm Status: NEW Version: 6-1.10.1 Component: Zero Product: IcedTea We are working on the TS-7400 plateform and we had this bug on both version 6-1.10.1 and 6-1.8.13, on forum page : http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=805 We tried updating and we still got the same error. We are getting this error after running the code for a couple seconds Here's the message we get : # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:270), pid=789, tid=1082680432 # fatal error: caught unhandled signal 11 # # JRE version: 6.0_22-b22 # Java VM: OpenJDK Zero VM (20.0-b11 interpreted mode linux-arm ) # Derivative: IcedTea6 1.10.1 # Distribution: Debian GNU/Linux 6.0.1 (squeeze), package 6b22-1.10.1-0ubuntu1 # An error report file with more information is saved as: # /root/hs_err_pid789.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # Aborted and we attached the log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/413fe62f/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 15 13:02:39 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 15 Nov 2012 21:02:39 +0000 Subject: [Bug 1218] JogAmp JOGL angelesgl2es1 applet fails to initialize using Hotspot In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1218 --- Comment #3 from Andrew John Hughes --- Can you reproduce this in a normal application? Or is it specific to running as an applet? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121115/7d73e5e9/attachment.html From adomurad at redhat.com Thu Nov 15 12:30:05 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 15 Nov 2012 15:30:05 -0500 Subject: [icedtea-web] Idea - do not start ITW applets automatically Message-ID: <50A550CD.7010504@redhat.com> So in lieu of requests such as [1] and the potential for unsigned code escaping the sandbox (eg, the recent 0day) it could be worth looking into a feature that has applets not start automatically, but rather require a user confirmation (click?) to begin. Additionally a more strict setting could not allow This could be controlled via itweb-settings/environment and distributions might want it as the default. There should be some way to opt-in normal execution of signed applets based on certificate. When an applet's certificates are all opted in, it will start automatically. (Note that we do not need to handle mixed signed + unsigned code specially, it already requires a confirmation.) Unsigned applets, if we choose to allow them being opted in, can be opted in on a full domain name basis. The main motivation I have for proposing this feature is that many applet users only use a handful of applets, and having other applets automatically start is mostly an unnecessary attack surface. I have seen "Disable java in browser, and turn it on for any applets you need to use only" giving as advice following the 0day, and this would be a superior option. [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 Thoughts? -Adam From amiko212 at 126.com Thu Nov 15 18:05:52 2012 From: amiko212 at 126.com (liu chao jun) Date: Fri, 16 Nov 2012 10:05:52 +0800 (CST) Subject: A new bug Error while creating Shark JIT: Unable to find target for this triple (no targets are registered) Message-ID: <41fb2642.1ce93.13b06f70f5a.Coremail.amiko212@126.com> Hi all A new bug is happend when I work on the icedtea1-11.4 against LLVM3.0 ,I Compiler the twos with below command line LLVM-3.0: ./configure --enable-shared make make install And final get a LLVM3.0.so shark: ./configure --enable-zero --enable-shark --with_jdk_home=/home/j2sdk-image make hotspot And final get a libjvm.so However when run a java -version the fllowing the error happed Error while creating Shark JIT: Unable to find target for this triple (no targets are registered) I have no idea how to register the shark JIT into my build ,can not add --enable-shark is ok ,is any body know how to deal with it. Thank you very much ,And looking forward to your reply ,and it is great helpful with my job , thanks again ps my plateform is : MIPS based -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121116/1c04682f/attachment.html From helpcrypto at gmail.com Fri Nov 16 00:30:28 2012 From: helpcrypto at gmail.com (helpcrypto helpcrypto) Date: Fri, 16 Nov 2012 09:30:28 +0100 Subject: [icedtea-web] Idea - do not start ITW applets automatically In-Reply-To: <50A550CD.7010504@redhat.com> References: <50A550CD.7010504@redhat.com> Message-ID: Hi. Sorry if not explaining myself properly, this is not my mother language ;) On Thu, Nov 15, 2012 at 9:30 PM, Adam Domurad wrote: > So in lieu of requests such as [1] and the potential for unsigned code > escaping the sandbox (eg, the recent 0day) it could be worth looking into a > feature that has applets not start automatically, but rather require a user > confirmation (click?) to begin. Additionally a more strict setting could not > allow This could be controlled via itweb-settings/environment and > distributions might want it as the default. I think we should go to the basics: - Applets are java applications intended to run on web. - Due to privilege needs, only signed applets are able to do some risky actions (eg: read hard drive) If unsigned applets were safe to users, wont need any warning (signed should), but history teaches us this is false. So, any Java Applet execution could require an additional "security control" before running, no matter signed or unsigned. Again, IMHO, the real problem is that users are not "skilled enough", and usually click without worrying, what makes the measure useless, and make the user tend to ignore more warnings. (eg: Remember the annoying Vista User UAC?) > There should be some way to opt-in normal execution of signed applets based > on certificate. When an applet's certificates are all opted in, it will > start automatically. (Note that we do not need to handle mixed signed + > unsigned code specially, it already requires a confirmation.) Unsigned > applets, if we choose to allow them being opted in, can be opted in on a > full domain name basis. I think "trust for domain" is a good alternative, as it will only appear "once" in the event user allow it the first time. What about subdomains? Another thought: altought my applet can import certs into cacerts keystore (hence marking himself as trustworthy), IMHO it shouldn't be possible to add a domain as "trusted-to-run-applets" from an applet. > The main motivation I have for proposing this feature is that many applet > users only use a handful of applets, and having other applets automatically > start is mostly an unnecessary attack surface. I have seen "Disable java in > browser, and turn it on for any applets you need to use only" giving as > advice following the 0day, and this would be a superior option. Again, enable per-domain applet execution seems to be a good approach for me. My two cents. Regards. From bugzilla-daemon at icedtea.classpath.org Fri Nov 16 00:45:23 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 16 Nov 2012 08:45:23 +0000 Subject: [Bug 1220] openjdk crashed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 --- Comment #3 from Aristeo Savelli --- Hi. For me is very difficult to reproduce the error. The system crashed and given the error. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121116/4f33b208/attachment.html From ptisnovs at icedtea.classpath.org Fri Nov 16 02:00:56 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 16 Nov 2012 10:00:56 +0000 Subject: /hg/gfx-test: Added support for BitBlt operation which uses spec... Message-ID: changeset d46a6aa281e0 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=d46a6aa281e0 author: Pavel Tisnovsky date: Fri Nov 16 11:00:01 2012 +0100 Added support for BitBlt operation which uses specified background color: src/org/gfxtest/framework/CommonBitmapOperations.java. diffstat: ChangeLog | 6 + src/org/gfxtest/framework/CommonBitmapOperations.java | 244 +++++++++++++++++- 2 files changed, 249 insertions(+), 1 deletions(-) diffs (330 lines): diff -r 6d5e5cd3917b -r d46a6aa281e0 ChangeLog --- a/ChangeLog Thu Nov 15 10:09:41 2012 +0100 +++ b/ChangeLog Fri Nov 16 11:00:01 2012 +0100 @@ -1,3 +1,9 @@ +2012-11-16 Pavel Tisnovsky + + * src/org/gfxtest/framework/CommonBitmapOperations.java: + Added support for BitBlt operation which uses specified background + color. + 2012-11-15 Pavel Tisnovsky * src/org/gfxtest/testsuites/ClippingPathByRectangleShape.java: diff -r 6d5e5cd3917b -r d46a6aa281e0 src/org/gfxtest/framework/CommonBitmapOperations.java --- a/src/org/gfxtest/framework/CommonBitmapOperations.java Thu Nov 15 10:09:41 2012 +0100 +++ b/src/org/gfxtest/framework/CommonBitmapOperations.java Fri Nov 16 11:00:01 2012 +0100 @@ -40,6 +40,7 @@ package org.gfxtest.framework; +import java.awt.Color; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; @@ -90,6 +91,29 @@ } /** + * Performs basic BitBlt operation for given source and destination image. + * No mirroring, scaling and/or clipping are performed during BitBlt. + * + * @param sourceImage + * source image for BitBlt + * @param destinationImage + * destination image for BitBlt graphics canvas + * @param graphics2d + * instance of class used during rendering + * @param bgcolor + * background color + * @return if the image has completely loaded and its pixels are no longer + * being changed, then returns true. Otherwise, returns false + */ + private static boolean performBitBlt(BufferedImage sourceImage, TestImage destinationImage, Graphics2D graphics2d, Color bgcolor) + { + // compute top-left corner coordinates + final int x = (destinationImage.getWidth() - DEFAULT_TEST_IMAGE_WIDTH) >> 1; + final int y = (destinationImage.getHeight() - DEFAULT_TEST_IMAGE_HEIGHT) >> 1; + return graphics2d.drawImage(sourceImage, x, y, bgcolor, null); + } + + /** * Performs BitBlt operation for given source and destination image. Scaling * are performed according to parameters width and height. * @@ -115,6 +139,33 @@ } /** + * Performs BitBlt operation for given source and destination image. Scaling + * are performed according to parameters width and height. + * + * @param sourceImage + * source image for BitBlt + * @param destinationImage + * destination image for BitBlt graphics canvas + * @param graphics2d + * instance of class used during rendering + * @param bgcolor + * background color + * @param width + * width of the destination region + * @param height + * height of the destination region + * @return if the image has completely loaded and its pixels are no longer + * being changed, then returns true. Otherwise, returns false + */ + private static boolean performBitBlt(BufferedImage sourceImage, TestImage destinationImage, Graphics2D graphics2d, Color bgcolor, int width, int height) + { + // compute top-left corner coordinates + final int x = (destinationImage.getWidth() - width) >> 1; + final int y = (destinationImage.getHeight() - height) >> 1; + return graphics2d.drawImage(sourceImage, x, y, width, height, bgcolor, null); + } + + /** * Performs BitBlt operation for given source and destination image. * Horizontal and/or vertical flipping/mirroring are performed according to * parameters horizontalFlip and verticalFlip. @@ -152,6 +203,44 @@ /** * Performs BitBlt operation for given source and destination image. + * Horizontal and/or vertical flipping/mirroring are performed according to + * parameters horizontalFlip and verticalFlip. + * + * @param sourceImage + * source image for BitBlt + * @param destinationImage + * destination image for BitBlt graphics canvas + * @param graphics2d + * instance of class used during rendering + * @param bgcolor + * background color + * @param horizontalFlip + * enables performing horizontal flip of image + * @param verticalFlip + * enables performing vertical flip of image + * @return if the image has completely loaded and its pixels are no longer + * being changed, then returns true. Otherwise, returns false + */ + private static boolean performBitBlt(BufferedImage sourceImage, TestImage destinationImage, Graphics2D graphics2d, + Color bgcolor, boolean horizontalFlip, boolean verticalFlip) + { + // compute top-left corner coordinates of destination image + final int dx1 = (destinationImage.getWidth() - DEFAULT_TEST_IMAGE_WIDTH) >> 1; + final int dy1 = (destinationImage.getHeight() - DEFAULT_TEST_IMAGE_HEIGHT) >> 1; + // compute bottom-right corner coordinates of destination image + final int dx2 = dx1 + DEFAULT_TEST_IMAGE_WIDTH; + final int dy2 = dy1 + DEFAULT_TEST_IMAGE_HEIGHT; + // compute top-left corner coordinates of source image + final int sx1 = horizontalFlip ? DEFAULT_TEST_IMAGE_WIDTH: 0; + final int sy1 = verticalFlip ? DEFAULT_TEST_IMAGE_HEIGHT : 0; + // compute bottom-right corner coordinates of source image + final int sx2 = horizontalFlip ? 0 : DEFAULT_TEST_IMAGE_WIDTH; + final int sy2 = verticalFlip ? 0 : DEFAULT_TEST_IMAGE_HEIGHT; + return graphics2d.drawImage(sourceImage, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, null); + } + + /** + * Performs BitBlt operation for given source and destination image. * Cropping is used according to parameter cropRegion. * * @param sourceImage @@ -184,6 +273,41 @@ } /** + * Performs BitBlt operation for given source and destination image. + * Cropping is used according to parameter cropRegion. + * + * @param sourceImage + * source image for BitBlt + * @param destinationImage + * destination image for BitBlt graphics canvas + * @param graphics2d + * instance of class used during rendering + * @param bgcolor + * background color + * @param cropRegion + * region used to crop part of the image + * @return if the image has completely loaded and its pixels are no longer + * being changed, then returns true. Otherwise, returns false + */ + private static boolean performBitBlt(BufferedImage sourceImage, TestImage destinationImage, Graphics2D graphics2d, + Color bgcolor, Rectangle cropRegion) + { + // compute top-left corner coordinates of destination image + final int dx1 = (destinationImage.getWidth() - DEFAULT_TEST_IMAGE_WIDTH) >> 1; + final int dy1 = (destinationImage.getHeight() - DEFAULT_TEST_IMAGE_HEIGHT) >> 1; + // compute bottom-right corner coordinates of destination image + final int dx2 = dx1 + cropRegion.width; + final int dy2 = dy1 + cropRegion.height; + // compute top-left corner coordinates of source image + final int sx1 = cropRegion.x; + final int sy1 = cropRegion.y; + // compute bottom-right corner coordinates of source image + final int sx2 = sx1 + cropRegion.width; + final int sy2 = sy1 + cropRegion.height; + return graphics2d.drawImage(sourceImage, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, null); + } + + /** * Create buffered bitmap with given type. * * @param type @@ -221,6 +345,32 @@ /** * Create new buffered image and then perform basic BitBlt test. + * + * @param image + * image to which another image is to be drawn + * @param graphics2d + * graphics canvas + * @param imageType + * type of the created image + * @param bgcolor + * background color + */ + public static TestResult doBitBltTestWithEmptyImage(TestImage image, Graphics2D graphics2d, int imageType, Color bgcolor) + { + // create new buffered bitmap with given type + // bitmap should be empty - solid color pixels + BufferedImage bufferedImage = createBufferedBitmap(imageType); + // basic check if buffered image was created + if (bufferedImage == null) + { + return TestResult.FAILED; + } + // BitBlt with 1:1 scaling, no flipping and no cropping + return performBitBlt(bufferedImage, image, graphics2d, bgcolor) ? TestResult.PASSED : TestResult.FAILED; + } + + /** + * Create new buffered image and then perform basic BitBlt test. * * @param image * image to which another image is to be drawn @@ -249,6 +399,37 @@ /** * Create new buffered image and then perform basic BitBlt test. + * + * @param image + * image to which another image is to be drawn + * @param graphics2d + * graphics canvas + * @param imageType + * type of the created image + * @param bgcolor + * background color + * @param width + * width of a image after BitBlt operation is performed + * @param height + * height of a image after BitBlt operation is performed + */ + public static TestResult doBitBltTestWithEmptyImage(TestImage image, Graphics2D graphics2d, int imageType, + Color bgcolor, int width, int height) + { + // create new buffered bitmap with given type + // bitmap should be empty - solid color pixels + BufferedImage bufferedImage = createBufferedBitmap(imageType); + // basic check if buffered image was created + if (bufferedImage == null) + { + return TestResult.FAILED; + } + // BitBlt with custom scaling + return performBitBlt(bufferedImage, image, graphics2d, bgcolor, width, height) ? TestResult.PASSED : TestResult.FAILED; + } + + /** + * Create new buffered image and then perform basic BitBlt test. * * @param image * image to which another image is to be drawn @@ -285,6 +466,37 @@ * graphics canvas * @param imageType * type of the created image + * @param bgcolor + * background color + * @param horizontalFlip + * enables performing horizontal flip of image + * @param verticalFlip + * enables performing vertical flip of image + */ + public static TestResult doBitBltTestWithEmptyImage(TestImage image, Graphics2D graphics2d, int imageType, Color bgcolor, + boolean horizontalFlip, boolean verticalFlip) + { + // create new buffered bitmap with given type + // bitmap should be empty - solid color pixels + BufferedImage bufferedImage = createBufferedBitmap(imageType); + // basic check if buffered image was created + if (bufferedImage == null) + { + return TestResult.FAILED; + } + // BitBlt with 1:1 scaling + return performBitBlt(bufferedImage, image, graphics2d, bgcolor, horizontalFlip, verticalFlip) ? TestResult.PASSED : TestResult.FAILED; + } + + /** + * Create new buffered image and then perform basic BitBlt test. + * + * @param image + * image to which another image is to be drawn + * @param graphics2d + * graphics canvas + * @param imageType + * type of the created image * @param cropRegion * region in the image to crop */ @@ -304,6 +516,35 @@ } /** + * Create new buffered image and then perform basic BitBlt test. + * + * @param image + * image to which another image is to be drawn + * @param graphics2d + * graphics canvas + * @param imageType + * type of the created image + * @param bgcolor + * background color + * @param cropRegion + * region in the image to crop + */ + public static TestResult doBitBltTestWithEmptyImage(TestImage image, Graphics2D graphics2d, int imageType, + Color bgcolor, Rectangle cropRegion) + { + // create new buffered bitmap with given type + // bitmap should be empty - solid color pixels + BufferedImage bufferedImage = createBufferedBitmap(imageType); + // basic check if buffered image was created + if (bufferedImage == null) + { + return TestResult.FAILED; + } + // BitBlt with 1:1 scaling and cropping + return performBitBlt(bufferedImage, image, graphics2d, bgcolor, cropRegion) ? TestResult.PASSED : TestResult.FAILED; + } + + /** * Create new buffered image containing checker pattern and then perform basic BitBlt test. * * @param image @@ -1154,7 +1395,8 @@ * @param height * height of a image after BitBlt operation is performed */ - public static TestResult doBitBltTestWithColorDotsImage(TestImage image, Graphics2D graphics2d, int imageType, int width, int height) + public static TestResult doBitBltTestWithColorDotsImage(TestImage image, Graphics2D graphics2d, int imageType, + int width, int height) { // create new buffered bitmap with given type // bitmap should contains simple color dot pattern From ptisnovs at icedtea.classpath.org Fri Nov 16 02:43:14 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 16 Nov 2012 10:43:14 +0000 Subject: /hg/rhino-tests: Added eight new tests to src/org/RhinoTests/Bin... Message-ID: changeset 649ff1c652d1 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=649ff1c652d1 author: Pavel Tisnovsky date: Fri Nov 16 11:46:08 2012 +0100 Added eight new tests to src/org/RhinoTests/BindingsTest.java. diffstat: ChangeLog | 5 ++ src/org/RhinoTests/BindingsTest.java | 90 ++++++++++++++++++++++++++++++++++- 2 files changed, 92 insertions(+), 3 deletions(-) diffs (129 lines): diff -r 610558995315 -r 649ff1c652d1 ChangeLog --- a/ChangeLog Thu Nov 15 10:22:11 2012 +0100 +++ b/ChangeLog Fri Nov 16 11:46:08 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-16 Pavel Tisnovsky + + * src/org/RhinoTests/BindingsTest.java: + Added eight new tests. + 2012-11-15 Pavel Tisnovsky * src/org/RhinoTests/ScriptEngineFactoryClassTest.java: diff -r 610558995315 -r 649ff1c652d1 src/org/RhinoTests/BindingsTest.java --- a/src/org/RhinoTests/BindingsTest.java Thu Nov 15 10:22:11 2012 +0100 +++ b/src/org/RhinoTests/BindingsTest.java Fri Nov 16 11:46:08 2012 +0100 @@ -1,7 +1,7 @@ /* Rhino test framework - Copyright (C) 2011 Red Hat + Copyright (C) 2011, 2012 Red Hat This file is part of IcedTea. @@ -40,18 +40,102 @@ package org.RhinoTests; +import java.util.HashMap; +import java.util.TreeMap; + +import javax.script.SimpleBindings; +import javax.script.Bindings; + /** - * TODO: not implemented * @author Pavel Tisnovsky * */ -public class BindingsTest { +public class BindingsTest extends BaseRhinoTest { + + @Override + protected void setUp(String[] args) { + // this block could be empty + return; + } + + @Override + protected void tearDown() { + // this block could be empty + return; + } + + protected void testConstructor1() { + Bindings bindings = new SimpleBindings(); + assertNotNull(bindings, "new SimpleBindings() failed"); + assertTrue(bindings.isEmpty(), "bindings should be empty"); + assertTrue(bindings.size() == 0, "bindings should be empty"); + } + + protected void testConstructor2() { + Bindings bindings = new SimpleBindings(new HashMap()); + assertNotNull(bindings, "new SimpleBindings() failed"); + assertTrue(bindings.isEmpty(), "bindings should be empty"); + assertTrue(bindings.size() == 0, "bindings should be empty"); + } + + protected void testConstructor3() { + Bindings bindings = new SimpleBindings(new TreeMap()); + assertNotNull(bindings, "new SimpleBindings() failed"); + assertTrue(bindings.isEmpty(), "bindings should be empty"); + assertTrue(bindings.size() == 0, "bindings should be empty"); + } + + protected void testContainsKey1() { + Bindings bindings = new SimpleBindings(); + assertFalse(bindings.containsKey("key"), "Bingings.containsKey() failed"); + } + + protected void testContainsKey2() { + Bindings bindings = new SimpleBindings(); + bindings.put("key", "value"); + assertTrue(bindings.containsKey("key"), "Bingings.containsKey() failed"); + } + + protected void testContainsKeyNegative1() throws Exception { + Bindings bindings = new SimpleBindings(); + try { + bindings.containsKey(null); + } + catch (NullPointerException e) { + return; + } + throw new Exception("NPE did not thrown as expected"); + } + + protected void testContainsKeyNegative2() throws Exception { + Bindings bindings = new SimpleBindings(); + try { + bindings.containsKey(""); + } + catch (IllegalArgumentException e) { + return; + } + throw new Exception("IllegalArgumentException did not thrown as expected"); + } + + protected void testContainsKeyNegative3() throws Exception { + Bindings bindings = new SimpleBindings(); + try { + bindings.containsKey(new Integer(42)); + } + catch (ClassCastException e) { + return; + } + throw new Exception("ClassCastException did not thrown as expected"); + } + /** * Entry point to this test case. * * @param args parameters passed from command line */ public static void main(String[] args) { + new BindingsTest().doTests(args); } } From jvanek at redhat.com Fri Nov 16 05:20:56 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 16 Nov 2012 14:20:56 +0100 Subject: [icedtea-web] Idea - do not start ITW applets automatically In-Reply-To: <50A550CD.7010504@redhat.com> References: <50A550CD.7010504@redhat.com> Message-ID: <50A63DB8.4060508@redhat.com> On 11/15/2012 09:30 PM, Adam Domurad wrote: > So in lieu of requests such as [1] and the potential for unsigned code escaping the sandbox (eg, the recent 0day) it could be worth looking into a feature that has applets not start automatically, but rather require a user confirmation (click?) to begin. Additionally a more strict setting could not allow This could be controlled via itweb-settings/environment and distributions might want it as the default. > > There should be some way to opt-in normal execution of signed applets based on certificate. When an applet's certificates are all opted in, it will start automatically. (Note that we do not need to handle mixed signed + unsigned code specially, it already requires a confirmation.) Unsigned applets, if we choose to allow them being opted in, can be opted in on a full domain name basis. > > The main motivation I have for proposing this feature is that many applet users only use a handful of applets, and having other applets automatically start is mostly an unnecessary attack surface. I have seen "Disable java in browser, and turn it on for any applets you need to use only" giving as advice following the 0day, and this would be a superior option. > > [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 > > Thoughts? > -Adam Interesting idea, probably worthy to implement. Default behaviour should be definitely set-up-able from itw-settings. As you summarised, we need to take care only about unsigned applets, as signed ones already have launch/launch always/dont launch/never launch (or similar) Or this setting can be independent on signatures and so be checked even before signatures (launch/launch always/dont launch/never launch), and then trustworthiness will be checked. Or maybe some mixture :) - but I'm probably for second approach - before and independent on the signatures. What is little bit more in my mind is, if you want to avoid of launching of jvm at all. If you want, then then it will probably not possible to have some interactive communication with user. If you will suffer launching of jvm, ten we can probably misuse splash - before actual loading starts, there wil be not-animated spalsh with text eg "this is applet, destiny of applets on domain blahblah.bl is not specified, would you like to launc/launchalways?" After launch applet will be started, after launch always will be started and marked in itw-settings. Advantage is that user will not be disturbed by prompt, and should be quite easily to be implemented) Localhost should be always trusted. So as I see it there should be some table with url+wildcards and actions Possible values can be : do not launch jvm at all do not launch applets launch applets always And some default value - probably do not launch applets. There can appear several tricky parts (except do not launch jvm at al, which will be handled in C, and I have no clue about it) with multiple applets on different urls with different codebasses. Not sure if this is what you wanted to hear, but think about it as "brainstorming" :) J. From ptisnovs at redhat.com Fri Nov 16 05:51:52 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 16 Nov 2012 08:51:52 -0500 (EST) Subject: [rfc][icedtea-web] Remove need for HTML tag scanner in PluginAppletViewer In-Reply-To: <5090333B.7070507@redhat.com> Message-ID: <1629955172.9544697.1353073912896.JavaMail.root@redhat.com> Hi Adam and Jiri, I've looked mainly on C/C++ part of this patch and it seems ok from my side. I have just a few comments: escape_string(const char* to_encode): * Escape characters for pssing to Java. ^^^ (I hope you mean to add 'a' here, not other vowel :D) * this function is much more readable now thanks to using str:string :) * "\n" for new line, "\\" for "\", "\:" for ";" - so semicolon is escaped as \ + colon? - I suppose it is done because you always add semicolon between the name and value in parameter list, right? - how about empty name and/or value? - public static String decodeString(String toDecode) { - - toDecode = toDecode.replace(">", ">"); - toDecode = toDecode.replace("<", "<"); - toDecode = toDecode.replace("&", "&"); - toDecode = toDecode.replace(" ", "\n"); - toDecode = toDecode.replace(" ", "\r"); - toDecode = toDecode.replace(""", "\""); - - return toDecode; - } * How does it work with backslash? It should works, but Opera (for example) has problems with this character sometime. Jiri - is this checked somewhere? Cheers, Pavel ----- Adam Domurad wrote: > On 10/26/2012 09:13 AM, Jiri Vanek wrote: > > On 10/25/2012 10:10 PM, Adam Domurad wrote: > >> Hi all. This is something I've wanted to do for a while, simply > >> because of the hackish nature of the > >> applet/object/embed tag parsing code in ITW. Thoughts welcome, I'll > >> still be doing some more testing > >> on this (looks good so far) but would appreciate feedback. The patch > >> also makes it possible to do > >> unit tests from classes included in plugin.jar (used to unit test the > >> new > >> sun.java.PluginAppletAttributes). > >> > >> The applet tag information flows like this pre-patch: > >> - NPAPI parses the tag information > >> - ITW's C++ side takes in the already-parsed tag information, creates > >> an embed tag (embed tag only) > >> for ITW to use. > >> - ITW's java side receives the tag, and scans it using (less than > >> desirable) parsing routines. > >> > >> Post-patch: > >> - NPAPI parses the tag information > >> - ITW's C++ side generates a simple listing of the name value pairs > >> passed > >> - ITW's java side parses these name value pairs > > > > I like this patch. I found several issues which had come across my > > mind, but I think during other reviews there will come more of them. > > Also I'm not 100% capable to verify C code. SO before aprove I will > > definitely check with Pavel or somebody else can do this. I checked c > > part only from logical point of view. > >> > >> Points of contention: > >> - PluginAppletViewer#parse had a 'ydisp' variable that has been > >> changed to a static variable, since > >> the parse method will now only ever handle one applet tag (the old > >> version expected to have > >> potentially multiple). However I'm not 100% about this because the > >> old version as well only ever > >> received one applet tag, rendering this effectively to always be 1... > >> I'm not sure if the behaviour > >> should be 'fixed' this way. > > > > Your arguments seemed valid. And although PluginAppletViewer is > > singleton, making the ydisp variable static looks like it will behave > > differently. I would recommend empiric testing :)) See how multiple > > applets are shown on (multiple)page(s) and compare with your new > > implementation :) > >> > >> - The code was made to behave as-it-were as much as possible, meaning > >> it can print a warning about a > >> "missing code attribute in the embed tag" no matter what tag was > >> used. This is as it was because ITW > >> would always get passed an embed tag. Feel free to force me to change > >> it:) > >> > >> ChangeLog: > >> 2012-10-25 Adam Domurad > >> > >> Remove the applet/embed/object tag parser from ITW. Send the applet > >> parameters directly from the C++. > >> * Makefile.am: Allow unit-testing for classes in plugin.jar. > >> * plugin/icedteanp/IcedTeaNPPlugin.cc: Send quoted parameter > >> name/values instead of applet tag. Remove some dead code. > >> * plugin/icedteanp/IcedTeaNPPlugin.h: Rename applet_tag -> > >> parameters_string. > >> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: > >> Extract parsing code into its own class. > >> * plugin/icedteanp/java/sun/applet/PluginAppletAttributes.java: > >> New, encapsulates the (simplified) attribute parsing logic. > >> * tests/netx/unit/sun/applet/PluginAppletAttributesTest.java: > >> Unit tests for parsing logic. > >> > >> > >> nuke-parser.patch > >> > >> > >> diff --git a/Makefile.am b/Makefile.am > >> --- a/Makefile.am > >> +++ b/Makefile.am > >> @@ -882,7 +882,7 @@ stamps/netx-unit-tests-compile.stamp: st > >> mkdir -p $(NETX_UNIT_TEST_DIR) && \ > >> $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ > >> -d $(NETX_UNIT_TEST_DIR) \ > >> - -classpath > >> $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) \ > >> + -classpath > >> $(JUNIT_JAR):$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar:$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) > >> \ > >> @netx-unit-tests-source-files.txt && \ > >> mkdir -p stamps && \ > >> touch $@ > >> @@ -912,7 +912,7 @@ stamps/run-netx-unit-tests.stamp: stamps > >> done ; \ > >> cd $(NETX_UNIT_TEST_DIR) ; \ > >> class_names=`cat $(UNIT_CLASS_NAMES)` ; \ > >> - > >> CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):. > >> \ > >> + > >> CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):. > >> \ > >> $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine > >> $$class_names > >> if WITH_XSLTPROC > >> $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl > >> $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > > >> $(TESTS_DIR)/logs_unit.html > >> diff --git a/netx-dist-tests-whitelist b/netx-dist-tests-whitelist > >> --- a/netx-dist-tests-whitelist > >> +++ b/netx-dist-tests-whitelist > >> @@ -1,1 +1,1 @@ > >> -.* > >> +Applet.* > >> diff --git a/plugin/icedteanp/IcedTeaNPPlugin.cc > >> b/plugin/icedteanp/IcedTeaNPPlugin.cc > >> --- a/plugin/icedteanp/IcedTeaNPPlugin.cc > >> +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc > >> @@ -229,8 +229,7 @@ static gboolean plugin_out_pipe_callback > >> GIOCondition condition, > >> gpointer plugin_data); > >> static NPError plugin_start_appletviewer (ITNPPluginData* data); > >> -static gchar* plugin_create_applet_tag (int16_t argc, char* argn[], > >> - char* argv[]); > >> +static std::string plugin_parameters_string (int argc, char* argn[], > >> char* argv[]); > >> static void plugin_stop_appletviewer (); > >> // Uninitialize ITNPPluginData structure > >> static void plugin_data_destroy (NPP instance); > >> @@ -347,7 +346,6 @@ ITNP_New (NPMIMEType pluginType, NPP ins > >> > >> gchar* documentbase = NULL; > >> gchar* read_message = NULL; > >> - gchar* applet_tag = NULL; > >> gchar* cookie_info = NULL; > >> > >> NPObject* npPluginObj = NULL; > >> @@ -395,11 +393,10 @@ ITNP_New (NPMIMEType pluginType, NPP ins > >> documentbase = plugin_get_documentbase (instance); > >> if (documentbase && argc != 0) > >> { > >> - // Send applet tag message to appletviewer. > >> - applet_tag = plugin_create_applet_tag (argc, argn, argv); > >> - > >> - data->applet_tag = (gchar*) > >> malloc(strlen(applet_tag)*sizeof(gchar) + > >> strlen(documentbase)*sizeof(gchar) + 32); > >> - g_sprintf(data->applet_tag, "tag %s %s", documentbase, > >> applet_tag); > >> + // Send parameters to appletviewer. > >> + std::string params_string = plugin_parameters_string(argc, > >> argn, argv); > >> + > >> + data->parameters_string = g_strdup_printf("tag %s %s", > >> documentbase, params_string.c_str()); > >> > >> data->is_applet_instance = true; > >> } > >> @@ -424,33 +421,7 @@ ITNP_New (NPMIMEType pluginType, NPP ins > >> > >> instance->pdata = data; > >> > >> - goto cleanup_done; > >> - > >> - cleanup_appletviewer_mutex: > >> - g_mutex_free (data->appletviewer_mutex); > >> - data->appletviewer_mutex = NULL; > >> - > >> - // cleanup_instance_string: > >> - g_free (data->instance_id); > >> - data->instance_id = NULL; > >> - > >> - // cleanup applet tag: > >> - g_free (data->applet_tag); > >> - data->applet_tag = NULL; > >> - > >> - // cleanup_data: > >> - // Eliminate back-pointer to plugin instance. > >> - data->owner = NULL; > >> - (*browser_functions.memfree) (data); > >> - data = NULL; > >> - > >> - // Initialization failed so return a NULL pointer for the browser > >> - // data. > >> - instance->pdata = NULL; > >> - > >> cleanup_done: > >> - g_free (applet_tag); > >> - applet_tag = NULL; > >> g_free (read_message); > >> read_message = NULL; > >> g_free (documentbase); > >> @@ -834,7 +805,7 @@ ITNP_SetWindow (NPP instance, NPWindow* > >> // Now we have everything. Send this data to the Java side > >> plugin_send_initialization_message( > >> data->instance_id, (gulong) data->window_handle, > >> - data->window_width, data->window_height, > >> data->applet_tag); > >> + data->window_width, data->window_height, > >> data->parameters_string); > >> > >> g_mutex_unlock (data->appletviewer_mutex); > >> > >> @@ -1696,157 +1667,66 @@ plugin_start_appletviewer (ITNPPluginDat > >> > >> /* > >> * Replaces certain characters (\r, \n, etc) with HTML escape > >> equivalents. > >> - * > >> - * Return string is allocated on the heap. Caller assumes > >> responsibility > >> - * for freeing the memory via free() > >> */ > >> -static char* > >> -encode_string(char* to_encode) > >> -{ > >> - > >> - // Do nothing for an empty string > >> - if (to_encode == '\0') > >> - return to_encode; > >> - > >> - // worst case scenario -> all characters are newlines or > >> - // returns, each of which translates to 5 substitutions > >> - char* encoded = (char*) calloc(((strlen(to_encode)*5)+1), > >> sizeof(char)); > >> - > >> - strcpy(encoded, ""); > >> - > >> - for (int i=0; i < strlen(to_encode); i++) > >> +static std::string > >> +encode_string(const char* to_encode) { > >> + std::string encoded; > >> + > >> + if (to_encode == NULL) > >> + { > >> + return encoded; > >> + } > >> + > >> + size_t length = strlen(to_encode); > >> + for (int i=0; i < length; i++) > >> { > >> if (to_encode[i] == '\r') > >> - encoded = strcat(encoded, " "); > >> + encoded += " "; > >> else if (to_encode[i] == '\n') > >> - encoded = strcat(encoded, " "); > >> + encoded += " "; > >> else if (to_encode[i] == '>') > >> - encoded = strcat(encoded, ">"); > >> + encoded += ">"; > >> else if (to_encode[i] == '<') > >> - encoded = strcat(encoded, "<"); > >> + encoded += "<"; > >> else if (to_encode[i] == '&') > >> - encoded = strcat(encoded, "&"); > >> + encoded += "&"; > >> else if (to_encode[i] == '"') > >> - encoded = strcat(encoded, """); > >> + encoded += """; > >> else > >> - { > >> - char* orig_char = (char*) calloc(2, sizeof(char)); > >> - orig_char[0] = to_encode[i]; > >> - orig_char[1] = '\0'; > >> - > >> - strcat(encoded, orig_char); > >> - > >> - free(orig_char); > >> - orig_char = NULL; > >> - } > >> + encoded += to_encode[i]; > >> } > >> > >> return encoded; > > > > This is probably strangest stuff in patch. NPAPI is returning already > > decoded strings. Why to encode them again?!?!?! > > > > Unless I see something very wrong, get rid of this unnecessary middle > > step! > > > >> } > >> > >> -// Build up the applet tag string that we'll send to the applet > >> -// viewer. > >> -static gchar* > >> -plugin_create_applet_tag (int16_t argc, char* argn[], char* argv[]) > >> +// Build a string containing an encoded list of parameters to send to > >> +// the applet viewer > >> +static std::string > >> +plugin_parameters_string (int argc, char* argn[], char* argv[]) > >> { > >> - PLUGIN_DEBUG ("plugin_create_applet_tag\n"); > >> - > >> - gchar* applet_tag = g_strdup (" >> - gchar* parameters = g_strdup (""); > >> - > >> - for (int16_t i = 0; i < argc; i++) > >> + PLUGIN_DEBUG ("plugin_parameters_string\n"); > >> + > >> + std::string parameters; > >> + > >> + for (int i = 0; i < argc; i++) > >> + { > >> + if (argv[i] != NULL) > >> { > >> - gchar* argn_escaped = encode_string(argn[i]); > >> - gchar* argv_escaped = encode_string(argv[i]); > >> - > >> - if (!g_ascii_strcasecmp (argn_escaped, "code")) > >> - { > >> - gchar* code = g_strdup_printf ("CODE=\"%s\" ", argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, code, NULL); > >> - g_free (code); > >> - code = NULL; > >> + std::string name_escaped = encode_string(argn[i]); > >> + std::string value_escaped = encode_string(argv[i]); > >> + > >> + //Encode parameters and send as '"name1" "value1" "name2" > >> "value2"' etc > >> + parameters += "\""; > >> + parameters += name_escaped; > >> + parameters += "\" "; > >> + parameters += value_escaped; > >> + parameters += "\" "; > >> } > >> - else if (!g_ascii_strcasecmp (argn_escaped, "java_code")) > >> - { > >> - gchar* java_code = g_strdup_printf ("JAVA_CODE=\"%s\" ", > >> argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, java_code, NULL); > >> - g_free (java_code); > >> - java_code = NULL; > >> - } > >> - else if (!g_ascii_strcasecmp (argn_escaped, "codebase")) > >> - { > >> - gchar* codebase = g_strdup_printf ("CODEBASE=\"%s\" ", > >> argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, codebase, NULL); > >> - g_free (codebase); > >> - codebase = NULL; > >> - } > >> - else if (!g_ascii_strcasecmp (argn_escaped, "java_codebase")) > >> - { > >> - gchar* java_codebase = g_strdup_printf > >> ("JAVA_CODEBASE=\"%s\" ", argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, java_codebase, NULL); > >> - g_free (java_codebase); > >> - java_codebase = NULL; > >> - } > >> - else if (!g_ascii_strcasecmp (argn_escaped, "classid")) > >> - { > >> - gchar* classid = g_strdup_printf ("CLASSID=\"%s\" ", > >> argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, classid, NULL); > >> - g_free (classid); > >> - classid = NULL; > >> - } > >> - else if (!g_ascii_strcasecmp (argn_escaped, "archive")) > >> - { > >> - gchar* archive = g_strdup_printf ("ARCHIVE=\"%s\" ", > >> argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, archive, NULL); > >> - g_free (archive); > >> - archive = NULL; > >> - } > >> - else if (!g_ascii_strcasecmp (argn_escaped, "java_archive")) > >> - { > >> - gchar* java_archive = g_strdup_printf > >> ("JAVA_ARCHIVE=\"%s\" ", argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, java_archive, NULL); > >> - g_free (java_archive); > >> - java_archive = NULL; > >> - } > >> - else if (!g_ascii_strcasecmp (argn_escaped, "width")) > >> - { > >> - gchar* width = g_strdup_printf ("width=\"%s\" ", > >> argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, width, NULL); > >> - g_free (width); > >> - width = NULL; > >> - } > >> - else if (!g_ascii_strcasecmp (argn_escaped, "height")) > >> - { > >> - gchar* height = g_strdup_printf ("height=\"%s\" ", > >> argv_escaped); > >> - applet_tag = g_strconcat (applet_tag, height, NULL); > >> - g_free (height); > >> - height = NULL; > >> - } > >> - else > >> - { > >> - > >> - if (argv_escaped != '\0') > >> - { > >> - parameters = g_strconcat (parameters, " >> NAME=\"", argn_escaped, > >> - "\" VALUE=\"", argv_escaped, > >> "\">", NULL); > >> - } > >> - } > >> - > >> - free(argn_escaped); > >> - free(argv_escaped); > >> - > >> - argn_escaped = NULL; > >> - argv_escaped = NULL; > >> - } > >> - > >> - applet_tag = g_strconcat (applet_tag, ">", parameters, "", > >> NULL); > >> - > >> - g_free (parameters); > >> - parameters = NULL; > >> - > >> - PLUGIN_DEBUG ("plugin_create_applet_tag return\n"); > >> - > >> - return applet_tag; > >> + } > >> + > >> + PLUGIN_DEBUG ("plugin_parameters_string return\n"); > >> + > >> + return parameters; > >> } > >> > >> // plugin_send_message_to_appletviewer must be called while holding > >> @@ -2057,8 +1937,8 @@ plugin_data_destroy (NPP instance) > >> tofree->instance_id = NULL; > >> > >> // cleanup applet tag > >> - g_free (tofree->applet_tag); > >> - tofree->applet_tag = NULL; > >> + g_free (tofree->parameters_string); > >> + tofree->parameters_string = NULL; > >> > >> g_free(tofree->source); > >> tofree->source = NULL; > >> @@ -2537,7 +2417,7 @@ get_scriptable_object(NPP instance) > >> // a 0 handle > >> if (!data->window_handle) > >> { > >> - plugin_send_initialization_message(data->instance_id, 0, 0, 0, > >> data->applet_tag); > >> + plugin_send_initialization_message(data->instance_id, 0, 0, 0, > >> data->parameters_string); > >> } > >> > >> java_result = java_request.getAppletObjectInstance(id_str); > >> diff --git a/plugin/icedteanp/IcedTeaNPPlugin.h > >> b/plugin/icedteanp/IcedTeaNPPlugin.h > >> --- a/plugin/icedteanp/IcedTeaNPPlugin.h > >> +++ b/plugin/icedteanp/IcedTeaNPPlugin.h > >> @@ -66,8 +66,8 @@ struct ITNPPluginData > >> { > >> // A unique identifier for this plugin window. > >> gchar* instance_id; > >> - // The applet tag sent to Java side > >> - gchar* applet_tag; > >> + // The parameter list string sent to Java side > >> + gchar* parameters_string; > >> // Mutex to protect appletviewer_alive. > >> GMutex* appletviewer_mutex; > >> // Back-pointer to the plugin instance to which this data belongs. > >> diff --git > >> a/plugin/icedteanp/java/sun/applet/PluginAppletAttributes.java > >> b/plugin/icedteanp/java/sun/applet/PluginAppletAttributes.java > >> new file mode 100644 > >> --- /dev/null > >> +++ b/plugin/icedteanp/java/sun/applet/PluginAppletAttributes.java > >> @@ -0,0 +1,169 @@ > >> +/* PluginAppletAttributes -- Provides parsing for applet attributes > >> + Copyright (C) 2012 Red Hat > >> + > >> +This file is part of IcedTea. > >> + > >> +IcedTea is free software; you can redistribute it and/or modify > >> +it under the terms of the GNU General Public License as published by > >> +the Free Software Foundation; either version 2, or (at your option) > >> +any later version. > >> + > >> +IcedTea is distributed in the hope that it will be useful, but > >> +WITHOUT ANY WARRANTY; without even the implied warranty of > >> +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > >> +General Public License for more details. > >> + > >> +You should have received a copy of the GNU General Public License > >> +along with IcedTea; see the file COPYING. If not, write to the > >> +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, > >> Boston, MA > >> +02110-1301 USA. > >> + > >> +Linking this library statically or dynamically with other modules is > >> +making a combined work based on this library. Thus, the terms and > >> +conditions of the GNU General Public License cover the whole > >> +combination. > >> + > >> +As a special exception, the copyright holders of this library give you > >> +permission to link this library with independent modules to produce an > >> +executable, regardless of the license terms of these independent > >> +modules, and to copy and distribute the resulting executable under > >> +terms of your choice, provided that you also meet, for each linked > >> +independent module, the terms and conditions of the license of that > >> +module. An independent module is a module which is not derived from > >> +or based on this library. If you modify this library, you may extend > >> +this exception to your version of the library, but you are not > >> +obligated to do so. If you do not wish to do so, delete this > >> +exception statement from your version. */ > >> + > >> +package sun.applet; > >> + > >> +import java.io.PrintStream; > >> +import java.util.ArrayList; > >> +import java.util.Enumeration; > >> +import java.util.Hashtable; > >> +import java.util.List; > >> + > >> +/** > >> + * Provides parsing for applet attributes passed from the C++ side > >> as quoted, > >> + * encoded strings. This class is not meant to be initialized > > > > No author in ITW sources please:) > > > > Please, mke this class as classical object. You can still keep some > > static (or singleton) utility methods here, but prefer more object way: > > > > Hashtable atts = > > PluginAppletAttributes.getPArser().parse(width, height, tag); > > or > > Hashtable atts = new > > PluginAppletAttributes().parse(width, height, tag); > > > > Although I would like to recomand to wrap the Hashtable > String> to Object. Eg ParsedAppletTag. so the above methods wirr > > return this one. > > One will thenbe able to access parsedAppletTag.getKey() and will be > > also able to recieve something else then Strings > > > > And again. Get rid of redundant decoding! > > > > > >> + * @author Adam Domurad > >> + */ > >> +class PluginAppletAttributes { > >> + /** > >> + * Decodes the string (converts html escapes into proper > >> characters) > >> + * > >> + * @param toDecode The string to decode > >> + * @return The decoded string > >> + */ > >> + static String decodeString(String toDecode) { > >> + > >> + toDecode = toDecode.replace(">", ">"); > >> + toDecode = toDecode.replace("<", "<"); > >> + toDecode = toDecode.replace(" ", "\n"); > >> + toDecode = toDecode.replace(" ", "\r"); > >> + toDecode = toDecode.replace(""", "\""); > >> + toDecode = toDecode.replace("&", "&"); > >> + > >> + return toDecode; > >> + } > >> + > >> + static final boolean isInt(String s) { > >> + try { > >> + Integer.parseInt(s); > >> + return true; > >> + } catch (NumberFormatException e) { > >> + return false; > >> + } > >> + } > > > > :DDD no! :D Although this give sense, I would not recommand usage of > > exception for directing the flow of code :) > > My suggestion will be matches \d+ ;) > > I have also some susspiccion that there is ssDigit method somewhere. > > > >> + > >> + static List extractQuotedStrings(String s) { > >> + List strs = new ArrayList(); > >> + int idx = 0; > >> + > >> + while (idx < s.length()){ > >> + // Move to character after starting quote > >> + idx = s.indexOf('"', idx) + 1; > >> + if (idx <= 0) break; > >> + > >> + // Find end quote > >> + int endIdx = s.indexOf('"', idx); > >> + strs.add(s.substring(idx, endIdx)); > >> + idx = endIdx + 1; > >> + } > >> + > >> + return strs; > >> + } > >> + > >> + static Hashtable parseQuotedKeyValuePairs(String > >> keyvalString) { > >> + List strs = extractQuotedStrings(keyvalString); > >> + Hashtable attributes = new > >> Hashtable(); > >> + > >> + for (int i = 0; i < strs.size(); i += 2) { > >> + String key = decodeString(strs.get(i)).toLowerCase(); > >> + String value = decodeString(strs.get(i + 1)); > >> + attributes.put(key, value); > >> + } > >> + > >> + return attributes; > >> + } > >> + > >> + /** > >> + * Generates a hashtable of applet attributes, given a string > >> containing > >> + * parameters in quotes. > >> + * > >> + * @param width default applet width > >> + * @param height default applet height > >> + * @param parameterString the parameters > >> + * @return the attributes in a hash table > >> + */ > >> + static public Hashtable parse(String width, > >> + String height, String parameterString) { > >> + Hashtable atts = > >> parseQuotedKeyValuePairs(parameterString); > >> + > >> + // If there is a classid and no code tag present, transform > >> it to code tag > >> + if (atts.get("code") == null && atts.get("classid") != null > >> + && !(atts.get("classid")).startsWith("clsid:")) { > >> + atts.put("code", atts.get("classid")); > >> + } > >> + > >> + // remove java: from code tag > >> + if (atts.get("code") != null && > >> (atts.get("code")).startsWith("java:")) { > >> + atts.put("code", (atts.get("code")).substring(5)); > >> + } > >> + > >> + // java_* aliases override older names: > >> + > >> //http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/using_tags.html#in-nav > >> + if (atts.get("java_code") != null) { > >> + atts.put("code", (atts.get("java_code"))); > >> + } > >> + > >> + if (atts.get("java_codebase") != null) { > >> + atts.put("codebase", (atts.get("java_codebase"))); > >> + } > >> + > >> + if (atts.get("java_archive") != null) { > >> + atts.put("archive", (atts.get("java_archive"))); > >> + } > >> + > >> + if (atts.get("java_object") != null) { > >> + atts.put("object", (atts.get("java_object"))); > >> + } > >> + > >> + if (atts.get("java_type") != null) { > >> + atts.put("type", (atts.get("java_type"))); > >> + } > >> + > >> + if (atts.get("width") == null || !isInt(atts.get("width"))) { > >> + atts.put("width", width); > >> + } > >> + > >> + if (atts.get("height") == null || !isInt(atts.get("height"))) { > >> + atts.put("height", height); > >> + } > >> + > >> + if (atts.get("code") == null && atts.get("object") == null) { > >> + return null; > >> + } > >> + return atts; > >> + } > >> +} > >> diff --git a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > >> b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > >> --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > >> +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java > >> @@ -86,6 +86,7 @@ import java.lang.reflect.InvocationTarge > >> import java.net.SocketPermission; > >> import java.net.URI; > >> import java.net.URL; > >> +import java.net.URLConnection; > >> import java.security.AccessController; > >> import java.security.AllPermission; > >> import java.security.PrivilegedAction; > >> @@ -286,6 +287,14 @@ public class PluginAppletViewer extends > >> PRE_INIT, INIT_COMPLETE, REFRAME_COMPLETE, INACTIVE, DESTROYED > >> }; > >> > >> + /* values used for placement of AppletViewer's frames */ > >> + private static final int XDELTA = 30; > >> + private static final int YDELTA = XDELTA; > >> + > >> + private static int x = 0; > >> + private static int y = 0; > >> + private static int ydisp = 1; > >> + > >> /** > >> * The panel in which the applet is being displayed. > >> */ > >> @@ -488,10 +497,37 @@ public class PluginAppletViewer extends > >> "DocumentBase = ", > >> documentBase, "\n", > >> "Tag = ", tag); > >> > >> - PluginAppletViewer.parse > >> - (identifier, handle, width, > >> height, > >> - new StringReader(tag), > >> - new URL(documentBase)); > >> + PluginAppletPanelFactory factory = new > >> PluginAppletPanelFactory(); > >> + AppletMessageHandler amh = new > >> AppletMessageHandler("appletviewer"); > >> + URL url = new URL(documentBase); > >> + URLConnection conn = url.openConnection(); > >> + /* The original URL may have been redirected - this > >> + * sets it to whatever URL/codebase we ended up getting > >> + */ > >> + url = conn.getURL(); > >> + > > > > I would like to see thios in different method. Also the ydisp remains > > questionable. Imho with yournew approach it will lead to complete > > removal of it (i'm really afraid of case like three applets per page, > > and several such a pages) > > > >> + Hashtable atts = > >> PluginAppletAttributes.parse(width, height, tag); > >> + > >> + if (atts == null) { > >> + String embedRequiresCode = > >> amh.getMessage("parse.warning.embed.requirescode"); > >> + System.out.println(embedRequiresCode); > >> + > >> + throw new RuntimeException(embedRequiresCode); > >> + } > >> + > >> + // Let user know we are starting up > >> + streamhandler.write("instance " + identifier + " > >> status " + amh.getMessage("status.start")); > >> + factory.createPanel(streamhandler, identifier, > >> handle, x, y, url, atts); > >> + > >> + x += XDELTA; > >> + y += YDELTA; > >> + // make sure we don't go too far! > >> + Dimension d = > >> Toolkit.getDefaultToolkit().getScreenSize(); > >> + if ((x > d.width - 300) || (y > d.height - 300)) { > >> + x = 0; > >> + y = 2 * ydisp * YDELTA; > >> + ydisp++; > >> + } > >> > >> long maxTimeToSleep = APPLET_TIMEOUT; > >> appletsLock.lock(); > >> @@ -1423,24 +1459,6 @@ public class PluginAppletViewer extends > >> } > >> > >> /** > >> - * Decodes the string (converts html escapes into proper > >> characters) > >> - * > >> - * @param toDecode The string to decode > >> - * @return The decoded string > >> - */ > >> - public static String decodeString(String toDecode) { > >> - > >> - toDecode = toDecode.replace(">", ">"); > >> - toDecode = toDecode.replace("<", "<"); > >> - toDecode = toDecode.replace("&", "&"); > >> - toDecode = toDecode.replace(" ", "\n"); > >> - toDecode = toDecode.replace(" ", "\r"); > >> - toDecode = toDecode.replace(""", "\""); > >> - > >> - return toDecode; > >> - } > >> - > >> - /** > >> * System parameters. > >> */ > >> static Hashtable systemParam = new > >> Hashtable(); > >> @@ -1457,67 +1475,6 @@ public class PluginAppletViewer extends > >> } > >> > >> /** > >> - * Print the HTML tag. > >> - */ > >> - public static void printTag(PrintStream out, Hashtable >> String> atts) { > >> - out.print(" >> - > >> - String v = atts.get("codebase"); > >> - if (v != null) { > >> - out.print(" codebase=\"" + v + "\""); > >> - } > >> - > >> - v = atts.get("code"); > >> - if (v == null) { > >> - v = "applet.class"; > >> - } > >> - out.print(" code=\"" + v + "\""); > >> - v = atts.get("width"); > >> - if (v == null) { > >> - v = "150"; > >> - } > >> - out.print(" width=" + v); > >> - > >> - v = atts.get("height"); > >> - if (v == null) { > >> - v = "100"; > >> - } > >> - out.print(" height=" + v); > >> - > >> - v = atts.get("name"); > >> - if (v != null) { > >> - out.print(" name=\"" + v + "\""); > >> - } > >> - out.println(">"); > >> - > >> - // A very slow sorting algorithm > >> - int len = atts.size(); > >> - String params[] = new String[len]; > >> - len = 0; > >> - for (Enumeration e = atts.keys(); > >> e.hasMoreElements();) { > >> - String param = e.nextElement(); > >> - int i = 0; > >> - for (; i < len; i++) { > >> - if (params[i].compareTo(param) >= 0) { > >> - break; > >> - } > >> - } > >> - System.arraycopy(params, i, params, i + 1, len - i); > >> - params[i] = param; > >> - len++; > >> - } > >> - > >> - for (int i = 0; i < len; i++) { > >> - String param = params[i]; > >> - if (systemParam.get(param) == null) { > >> - out.println(""); > >> - } > >> - } > >> - out.println(""); > >> - } > >> - > >> - /** > >> * Make sure the atrributes are uptodate. > >> */ > >> public void updateAtts() { > >> @@ -1673,412 +1630,6 @@ public class PluginAppletViewer extends > >> return appletPanels.size(); > >> } > >> > >> - /** > >> - * Scan spaces. > >> - */ > >> - public static void skipSpace(int[] c, Reader in) throws > >> IOException { > >> - while ((c[0] >= 0) && > >> - ((c[0] == ' ') || (c[0] == '\t') || (c[0] == '\n') > >> || (c[0] == '\r'))) { > >> - c[0] = in.read(); > >> - } > >> - } > >> - > >> - /** > >> - * Scan identifier > >> - */ > >> - public static String scanIdentifier(int[] c, Reader in) throws > >> IOException { > >> - StringBuilder buf = new StringBuilder(); > >> - > >> - if (c[0] == '!') { > >> - // Technically, we should be scanning for '!--' but we > >> are reading > >> - // from a stream, and there is no way to peek ahead. > >> That said, > >> - // a ! at this point can only mean comment here afaik, > >> so we > >> - // should be okay > >> - skipComment(c, in); > >> - return ""; > >> - } > >> - > >> - while (true) { > >> - if (((c[0] >= 'a') && (c[0] <= 'z')) || > >> - ((c[0] >= 'A') && (c[0] <= 'Z')) || > >> - ((c[0] >= '0') && (c[0] <= '9')) || (c[0] == > >> '_')) { > >> - buf.append((char) c[0]); > >> - c[0] = in.read(); > >> - } else { > >> - return buf.toString(); > >> - } > >> - } > >> - } > >> - > >> - public static void skipComment(int[] c, Reader in) throws > >> IOException { > >> - StringBuilder buf = new StringBuilder(); > >> - boolean commentHeaderPassed = false; > >> - c[0] = in.read(); > >> - buf.append((char) c[0]); > >> - > >> - while (true) { > >> - if (c[0] == '-' && (c[0] = in.read()) == '-') { > >> - buf.append((char) c[0]); > >> - if (commentHeaderPassed) { > >> - // -- encountered ... is > next? > >> - if ((c[0] = in.read()) == '>') { > >> - buf.append((char) c[0]); > >> - > >> - PluginDebug.debug("Comment skipped: ", > >> buf.toString()); > >> - > >> - // comment skipped. > >> - return; > >> - } > >> - } else { > >> - // first -- is part of http://icedtea.classpath.org/bugzilla/attachment.cgi?id=798&action=edit config.log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121119/4322142a/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Nov 19 09:23:53 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 19 Nov 2012 17:23:53 +0000 Subject: [Bug 1212] IcedTea7 fails to build because Resources.getText( ) is no longer available for code to use In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1212 --- Comment #4 from Saad Mohammad --- (In reply to comment #2) > It should be fine without the full build log. The config.log would be > useful. > > When you say you configure with no arguments, do you build in the source > tree or in a separate build directory? Sorry, I didn't see this comment earlier but to answer your question, I did create a separate build directory. The full config log is attached. Here are the commands I executed: $ hg clone http://icedtea.classpath.org/hg/icedtea7 $ cd icedtea7/ $ ./autogen.sh $ mkdir build $ cd build/ $ ../configure $ make -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121119/dcfd4458/attachment.html From adomurad at redhat.com Mon Nov 19 09:34:05 2012 From: adomurad at redhat.com (Adam Domurad) Date: Mon, 19 Nov 2012 12:34:05 -0500 Subject: [rfc][icedtea-web] Fix two memory leaks Message-ID: <50AA6D8D.9060003@redhat.com> get_cookie_info and get_proxy_info take a char** that holds a result from an NPN_GetValueForURLPtr browser callback. This string is not freed, however the documentation [1] states the plugin is responsible for freeing the buffer. 2012-11-19 Adam Domurad * plugin/icedteanp/IcedTeaNPPlugin.cc (consume_plugin_message): Free two buffers returned from NPN_GetValueForURL function. [1] https://developer.mozilla.org/en-US/docs/NPN_GetValueForURL -------------- next part -------------- A non-text attachment was scrubbed... Name: memleakfix.patch Type: text/x-patch Size: 1809 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121119/8c6c61ed/memleakfix.patch From adomurad at redhat.com Mon Nov 19 11:45:21 2012 From: adomurad at redhat.com (Adam Domurad) Date: Mon, 19 Nov 2012 14:45:21 -0500 Subject: [icedtea-web] Idea - do not start ITW applets automatically In-Reply-To: <50A67163.9080409@redhat.com> References: <50A550CD.7010504@redhat.com> <50A67163.9080409@redhat.com> Message-ID: <50AA8C51.7040101@redhat.com> On 11/16/2012 12:01 PM, Saad Mohammad wrote: > On 11/15/2012 03:30 PM, Adam Domurad wrote: >> So in lieu of requests such as [1] and the potential for unsigned code escaping >> the sandbox (eg, the recent 0day) it could be worth looking into a feature that >> has applets not start automatically, but rather require a user confirmation >> (click?) to begin. Additionally a more strict setting could not allow This could >> be controlled via itweb-settings/environment and distributions might want it as >> the default. >> >> There should be some way to opt-in normal execution of signed applets based on >> certificate. When an applet's certificates are all opted in, it will start >> automatically. (Note that we do not need to handle mixed signed + unsigned code >> specially, it already requires a confirmation.) Unsigned applets, if we choose >> to allow them being opted in, can be opted in on a full domain name basis. >> >> The main motivation I have for proposing this feature is that many applet users >> only use a handful of applets, and having other applets automatically start is >> mostly an unnecessary attack surface. I have seen "Disable java in browser, and >> turn it on for any applets you need to use only" giving as advice following the >> 0day, and this would be a superior option. >> >> [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 >> >> Thoughts? >> -Adam > Hi Adam, > > I think the idea is great and would be something I would personally make use > of. However, I am unsure as to how worthy this will be, given that Firefox > plans to implement something similar[1] and Chrome already having this > feature[2]. Within Chrome, users can specify which plugins should be activated > using their 'Click to Play' feature. Users can add domains to a list where > they can specify whether to always allow or deny activation of plugins. Of > course, your design will probably include a few more options but I think this > is something to consider looking over. In my opinion, the activation of plugins > should be controlled via browser and not through the plugin itself. > > Anyways, if we do choose to implement this feature, as HelpCrypto and Jiri > pointed out, creating a whitelist for normal execution based on domain names > and wild character is also a welcoming approach. I would prefer not initializing > the JVM until the user has clicked to activate if possible. > > [1]https://wiki.mozilla.org/Opt-in_activation_for_plugins > [2]http://blog.chromium.org/2011/03/mini-newsletter-from-your-google-chrome.html > Good point, as Jiri pointed out it may be better to use development cycles elsewhere. I'm not sure if they support this now, but if a domain name can 'allow all plugins' then it's fairly redundant with any domain-name opt-in we would have. While it may be good to have for more minimalist browsers, this was about giving users more choice, and it seems with the new browser improvements this choice exists. Probably for the best to at least shelf this until the browser implementations have been around for a while, at which point I suspect we'll see little need to implement it. Thanks for the feedback Saad :) - Adam From smohammad at redhat.com Mon Nov 19 13:35:55 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Mon, 19 Nov 2012 16:35:55 -0500 Subject: [rfc][icedtea-web] Fix two memory leaks In-Reply-To: <50AA6D8D.9060003@redhat.com> References: <50AA6D8D.9060003@redhat.com> Message-ID: <50AAA63B.1020701@redhat.com> On 11/19/2012 12:34 PM, Adam Domurad wrote: > get_cookie_info and get_proxy_info take a char** that holds a result from an > NPN_GetValueForURLPtr browser callback. > > This string is not freed, however the documentation [1] states the plugin is > responsible for freeing the buffer. > > 2012-11-19 Adam Domurad > > * plugin/icedteanp/IcedTeaNPPlugin.cc > (consume_plugin_message): Free two buffers returned from NPN_GetValueForURL > function. > > > [1] https://developer.mozilla.org/en-US/docs/NPN_GetValueForURL Hi Adam, Thanks for taking a sharper look on the C++ side. The patch looks good to me. -- Cheers, Saad Mohammad From bugzilla-daemon at icedtea.classpath.org Mon Nov 19 15:27:05 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 19 Nov 2012 23:27:05 +0000 Subject: [Bug 1206] S7201205: Add Makefile configuration option to build with unlimited crypto in OpenJDK In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1206 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #1 from Andrew John Hughes --- http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/53fc48ac178f http://icedtea.classpath.org/hg/icedtea7/rev/91cb89e3e986 2012-11-07 Andrew John Hughes * patches/systemtap.patch: Removed. * INSTALL: Update SystemTap documentation. * Makefile.am: (JDK_CHANGESET): Updated to tip. (JDK_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Remove systemtap.patch (ICEDTEA_ENV): Set UNLIMITED_CRYPTO. * README: Update SystemTap documentation. * configure.ac: Remove --enable-systemtap option. Only issue a warning and not set ENABLE_SYSTEMTAP if sdt.h is not found or is outdated. * hotspot.map: Update default HotSpot to tip. * nss.cfg.in: Set handleStartupErrors to ignoreMultipleInitialisation so that our PKCS11 provider configuration is silently dropped if the user has already configured it. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121119/6b9074e5/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Nov 19 18:01:35 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 02:01:35 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 --- Comment #1 from Andrew John Hughes --- That patch is being applied because the configure step is detecting that the version of getDTDType in your bootstrap compiler returns a QName. I have a feeling that gcj 4.4 is old enough that this is so. However, your Ant build seems to be using a different JDK altogether, which is why this problem occurs. If you can attach config.log, javac and openjdk.build-ecj/langtools/build/ant\ -diagnostics.log from your build directory, we might be able to tell what's going on. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/bd29eeb1/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Nov 19 18:39:17 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 02:39:17 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 --- Comment #2 from sato --- Created attachment 799 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=799&action=edit make log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/53ccba4d/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Nov 19 18:39:38 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 02:39:38 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 --- Comment #3 from sato --- Created attachment 800 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=800&action=edit ant diagnostics log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/6da59907/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Nov 19 18:44:47 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 02:44:47 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 sato changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yoshiki at sendme.email.ne.jp --- Comment #4 from sato --- > However, your Ant build seems to be using a different JDK altogether, which > is why this problem occurs. Exactly. The ant build is using GCJ 4.4.7. % cat `which java` #!/bin/bash ${HOME}/local/bin/gij "$@" % cat `which javac` #!/bin/bash ${HOME}/local/bin/gcj -O2 -C "$@" Thank you for your suggestions in advance. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/04fc6c4b/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Nov 19 19:17:06 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 03:17:06 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 --- Comment #5 from sato --- Created attachment 801 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=801&action=edit make log (sun.awt classes) After trying to remove the patch application of getdtdtype.patch the build script meets a compilation error of Java sources as found in the attached log file. This also seems to be caused by using GCJ because using Oracle javac on another Linux/x86 machine succeeds to build all classes listed in openjdk.build-ecj/tmp/sun/sun.awt/awt/.classes.list -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/36ca98c2/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Nov 19 21:20:49 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 05:20:49 +0000 Subject: [Bug 1224] New: Source and target versions for building java classes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1224 Priority: P3 Bug ID: 1224 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: Source and target versions for building java classes Severity: normal Classification: Unclassified OS: Linux Reporter: yoshiki at sendme.email.ne.jp Hardware: sparc64 Status: NEW Version: 6-1.11.5 Component: IcedTea Product: IcedTea Some sources of classpath classes are using @Override annotations for implementing interface methods. But I found that this was allowed after JDK 6. JDK 5 only supports this annotation for overriding a superclass method. Therefore, I'm getting an error below during the build step of classpath classes with GCJ. Is it possible and enough to change "LANGUAGE_VERSION = -source 1.5" and "TARGET_CLASS_VERSION = 5" defined in openjdk-ecj/jdk/make/common/shared/Defs-java.gmk to avoid the issue? Does anybody advise me how to work around that? bootstrap/jdk1.6.0/bin/javac -J-XX:ThreadStackSize=2048 -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m -J-XX:Max PermSize=160m -g -source 1.5 -target 5 -encoding ascii -Xbootclasspath:/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build-ecj/classes -sourcepa th /home/c83001/icedtea/icedtea6-1.11.5/generated.build:../../../src/solaris/classes:../../../src/share/classes -bootclasspath /home/c83001/ice dtea/icedtea6-1.11.5/bootstrap/jdk1.6.0/jre/lib/rt.jar::/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build-ecj/classes -d /home/c83001/icedtea/ icedtea6-1.11.5/openjdk.build-ecj/classes @/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build-ecj/tmp/sun/sun.awt/awt/.classes.list ---------- 1. ERROR in ../../../src/share/classes/sun/awt/image/SunVolatileImage.java (at line 266) public Surface getDestSurface() { ^^^^^^^^^^^^^^^^ The method getDestSurface() of type SunVolatileImage must override a superclass method ---------- ---------- 2. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 257) public int getWidth() { ^^^^^^^^^^ The method getWidth() of type JPEGParam must override a superclass method ---------- 3. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 262) public int getHeight() { ^^^^^^^^^^^ The method getHeight() of type JPEGParam must override a superclass method ---------- 4. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 267) public int getHorizontalSubsampling(int component) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getHorizontalSubsampling(int) of type JPEGParam must override a superclass method ---------- 5. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 276) public int getVerticalSubsampling(int component) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getVerticalSubsampling(int) of type JPEGParam must override a superclass method ---------- 6. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 285) public JPEGQTable getQTable(int tableNum) { ^^^^^^^^^^^^^^^^^^^^^^^ The method getQTable(int) of type JPEGParam must override a superclass method ---------- 7. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 293) public JPEGQTable getQTableForComponent(int component) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getQTableForComponent(int) of type JPEGParam must override a superclass method ---------- 8. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 302) public JPEGHuffmanTable getDCHuffmanTable(int tableNum) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getDCHuffmanTable(int) of type JPEGParam must override a superclass method ---------- 9. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 310) public JPEGHuffmanTable getDCHuffmanTableForComponent(int component) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getDCHuffmanTableForComponent(int) of type JPEGParam must override a superclass method ---------- 10. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 319) public JPEGHuffmanTable getACHuffmanTable(int tableNum) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getACHuffmanTable(int) of type JPEGParam must override a superclass method ---------- 11. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 327) public JPEGHuffmanTable getACHuffmanTableForComponent(int component) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getACHuffmanTableForComponent(int) of type JPEGParam must override a superclass method ---------- 12. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 336) public int getDCHuffmanComponentMapping(int component) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getDCHuffmanComponentMapping(int) of type JPEGParam must override a superclass method ---------- 13. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 344) public int getACHuffmanComponentMapping(int component) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getACHuffmanComponentMapping(int) of type JPEGParam must override a superclass method ---------- 14. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 352) public int getQTableComponentMapping(int component) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getQTableComponentMapping(int) of type JPEGParam must override a superclass method ---------- 15. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 360) public boolean isImageInfoValid() { ^^^^^^^^^^^^^^^^^^ The method isImageInfoValid() of type JPEGParam must override a superclass method ---------- 16. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 365) public boolean isTableInfoValid() { ^^^^^^^^^^^^^^^^^^ The method isTableInfoValid() of type JPEGParam must override a superclass method ---------- 17. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 370) public boolean getMarker(int marker) { ^^^^^^^^^^^^^^^^^^^^^ The method getMarker(int) of type JPEGParam must override a superclass method ---------- 18. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 402) public byte[][] getMarkerData(int marker) { ^^^^^^^^^^^^^^^^^^^^^^^^^ The method getMarkerData(int) of type JPEGParam must override a superclass method ---------- 19. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 434) public int getEncodedColorID() { ^^^^^^^^^^^^^^^^^^^ The method getEncodedColorID() of type JPEGParam must override a superclass method ---------- 20. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 439) public int getNumComponents() { ^^^^^^^^^^^^^^^^^^ The method getNumComponents() of type JPEGParam must override a superclass method ---------- 21. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 444) public int getRestartInterval() { ^^^^^^^^^^^^^^^^^^^^ The method getRestartInterval() of type JPEGParam must override a superclass method ---------- 22. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 449) public int getDensityUnit() { ^^^^^^^^^^^^^^^^ The method getDensityUnit() of type JPEGParam must override a superclass method ---------- 23. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 461) public int getXDensity() { ^^^^^^^^^^^^^ The method getXDensity() of type JPEGParam must override a superclass method ---------- 24. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 478) public int getYDensity() { ^^^^^^^^^^^^^ The method getYDensity() of type JPEGParam must override a superclass method ---------- 25. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 494) public void setHorizontalSubsampling(int component, int subsample) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setHorizontalSubsampling(int, int) of type JPEGParam must override a superclass method ---------- 26. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 503) public void setVerticalSubsampling(int component, int subsample) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setVerticalSubsampling(int, int) of type JPEGParam must override a superclass method ---------- 27. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 512) public void setQTable(int tableNum, JPEGQTable qTable) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setQTable(int, JPEGQTable) of type JPEGParam must override a superclass method ---------- 28. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 521) public void setDCHuffmanTable(int tableNum, JPEGHuffmanTable huffTable) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setDCHuffmanTable(int, JPEGHuffmanTable) of type JPEGParam must override a superclass method ---------- 29. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 530) public void setACHuffmanTable(int tableNum, JPEGHuffmanTable huffTable) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setACHuffmanTable(int, JPEGHuffmanTable) of type JPEGParam must override a superclass method ---------- 30. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 538) public void setACHuffmanComponentMapping(int component, int table) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setACHuffmanComponentMapping(int, int) of type JPEGParam must override a superclass method ---------- 31. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 549) public void setDCHuffmanComponentMapping(int component, int table) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setDCHuffmanComponentMapping(int, int) of type JPEGParam must override a superclass method ---------- 32. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 560) public void setQTableComponentMapping(int component, int table) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setQTableComponentMapping(int, int) of type JPEGParam must override a superclass method ---------- 33. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 571) public void setImageInfoValid(boolean flag) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setImageInfoValid(boolean) of type JPEGParam must override a superclass method ---------- 34. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 576) public void setTableInfoValid(boolean flag) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setTableInfoValid(boolean) of type JPEGParam must override a superclass method ---------- 35. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 581) public void setMarkerData(int marker, byte[][] data) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setMarkerData(int, byte[][]) of type JPEGParam must override a superclass method ---------- 36. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 614) public void addMarkerData(int marker, byte[] data) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method addMarkerData(int, byte[]) of type JPEGParam must override a superclass method ---------- 37. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 647) public void setRestartInterval(int restartInterval) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method setRestartInterval(int) of type JPEGParam must override a superclass method ---------- 38. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 652) public void setDensityUnit(int unit) { ^^^^^^^^^^^^^^^^^^^^^^^^ The method setDensityUnit(int) of type JPEGParam must override a superclass method ---------- 39. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 668) public void setXDensity(int density) { ^^^^^^^^^^^^^^^^^^^^^^^^ The method setXDensity(int) of type JPEGParam must override a superclass method ---------- 40. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGParam.java (at line 684) public void setYDensity(int density) { ^^^^^^^^^^^^^^^^^^^^^^^^ The method setYDensity(int) of type JPEGParam must override a superclass method ---------- ---------- 41. ERROR in ../../../src/share/classes/sun/awt/image/codec/JPEGImageEncoderImpl.java (at line 145) public int getDefaultColorId(ColorModel cm) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getDefaultColorId(ColorModel) of type JPEGImageEncoderImpl must override a superclass method ---------- ---------- 42. ERROR in ../../../src/share/classes/sun/java2d/SunGraphics2D.java (at line 3316) public Surface getDestSurface() { ^^^^^^^^^^^^^^^^ The method getDestSurface() of type SunGraphics2D must override a superclass method ---------- ---------- 43. ERROR in ../../../src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java (at line 96) public SurfaceData createManagedSurface(int w, int h, int transparency) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method createManagedSurface(int, int, int) of type GLXGraphicsConfig must override a superclass method ---------- 44. ERROR in ../../../src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java (at line 169) public final boolean isCapPresent(int cap) { ^^^^^^^^^^^^^^^^^^^^^ The method isCapPresent(int) of type GLXGraphicsConfig must override a superclass method ---------- 45. ERROR in ../../../src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java (at line 174) public final long getNativeConfigInfo() { ^^^^^^^^^^^^^^^^^^^^^ The method getNativeConfigInfo() of type GLXGraphicsConfig must override a superclass method ---------- 46. ERROR in ../../../src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java (at line 184) public final OGLContext getContext() { ^^^^^^^^^^^^ The method getContext() of type GLXGraphicsConfig must override a superclass method ---------- 47. ERROR in ../../../src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java (at line 399) createCompatibleVolatileImage(int width, int height, int transparency, int type) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method createCompatibleVolatileImage(int, int, int, int) of type GLXGraphicsConfig must override a superclass method ---------- 48. ERROR in ../../../src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java (at line 438) public ContextCapabilities getContextCapabilities() { ^^^^^^^^^^^^^^^^^^^^^^^^ The method getContextCapabilities() of type GLXGraphicsConfig must override a superclass method ---------- 49. ERROR in ../../../src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java (at line 443) public void addDeviceEventListener(AccelDeviceEventListener l) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method addDeviceEventListener(AccelDeviceEventListener) of type GLXGraphicsConfig must override a superclass method ---------- 50. ERROR in ../../../src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java (at line 448) public void removeDeviceEventListener(AccelDeviceEventListener l) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The method removeDeviceEventListener(AccelDeviceEventListener) of type GLXGraphicsConfig must override a superclass method ---------- 50 problems (50 errors)make[5]: *** [.compile.classlist] Error 255 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/4aac48a7/attachment.html From ptisnovs at icedtea.classpath.org Tue Nov 20 00:57:30 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 20 Nov 2012 08:57:30 +0000 Subject: /hg/gfx-test: Added eleven new tests to the test suite Message-ID: changeset 1f011b5b03b9 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=1f011b5b03b9 author: Pavel Tisnovsky date: Tue Nov 20 10:00:28 2012 +0100 Added eleven new tests to the test suite src/org/gfxtest/testsuites/BitBltBasicTests.java. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBasicTests.java | 165 +++++++++++++++++++++++ 2 files changed, 170 insertions(+), 0 deletions(-) diffs (187 lines): diff -r fbb2ceaee68e -r 1f011b5b03b9 ChangeLog --- a/ChangeLog Mon Nov 19 10:30:27 2012 +0100 +++ b/ChangeLog Tue Nov 20 10:00:28 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-20 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBasicTests.java: + Added eleven new tests to this test suite. + 2012-11-19 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r fbb2ceaee68e -r 1f011b5b03b9 src/org/gfxtest/testsuites/BitBltBasicTests.java --- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Mon Nov 19 10:30:27 2012 +0100 +++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Tue Nov 20 10:00:28 2012 +0100 @@ -1719,6 +1719,171 @@ } /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_INT_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_RGB); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_INT_BGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_BGR); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_INT_ARGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageType4ByteABGR_PRE(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_USHORT_GRAY. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_USHORT_565_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB); + } + + /** + * Test basic BitBlt operation for vertical color stripes buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltVerticalColorStripesBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithVerticalColorStripesImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR); + } + + /** * Test basic BitBlt operation for diagonal color stripes buffered image * with type TYPE_BYTE_BINARY. * From ptisnovs at icedtea.classpath.org Tue Nov 20 01:21:01 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 20 Nov 2012 09:21:01 +0000 Subject: /hg/rhino-tests: Added new class JavaScriptSnippets which contai... Message-ID: changeset 94369d709381 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=94369d709381 author: Pavel Tisnovsky date: Tue Nov 20 10:23:57 2012 +0100 Added new class JavaScriptSnippets which contains short JavaScript snippets. Updated CompilableTest to use JavaScriptSnippets class. diffstat: ChangeLog | 8 + src/org/RhinoTests/CompilableTest.java | 119 +++++++++++++--------------- src/org/RhinoTests/JavaScriptSnippets.java | 60 ++++++++++++++ 3 files changed, 125 insertions(+), 62 deletions(-) diffs (245 lines): diff -r bba804edaeab -r 94369d709381 ChangeLog --- a/ChangeLog Mon Nov 19 11:15:37 2012 +0100 +++ b/ChangeLog Tue Nov 20 10:23:57 2012 +0100 @@ -1,3 +1,11 @@ +2012-11-20 Pavel Tisnovsky + + * src/org/RhinoTests/JavaScriptSnippets.java: + Added new class which contains short JavaScript snippets. + + * src/org/RhinoTests/CompilableTest.java: + Updated to use JavaScriptSnippets class. + 2012-11-19 Pavel Tisnovsky * src/org/RhinoTests/SimpleBindingsTest.java: diff -r bba804edaeab -r 94369d709381 src/org/RhinoTests/CompilableTest.java --- a/src/org/RhinoTests/CompilableTest.java Mon Nov 19 11:15:37 2012 +0100 +++ b/src/org/RhinoTests/CompilableTest.java Tue Nov 20 10:23:57 2012 +0100 @@ -1,7 +1,7 @@ /* Rhino test framework - Copyright (C) 2011 Red Hat + Copyright (C) 2011, 2012 Red Hat This file is part of IcedTea. @@ -47,28 +47,23 @@ import javax.script.ScriptException; /** - * This test case check the behaviour of CompiledScript abstract class and it's - * descendents. + * This test case check the behavior of CompiledScript abstract class and it's + * descendants. * * @author Pavel Tisnovsky * */ public class CompilableTest extends BaseRhinoTest { - /** - * Empty, but still valid script. - */ - private static final String EMPTY_SCRIPT = ""; - - /** - * Instance of ScriptEngineManager which is used by all tests in this test - * case. - */ + /** + * Instance of ScriptEngineManager which is used by all tests in this test + * case. + */ ScriptEngineManager engineManager; - /** - * Instance of ScriptEngine which is used by all tests in this test case. - */ + /** + * Instance of ScriptEngine which is used by all tests in this test case. + */ ScriptEngine scriptEngine; @Override @@ -84,43 +79,43 @@ return; } - /** - * Helper method which tries to retrieve an instance of class which - * implements CompiledScript interface for a given script. - * - * @param scriptText - * script source code - * @return instance of CompiledScript class - * @throws AssertionError - * when CompilingEngine cannot be retrieved - * @throws ScriptException - * thrown when script cannot be compiled - */ - private CompiledScript getCompiledScript(String scriptText) throws AssertionError, ScriptException { - // check if retyping could be done - assertTrue(this.scriptEngine instanceof Compilable, "ScriptEngine does not implement Compilable"); - // scriptEngine should be also retyped to Compilable, at least in case of JavaScript. - Compilable compilingEngine = (Compilable) this.scriptEngine; - // should not happen, but... - assertNotNull(compilingEngine, "cannot get compiling engine"); - // try to compile given script - return compileScript(scriptText, compilingEngine); - } + /** + * Helper method which tries to retrieve an instance of class which + * implements CompiledScript interface for a given script. + * + * @param scriptText + * script source code + * @return instance of CompiledScript class + * @throws AssertionError + * when CompilingEngine cannot be retrieved + * @throws ScriptException + * thrown when script cannot be compiled + */ + private CompiledScript getCompiledScript(String scriptText) throws AssertionError, ScriptException { + // check if retyping could be done + assertTrue(this.scriptEngine instanceof Compilable, "ScriptEngine does not implement Compilable"); + // scriptEngine should be also retyped to Compilable, at least in case of JavaScript. + Compilable compilingEngine = (Compilable) this.scriptEngine; + // should not happen, but... + assertNotNull(compilingEngine, "cannot get compiling engine"); + // try to compile given script + return compileScript(scriptText, compilingEngine); + } - /** - * Helper method which tries to compile given JavaScript. - * - * @param scriptText script source code - * @param compilingEngine instance of class which implements Compilable interface - * @return compiled script - * @throws ScriptException - * @throws AssertionError - */ - private CompiledScript compileScript(String scriptText, Compilable compilingEngine) throws ScriptException, AssertionError { - CompiledScript script = compilingEngine.compile(scriptText); - assertNotNull(script, "cannot compile script"); - return script; - } + /** + * Helper method which tries to compile given JavaScript. + * + * @param scriptText script source code + * @param compilingEngine instance of class which implements Compilable interface + * @return compiled script + * @throws ScriptException + * @throws AssertionError + */ + private CompiledScript compileScript(String scriptText, Compilable compilingEngine) throws ScriptException, AssertionError { + CompiledScript script = compilingEngine.compile(scriptText); + assertNotNull(script, "cannot compile script"); + return script; + } /** * Test if it is possible to compile script from a string. @@ -128,13 +123,13 @@ * @throws ScriptException * this exception is thrown when this test case failed. */ - protected void testCompileScriptStoredInString() throws ScriptException { - Compilable compilingEngine = (Compilable)this.scriptEngine; - assertNotNull(compilingEngine, "cannot get compiling engine"); - if (compilingEngine != null) { - CompiledScript script = compilingEngine.compile(EMPTY_SCRIPT); - assertNotNull(script, "cannot compile script"); - } + protected void testCompileScriptStoredInString1() throws ScriptException { + Compilable compilingEngine = (Compilable)this.scriptEngine; + assertNotNull(compilingEngine, "cannot get compiling engine"); + if (compilingEngine != null) { + CompiledScript script = compilingEngine.compile(JavaScriptSnippets.EMPTY_SCRIPT_1); + assertNotNull(script, "cannot compile script"); + } } /** @@ -143,10 +138,10 @@ * @throws ScriptException * this exception is thrown when this test case failed. */ - protected void testCompileAndRunSimpleScriptStoredInString() throws ScriptException { - CompiledScript script = getCompiledScript(EMPTY_SCRIPT); - Object result = script.eval(); - assertNull(result, "result should be null"); + protected void testCompileAndRunSimpleScriptStoredInString1() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.EMPTY_SCRIPT_1); + Object result = script.eval(); + assertNull(result, "result should be null"); } /** diff -r bba804edaeab -r 94369d709381 src/org/RhinoTests/JavaScriptSnippets.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/RhinoTests/JavaScriptSnippets.java Tue Nov 20 10:23:57 2012 +0100 @@ -0,0 +1,60 @@ +/* + Rhino test framework + + Copyright (C) 2012 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ + +package org.RhinoTests; + +/** + * Short JavaScript snippets stored in strings. + * + * @author Pavel Tisnovsky + */ +public class JavaScriptSnippets { + + /** + * Empty, but still valid script. + */ + protected static final String EMPTY_SCRIPT_1 = ""; + + /** + * Numeric expression. + */ + protected static final String NUMERIC_EXPRESSION_1 = "1+2*3"; + +} From bugzilla-daemon at icedtea.classpath.org Tue Nov 20 01:28:12 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 09:28:12 +0000 Subject: [Bug 1222] race condition in javac, taking all the CPU. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1222 Stefan Ring changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan at complang.tuwien.ac.a | |t --- Comment #5 from Stefan Ring --- I've also suspected something like this for a while, but I have no evidence. Fact is that I frequently see javac 7 use 1600% CPU, and it uses much more CPU time than javac 6 to do "roughly" the same. I don't know if javac is just that much slower in 7 due to added complexity or if this is an artifact of a concurrency bug. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/1bdfd440/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 20 02:22:01 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 10:22:01 +0000 Subject: [Bug 1222] race condition in javac, taking all the CPU. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1222 --- Comment #6 from Alexandre Bique --- It is for sure a bug. If you run the sample shell script I provided to trigger the bug, the time needed to compile: class conftest { } should be close to nothing. The bug is really easy to reproduce and the more CPU you have the more it triggers. (I have 24 active cores). -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/5412a8e9/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 20 02:26:20 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 10:26:20 +0000 Subject: [Bug 1222] race condition in javac, taking all the CPU. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1222 --- Comment #7 from Alexandre Bique --- Maybe an idea to trigger the bug could be to change the number of threads created in the parser and set it to a fixed value like 242, and see what appends. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/2081af98/attachment.html From jfabriko at redhat.com Tue Nov 20 04:28:22 2012 From: jfabriko at redhat.com (Jana Fabrikova) Date: Tue, 20 Nov 2012 13:28:22 +0100 Subject: [rfc][icedtea-web] adding annotations to JSToJGet reproducer testcases Message-ID: <50AB7766.80601@redhat.com> 2012-11-20 Jana Fabrikova * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: added @KnownToFail annotations to the tests that fail for all browsers Changes to the file JSToJGetTest.java are in the attached patch, Jana -------------- next part -------------- A non-text attachment was scrubbed... Name: adding_annotations_JSToJGet.patch Type: text/x-patch Size: 3175 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/90724509/adding_annotations_JSToJGet.patch From jvanek at redhat.com Tue Nov 20 04:37:31 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 20 Nov 2012 13:37:31 +0100 Subject: [rfc][icedtea-web] adding annotations to JSToJGet reproducer testcases In-Reply-To: <50AB7766.80601@redhat.com> References: <50AB7766.80601@redhat.com> Message-ID: <50AB798B.8040801@redhat.com> On 11/20/2012 01:28 PM, Jana Fabrikova wrote: > 2012-11-20 Jana Fabrikova > > * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: > added @KnownToFail annotations to the tests that fail for all > browsers > > Changes to the file JSToJGetTest.java are in the attached patch, > Jana Yes please, go on. I Would prefere different changelog: * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: added @KnownToFail annotations to the tests, which are showing unimplemented/broken features of js-plugin communication. Sorry that this annotation slipped from review:( J. From jfabriko at icedtea.classpath.org Tue Nov 20 04:46:10 2012 From: jfabriko at icedtea.classpath.org (jfabriko at icedtea.classpath.org) Date: Tue, 20 Nov 2012 12:46:10 +0000 Subject: /hg/icedtea-web: adding annotations of testcases to JSToJGet rep... Message-ID: changeset 45ea456808ac in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=45ea456808ac author: Jana Fabrikova date: Tue Nov 20 13:48:04 2012 +0100 adding annotations of testcases to JSToJGet reproducer diffstat: ChangeLog | 6 +++++ tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java | 12 ++++++++++- 2 files changed, 17 insertions(+), 1 deletions(-) diffs (105 lines): diff -r c61b2db7d32f -r 45ea456808ac ChangeLog --- a/ChangeLog Tue Nov 13 11:18:55 2012 -0500 +++ b/ChangeLog Tue Nov 20 13:48:04 2012 +0100 @@ -1,3 +1,9 @@ +2012-11-20 Jana Fabrikova + + * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: + added @KnownToFail annotations to the tests, which are showing + unimplemented/broken features of js-plugin communication. + 2012-11-13 Adam Domurad Reproducer for PR1198, JSObject#eval creates invalid JS object. diff -r c61b2db7d32f -r 45ea456808ac tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java --- a/tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java Tue Nov 13 11:18:55 2012 -0500 +++ b/tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java Tue Nov 20 13:48:04 2012 +0100 @@ -42,6 +42,7 @@ import net.sourceforge.jnlp.closinglisteners.CountingClosingListener; import net.sourceforge.jnlp.annotations.NeedsDisplay; import net.sourceforge.jnlp.annotations.TestInBrowsers; +import net.sourceforge.jnlp.annotations.KnownToFail; import org.junit.Assert; import org.junit.Test; @@ -140,7 +141,7 @@ @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay public void AppletJSToJGet_int_Test() throws Exception { - jsToJavaGetTest("int", "Test no. 1 - (int)"); + jsToJavaGetTest("int", "Test no. 1 - (int)"); } @Test @@ -223,6 +224,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_Integer_Test() throws Exception { jsToJavaGetTest("Integer", "Test no.13 - (Integer)"); } @@ -230,6 +232,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_Double_Test() throws Exception { jsToJavaGetTest("Double", "Test no.14 - (Double)"); } @@ -237,6 +240,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_Float_Test() throws Exception { jsToJavaGetTest("Float", "Test no.15 - (Float)"); } @@ -244,6 +248,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_Long_Test() throws Exception { jsToJavaGetTest("Long", "Test no.16 - (Long)"); } @@ -251,6 +256,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_Boolean_Test() throws Exception { jsToJavaGetTest("Boolean", "Test no.17 - (Boolean)"); } @@ -258,6 +264,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_Character_Test() throws Exception { jsToJavaGetTest("Character", "Test no.18 - (Character)"); } @@ -265,6 +272,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_Byte_Test() throws Exception { jsToJavaGetTest("Byte", "Test no.19 - (Byte)"); } @@ -272,6 +280,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_DoubleArrayElement_Test() throws Exception { jsToJavaGetTest("DoubleArrayElement", "Test no.20 - (Double[] - element access)"); } @@ -279,6 +288,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJGet_DoubleFullArray_Test() throws Exception { jsToJavaGetTest("DoubleFullArray", "Test no.21 - (Double[] - full array)"); } From jvanek at icedtea.classpath.org Tue Nov 20 04:54:16 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 20 Nov 2012 12:54:16 +0000 Subject: /hg/icedtea-web: Swapped logs and report xslt operations Message-ID: changeset 39c89614be8f in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=39c89614be8f author: Jiri Vanek date: Tue Nov 20 13:55:00 2012 +0100 Swapped logs and report xslt operations diffstat: ChangeLog | 5 +++++ Makefile.am | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diffs (35 lines): diff -r 45ea456808ac -r 39c89614be8f ChangeLog --- a/ChangeLog Tue Nov 20 13:48:04 2012 +0100 +++ b/ChangeLog Tue Nov 20 13:55:00 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-02 Jiri Vanek + + * Makefile.am: (stamps/run-netx-dist-tests.stamp) and + (stamps/run-netx-unit-tests.stamp) Swapped logs and report xslt operations + 2012-11-20 Jana Fabrikova * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: diff -r 45ea456808ac -r 39c89614be8f Makefile.am --- a/Makefile.am Tue Nov 20 13:48:04 2012 +0100 +++ b/Makefile.am Tue Nov 20 13:55:00 2012 +0100 @@ -740,8 +740,8 @@ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath:$(RUNTIME) CommandLine $$class_names if WITH_XSLTPROC + $(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(TEST_EXTENSIONS_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html - $(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html endif touch $@ @@ -917,8 +917,8 @@ CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):. \ $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names if WITH_XSLTPROC + $(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html - $(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html endif mkdir -p stamps && \ touch $@ From jvanek at icedtea.classpath.org Tue Nov 20 04:56:22 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 20 Nov 2012 12:56:22 +0000 Subject: /hg/icedtea-web: Fixed dates in changelog Message-ID: changeset 7205e5aa56e6 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7205e5aa56e6 author: Jiri Vanek date: Tue Nov 20 13:57:25 2012 +0100 Fixed dates in changelog diffstat: ChangeLog | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (9 lines): diff -r 39c89614be8f -r 7205e5aa56e6 ChangeLog --- a/ChangeLog Tue Nov 20 13:55:00 2012 +0100 +++ b/ChangeLog Tue Nov 20 13:57:25 2012 +0100 @@ -1,4 +1,4 @@ -2012-11-02 Jiri Vanek +2012-11-20 Jiri Vanek * Makefile.am: (stamps/run-netx-dist-tests.stamp) and (stamps/run-netx-unit-tests.stamp) Swapped logs and report xslt operations From bugzilla-daemon at icedtea.classpath.org Tue Nov 20 06:16:56 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 14:16:56 +0000 Subject: [Bug 1222] race condition in javac, taking all the CPU. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1222 --- Comment #8 from Andrew John Hughes --- javac is written in Java so there are no pthread_mutex_try_lock() calls, at least directly. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/3f2919cd/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 20 06:20:48 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 14:20:48 +0000 Subject: [Bug 1222] race condition in javac, taking all the CPU. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1222 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com --- Comment #9 from Andrew Haley --- (In reply to comment #8) > javac is written in Java so there are no pthread_mutex_try_lock() calls, at > least directly. They're alll in park(). -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/e9bb1dba/attachment.html From gnu.andrew at redhat.com Tue Nov 20 07:22:48 2012 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Tue, 20 Nov 2012 10:22:48 -0500 (EST) Subject: VisualVM 1.3.5 In-Reply-To: <50AA12FD.5070003@redhat.com> Message-ID: <649105448.3392637.1353424968315.JavaMail.root@redhat.com> ----- Original Message ----- > On 11/19/2012 11:24 AM, Sylvestre Ledru wrote: > > Hello guys, > > > > I was wondering if you are working on the classpath version of > > VisualVM > > 1.3.5 ? (or 1.3.4) > > > > I would like to upload this new version in Debian & Ubuntu. > > > > If you don't have time to manage it, I can do it if you can merge > > my > > changes. > > > > Thanks, > > Sylvestre > > > > PS: My reference is http://icedtea.classpath.org/hg/visualvm > > please apologize if you have an other URL. > > > > Well, maintaining visualVM is my task I'm afraid. But I must admit I > do not have time for it any > more(and also wee al hop eit will be soon rpelaced by Thermostat > tool). I will be happy to merge > your changes. Also I will be happy to let you forward all the release > cycle as VisualVM is really > out of my scope:( > > Release process is little bit time-consuming - > http://icedtea.classpath.org/wiki/IcedTea-Web - so if > you will refuse, feel free to so, and I will hope to add your changes > and then release asap. > > Thanx for notifying! > > J. > > > all the drops belongs to here: > http://icedtea.wildebeest.org/download/visualvm/ > > I can handle it if need be, so please just post the patch. From previous updates, it's a fairly simple patch-release process and I'd like to do a 1.12 release of IcedTea6 soon anyway. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Tue Nov 20 08:09:49 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 20 Nov 2012 16:09:49 +0000 Subject: [Bug 1225] New: sun_java2d_opengl_OGLContext_OGLContextCaps.h not generated Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1225 Priority: P3 Bug ID: 1225 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: sun_java2d_opengl_OGLContext_OGLContextCaps.h not generated Severity: normal Classification: Unclassified OS: Linux Reporter: yoshiki at sendme.email.ne.jp Hardware: sparc64 Status: NEW Version: 6-1.11.5 Component: IcedTea Product: IcedTea I'm trying to build icedtea6-1.11.5 with GCJ 4.4.7 on Linux/SPARC. The build script stopped at the following error. It complains that sun_java2d_opengl_OGLContext_OGLContextCaps.h is not found. In fact, this file included from openjdk-ecj/jdk/src/share/native/sun/java2d/opengl/OGLContext.h seems not be generated during the build process. Is this a bug? Otherwise how to work around this issue? /usr/bin/gcc -O2 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -m64 -g -DARCH='"s64fx"' -Ds64fx -DLINUX -DRELEASE='"1.6.0_24"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/home/c83001/local/include -I/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build-ecj/tmp/sun/sun.awt.X11/xawt/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/javavm/include -I../../../src/solaris/javavm/include -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt/X11 -I../../../src/solaris/native/sun/awt/X11 -I/home/c83001/local/include -DXAWT -DXAWT_HACK -I/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build-ecj/tmp/sun/sun.awt.X11/xawt/../../sun.awt/awt/CClassHeaders -I../../../src/solaris/native/sun/awt -I../../../src/solaris/native/sun/xawt -I../../../src/solaris/native/sun/jdga -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/java2d -I../../../src/share/native/sun/java2d/loops -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/image -I../../../src/share/native/sun/font -I../../../src/solaris/native/sun/java2d -I../../../src/share/native/sun/java2d/pipe -I../../../src/share/native/sun/java2d/opengl -I../../../src/solaris/native/sun/java2d/opengl -I../../../src/solaris/native/sun/java2d/x11 -I../../../src/share/native/sun/dc/path -I../../../src/share/native/sun/dc/doe -I../../../src/share/native/sun/awt/alphacomposite -I../../../src/share/native/sun/awt/medialib -I../../../src/solaris/native/sun/awt/medialib -I../../../src/solaris/native/sun/font -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -I/usr/X11R6/include/X11/extensions -I/usr/include/X11/extensions -I/usr/include -I/usr/X11R6/include -c -o /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build-ecj/tmp/sun/sun.awt.X11/xawt/obj64/awt_GraphicsEnv.o ../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c In file included from ../../../src/solaris/native/sun/java2d/opengl/GLXGraphicsConfig.h:32, from ../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c:37: ../../../src/share/native/sun/java2d/opengl/OGLContext.h:31:57: error: sun_java2d_opengl_OGLContext_OGLContextCaps.h: No such file or directory ../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c: In function 'makeDefaultConfig': ../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c:257: warning: format '%x' expects type 'unsigned int *', but argument 3 has type 'VisualID *' make[6]: *** [/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build-ecj/tmp/sun/sun.awt.X11/xawt/obj64/awt_GraphicsEnv.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[6]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk-ecj/jdk/make/sun/xawt' make[5]: *** [library_parallel_compile] Error 2 make[5]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk-ecj/jdk/make/sun/xawt' make[4]: *** [all] Error 1 make[4]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk-ecj/jdk/make/sun' make[3]: *** [all] Error 1 make[3]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk-ecj/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk-ecj' make[1]: *** [build_product_image] Error 2 make[1]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk-ecj' make: *** [stamps/icedtea-ecj.stamp] Error 2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/047209f6/attachment.html From andrew at icedtea.classpath.org Tue Nov 20 08:12:44 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 20 Nov 2012 16:12:44 +0000 Subject: /hg/icedtea6: RH513605: Updating/Installing OpenJDK should recre... Message-ID: changeset dfe3209fcf64 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dfe3209fcf64 author: Andrew John Hughes date: Tue Nov 20 16:12:30 2012 +0000 RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive 2012-11-20 Andrew John Hughes RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive * Makefile.am: (icedtea-against-icedtea): Depend on add-archive. (clean-icedtea-against-icedtea): Depend on clean-add-archive. (icedtea-debug-against-icedtea): Depend on add-archive-debug. (clean-icedtea-against-icedtea): Depend on clean-add-archive-debug. (add-archive): Run -Xshare:dump on the newly built JDK. (clean-add-archive): Delete stamp. (add-archive-debug): Same as add-archive for icedtea-debug. (clean-add-archive-debug): Same as clean-add-archive for icedtea-debug. (icedtea-ecj-against-icedtea): Depend on add-archive-ecj. (clean-icedtea-against-icedtea): Depend on clean-add-archive-ecj. (add-archive-ecj): Same as add-archive for icedtea-ecj. (clean-add-archive-ecj): Same as clean-add-archive for icedtea-ecj. * NEWS: Mention. diffstat: ChangeLog | 21 ++++++++++++++++++++- Makefile.am | 44 +++++++++++++++++++++++++++++++++++++------- NEWS | 1 + 3 files changed, 58 insertions(+), 8 deletions(-) diffs (146 lines): diff -r 1793e2fb84c5 -r dfe3209fcf64 ChangeLog --- a/ChangeLog Tue Nov 06 18:28:55 2012 +0100 +++ b/ChangeLog Tue Nov 20 16:12:30 2012 +0000 @@ -1,3 +1,22 @@ +2012-11-20 Andrew John Hughes + + RH513605: Updating/Installing OpenJDK should recreate + the shared class-data archive + * Makefile.am: + (icedtea-against-icedtea): Depend on add-archive. + (clean-icedtea-against-icedtea): Depend on clean-add-archive. + (icedtea-debug-against-icedtea): Depend on add-archive-debug. + (clean-icedtea-against-icedtea): Depend on clean-add-archive-debug. + (add-archive): Run -Xshare:dump on the newly built JDK. + (clean-add-archive): Delete stamp. + (add-archive-debug): Same as add-archive for icedtea-debug. + (clean-add-archive-debug): Same as clean-add-archive for icedtea-debug. + (icedtea-ecj-against-icedtea): Depend on add-archive-ecj. + (clean-icedtea-against-icedtea): Depend on clean-add-archive-ecj. + (add-archive-ecj): Same as add-archive for icedtea-ecj. + (clean-add-archive-ecj): Same as clean-add-archive for icedtea-ecj. + * NEWS: Mention. + 2012-11-06 Xerxes R??nby Stefan Ring @@ -20,7 +39,7 @@ Add Garbage Collection dtrace/systemtap probes to hotspot. * tapset/hotspot_gc.stp.in: Systemtap tapset allowing use of GC probes more comfortablely. - + 2012-10-31 Andrew John Hughes * NEWS: Correct bad CVE number given by Oracle. diff -r 1793e2fb84c5 -r dfe3209fcf64 Makefile.am --- a/Makefile.am Tue Nov 06 18:28:55 2012 +0100 +++ b/Makefile.am Tue Nov 20 16:12:30 2012 +0000 @@ -1514,25 +1514,27 @@ stamps/icedtea-against-icedtea.stamp: stamps/icedtea.stamp \ stamps/add-jamvm.stamp stamps/add-cacao.stamp stamps/add-zero.stamp \ - stamps/add-systemtap.stamp stamps/add-pulseaudio.stamp stamps/add-nss.stamp stamps/add-tzdata-support.stamp + stamps/add-systemtap.stamp stamps/add-pulseaudio.stamp stamps/add-nss.stamp stamps/add-tzdata-support.stamp \ + stamps/add-archive.stamp mkdir -p stamps touch stamps/icedtea-against-icedtea.stamp clean-icedtea-against-icedtea: clean-add-jamvm clean-add-zero clean-add-cacao \ - clean-add-systemtap clean-add-pulseaudio \ - clean-add-nss clean-add-tzdata-support + clean-add-systemtap clean-add-pulseaudio clean-add-nss clean-add-tzdata-support \ + clean-add-archive rm -f stamps/icedtea-against-icedtea.stamp stamps/icedtea-debug-against-icedtea.stamp: stamps/icedtea-debug.stamp \ stamps/add-jamvm-debug.stamp stamps/add-cacao-debug.stamp \ stamps/add-zero-debug.stamp stamps/add-systemtap-debug.stamp stamps/add-pulseaudio-debug.stamp \ - stamps/add-nss-debug.stamp stamps/add-tzdata-support-debug.stamp + stamps/add-nss-debug.stamp stamps/add-tzdata-support-debug.stamp stamps/add-archive-debug.stamp mkdir -p stamps touch stamps/icedtea-debug-against-icedtea.stamp clean-icedtea-debug-against-icedtea: clean-add-zero-debug \ clean-add-jamvm-debug clean-add-cacao-debug clean-add-systemtap-debug \ - clean-add-pulseaudio-debug clean-add-nss-debug clean-add-tzdata-support-debug + clean-add-pulseaudio-debug clean-add-nss-debug clean-add-tzdata-support-debug \ + clean-add-archive-debug rm -f stamps/icedtea-debug-against-icedtea.stamp stamps/add-systemtap.stamp: stamps/icedtea.stamp @@ -1766,6 +1768,20 @@ rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties rm -f stamps/add-tzdata-support-debug.stamp +stamps/add-archive.stamp: stamps/icedtea.stamp + $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump + touch stamps/add-archive.stamp + +clean-add-archive: + rm -f stamps/add-archive.stamp + +stamps/add-archive-debug.stamp: stamps/icedtea-debug.stamp + $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump + touch stamps/add-archive-debug.stamp + +clean-add-archive-debug: + rm -f stamps/add-archive-debug.stamp + # OpenJDK ecj Targets # =================== @@ -1786,12 +1802,13 @@ rm -f stamps/icedtea-ecj.stamp stamps/icedtea-against-ecj.stamp: stamps/icedtea-ecj.stamp stamps/add-systemtap-ecj.stamp \ - stamps/add-pulseaudio-ecj.stamp stamps/add-nss-ecj.stamp stamps/add-tzdata-support-ecj.stamp + stamps/add-pulseaudio-ecj.stamp stamps/add-nss-ecj.stamp stamps/add-tzdata-support-ecj.stamp \ + stamps/add-archive-ecj.stamp mkdir -p stamps touch stamps/icedtea-against-ecj.stamp clean-icedtea-against-ecj: clean-add-systemtap-ecj clean-add-pulseaudio-ecj clean-add-nss-ecj \ - clean-add-tzdata-support-ecj + clean-add-tzdata-support-ecj clean-add-archive-ecj rm -f stamps/icedtea-against-ecj.stamp stamps/add-systemtap-ecj.stamp: stamps/icedtea-ecj.stamp @@ -1910,6 +1927,13 @@ rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties rm -f stamps/add-tzdata-support-ecj.stamp +stamps/add-archive-ecj.stamp: stamps/icedtea-ecj.stamp + $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump + touch stamps/add-archive-ecj.stamp + +clean-add-archive-ecj: + rm -f stamps/add-archive-ecj.stamp + # Rebuild targets rebuild: @@ -2495,6 +2519,12 @@ # Target Aliases # =============== +add-archive: stamps/add-archive.stamp + +add-archive-debug: stamps/add-archive-debug.stamp + +add-archive-ecj: stamps/add-archive-ecj.stamp + bootstrap-directory-ecj: stamps/bootstrap-directory-ecj.stamp bootstrap-directory: stamps/bootstrap-directory.stamp diff -r 1793e2fb84c5 -r dfe3209fcf64 NEWS --- a/NEWS Tue Nov 06 18:28:55 2012 +0100 +++ b/NEWS Tue Nov 20 16:12:30 2012 +0000 @@ -56,6 +56,7 @@ are actually missing from the boot JDK - PR1114: Provide option to turn off downloading of tarballs (--disable-downloading) - PR1176: Synchronise CACAO rules between IcedTea6/7/8 where possible + - RH513605: Updating/Installing OpenJDK should recreate the shared class-data archive * CACAO - PR1120: Unified version for icedtea6/7 - CA166, CA167: check-langtools fixes for icedtea6 From adomurad at redhat.com Tue Nov 20 13:05:34 2012 From: adomurad at redhat.com (Adam Domurad) Date: Tue, 20 Nov 2012 16:05:34 -0500 Subject: [rfc][icedtea-web] C++ unit tests support for ITW :D Message-ID: <50ABF09E.4090408@redhat.com> To lay the groundwork for future C++ refactoring I have created a patch that integrates UnitTest++ into the source of icedtea-web. Some notes on design decisions: - Two new folders in tests/, UnitTest++ and cpp-unit-tests. - UnitTest++ contains the source of UnitTest++ (minus test cases which I decided to not copy over for simplicity). The makefile provided is not used, instead a simple for loop over the source is used to compile it in the target for the library. Feel free to advise ways to improve this. - cpp-unit-tests contains the source of the unit tests. Each .cpp file contains test cases that are3 compiled and linked with libUnitTest++.a as well as the object files from the plugin. These as well are compiled using a simple for loop. If you can think of a way to correctly add dependencies for the makefile without too much cruft let me know. - A new make target, make run-cpp-unit-tests runs the unit tests. UnitTest++ was chosen because its lightweight, and only requires that you include a TEST (...) { } definition in .cpp files, no header files required. Two patches are included, one that adds the source from UnitTest++ and does nothing else, and the rest that does the infrastructure to compile and run the unit tests. AddUnitTest++.patch and its ChangeLog attached. ChangeLog for integration: 2012-11-20 Adam Domurad Support for C++ unit testing with UnitTest++ for IcedTeaWeb. * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: New, contains tests for utility functions. * tests/cpp-unit-tests/main.cc: New, contains unit test runner. * plugin/icedteanp/IcedTeaPluginUtils.h: Remove incorrect circular include dependency * plugin/icedteanp/IcedTeaRunnable.h: Add includes necessary for self-sustaining header. * Makefile.am: Add targets for unit test compilation and running, eg 'make run-cpp-unit-tests'. (I toyed around with setting up my Eclipse project for the icedtea-web C++ code to run the unit tests via External Tool, its quite nice like that :) -------------- next part -------------- 2012-11-20 Adam Domurad Add the source code to UnitTest++ into the project. * tests/UnitTest++/COPYING: Part of UnitTest++ * tests/UnitTest++/Makefile: Part of UnitTest++ * tests/UnitTest++/README: Part of UnitTest++ * tests/UnitTest++/src/AssertException.cpp: Part of UnitTest++ * tests/UnitTest++/src/AssertException.h: Part of UnitTest++ * tests/UnitTest++/src/CheckMacros.h: Part of UnitTest++ * tests/UnitTest++/src/Checks.cpp: Part of UnitTest++ * tests/UnitTest++/src/Checks.h: Part of UnitTest++ * tests/UnitTest++/src/Config.h: Part of UnitTest++ * tests/UnitTest++/src/CurrentTest.cpp: Part of UnitTest++ * tests/UnitTest++/src/CurrentTest.h: Part of UnitTest++ * tests/UnitTest++/src/DeferredTestReporter.cpp: Part of UnitTest++ * tests/UnitTest++/src/DeferredTestReporter.h: Part of UnitTest++ * tests/UnitTest++/src/DeferredTestResult.cpp: Part of UnitTest++ * tests/UnitTest++/src/DeferredTestResult.h: Part of UnitTest++ * tests/UnitTest++/src/ExecuteTest.h: Part of UnitTest++ * tests/UnitTest++/src/MemoryOutStream.cpp: Part of UnitTest++ * tests/UnitTest++/src/MemoryOutStream.h: Part of UnitTest++ * tests/UnitTest++/src/Posix/SignalTranslator.cpp: Part of UnitTest++ * tests/UnitTest++/src/Posix/SignalTranslator.h: Part of UnitTest++ * tests/UnitTest++/src/Posix/TimeHelpers.cpp: Part of UnitTest++ * tests/UnitTest++/src/Posix/TimeHelpers.h: Part of UnitTest++ * tests/UnitTest++/src/ReportAssert.cpp: Part of UnitTest++ * tests/UnitTest++/src/ReportAssert.h: Part of UnitTest++ * tests/UnitTest++/src/Test.cpp: Part of UnitTest++ * tests/UnitTest++/src/Test.h: Part of UnitTest++ * tests/UnitTest++/src/TestDetails.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestDetails.h: Part of UnitTest++ * tests/UnitTest++/src/TestList.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestList.h: Part of UnitTest++ * tests/UnitTest++/src/TestMacros.h: Part of UnitTest++ * tests/UnitTest++/src/TestReporter.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestReporter.h: Part of UnitTest++ * tests/UnitTest++/src/TestReporterStdout.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestReporterStdout.h: Part of UnitTest++ * tests/UnitTest++/src/TestResults.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestResults.h: Part of UnitTest++ * tests/UnitTest++/src/TestRunner.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestRunner.h: Part of UnitTest++ * tests/UnitTest++/src/TestSuite.h: Part of UnitTest++ * tests/UnitTest++/src/TimeConstraint.cpp: Part of UnitTest++ * tests/UnitTest++/src/TimeConstraint.h: Part of UnitTest++ * tests/UnitTest++/src/TimeHelpers.h: Part of UnitTest++ * tests/UnitTest++/src/UnitTest++.h: Part of UnitTest++ * tests/UnitTest++/src/XmlTestReporter.cpp: Part of UnitTest++ * tests/UnitTest++/src/XmlTestReporter.h: Part of UnitTest++ -------------- next part -------------- A non-text attachment was scrubbed... Name: AddUnitTest++Source.patch Type: text/x-patch Size: 63191 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/d38a78b6/AddUnitTestSource.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: UnitTest++integration.patch Type: text/x-patch Size: 11519 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121120/d38a78b6/UnitTestintegration.patch From danrollo at gmail.com Tue Nov 20 21:57:10 2012 From: danrollo at gmail.com (Dan Rollo) Date: Wed, 21 Nov 2012 00:57:10 -0500 Subject: jnlp not honoring custom xml parser property? Message-ID: <50AC6D36.2050902@gmail.com> First, apologies if I'm in the totally wrong place to ask this. Please steer me as needed. My java webstart app uses tags in the jnlp to override the default xml parsers, like so: ... ... This works fine on ubuntu and many other places, but on my niffty new Raspberry Pi, I'm getting an error as if the Service Provider contract is not being honoured, and/or as if the class in not in a jar on the classpath. Here's the error trace snippets: Exception in thread "AWT-EventQueue-1" javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:127) at com.bhaweb.studioE.model.DTDResolverStudioE.createDocumentBuilderStudioE(DTDResolverStudioE.java:69) ... Caused by: java.lang.ClassNotFoundException: org/apache/xerces/jaxp/DocumentBuilderFactoryImpl at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at javax.xml.parsers.FactoryFinder.getProviderClass(FactoryFinder.java:123) at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:170) at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:147) at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:211) at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:121) ... 50 more I'm running OpenJDK on my RaspberryPI running Raspbian: $ uname -a Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux $ java -version java version "1.7.0_07" OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1) OpenJDK Zero VM (build 22.0-b10, mixed mode) Any other info I can provide? Thanks! Dan Rollo From ptisnovs at icedtea.classpath.org Wed Nov 21 04:09:48 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 21 Nov 2012 12:09:48 +0000 Subject: /hg/gfx-test: New tests added to the test suite Message-ID: changeset ed3de89b5f79 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ed3de89b5f79 author: Pavel Tisnovsky date: Wed Nov 21 13:12:47 2012 +0100 New tests added to the test suite src/org/gfxtest/testsuites/BitBltBasicTests.java. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBasicTests.java | 165 +++++++++++++++++++++++ 2 files changed, 170 insertions(+), 0 deletions(-) diffs (187 lines): diff -r 1f011b5b03b9 -r ed3de89b5f79 ChangeLog --- a/ChangeLog Tue Nov 20 10:00:28 2012 +0100 +++ b/ChangeLog Wed Nov 21 13:12:47 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-21 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBasicTests.java: + Added new tests. + 2012-11-20 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBasicTests.java: diff -r 1f011b5b03b9 -r ed3de89b5f79 src/org/gfxtest/testsuites/BitBltBasicTests.java --- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Tue Nov 20 10:00:28 2012 +0100 +++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Wed Nov 21 13:12:47 2012 +0100 @@ -1900,6 +1900,171 @@ } /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_INT_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_RGB); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_INT_BGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageTypeIntBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_BGR); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_INT_ARGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_INT_ARGB_PRE. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageType4ByteABGR_PRE(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageTypeByteGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_USHORT_GRAY. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_USHORT_565_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_USHORT_555_RGB. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB); + } + + /** + * Test basic BitBlt operation for diagonal color stripes buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalColorStripesBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d) + { + // create new buffered image and then perform basic BitBlt test. + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR); + } + + /** * Test basic BitBlt operation for black and white dots pattern buffered image * with type TYPE_BYTE_BINARY. * From ptisnovs at icedtea.classpath.org Wed Nov 21 04:22:08 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 21 Nov 2012 12:22:08 +0000 Subject: /hg/rhino-tests: Added five new tests into src/org/RhinoTests/Co... Message-ID: changeset cfb582c14406 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=cfb582c14406 author: Pavel Tisnovsky date: Wed Nov 21 13:25:06 2012 +0100 Added five new tests into src/org/RhinoTests/CompilableTest.java. Added new code snippets into src/org/RhinoTests/JavaScriptSnippets.java. diffstat: ChangeLog | 8 +++ src/org/RhinoTests/CompilableTest.java | 77 +++++++++++++++++++++++++++++- src/org/RhinoTests/JavaScriptSnippets.java | 25 +++++++++ 3 files changed, 109 insertions(+), 1 deletions(-) diffs (144 lines): diff -r 94369d709381 -r cfb582c14406 ChangeLog --- a/ChangeLog Tue Nov 20 10:23:57 2012 +0100 +++ b/ChangeLog Wed Nov 21 13:25:06 2012 +0100 @@ -1,3 +1,11 @@ +2012-11-21 Pavel Tisnovsky + + * src/org/RhinoTests/CompilableTest.java: + Added five new tests. + + * src/org/RhinoTests/JavaScriptSnippets.java: + Added new code snippets. + 2012-11-20 Pavel Tisnovsky * src/org/RhinoTests/JavaScriptSnippets.java: diff -r 94369d709381 -r cfb582c14406 src/org/RhinoTests/CompilableTest.java --- a/src/org/RhinoTests/CompilableTest.java Tue Nov 20 10:23:57 2012 +0100 +++ b/src/org/RhinoTests/CompilableTest.java Wed Nov 21 13:25:06 2012 +0100 @@ -123,7 +123,7 @@ * @throws ScriptException * this exception is thrown when this test case failed. */ - protected void testCompileScriptStoredInString1() throws ScriptException { + protected void testCompileEmptyScriptStoredInString1() throws ScriptException { Compilable compilingEngine = (Compilable)this.scriptEngine; assertNotNull(compilingEngine, "cannot get compiling engine"); if (compilingEngine != null) { @@ -133,6 +133,81 @@ } /** + * Test if it is possible to compile script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileEmptyScriptStoredInString2() throws ScriptException { + Compilable compilingEngine = (Compilable)this.scriptEngine; + assertNotNull(compilingEngine, "cannot get compiling engine"); + if (compilingEngine != null) { + CompiledScript script = compilingEngine.compile(JavaScriptSnippets.EMPTY_SCRIPT_2); + assertNotNull(script, "cannot compile script"); + } + } + + /** + * Test if it is possible to compile script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileEmptyScriptStoredInString3() throws ScriptException { + Compilable compilingEngine = (Compilable)this.scriptEngine; + assertNotNull(compilingEngine, "cannot get compiling engine"); + if (compilingEngine != null) { + CompiledScript script = compilingEngine.compile(JavaScriptSnippets.EMPTY_SCRIPT_3); + assertNotNull(script, "cannot compile script"); + } + } + + /** + * Test if it is possible to compile script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileEmptyScriptStoredInString4() throws ScriptException { + Compilable compilingEngine = (Compilable)this.scriptEngine; + assertNotNull(compilingEngine, "cannot get compiling engine"); + if (compilingEngine != null) { + CompiledScript script = compilingEngine.compile(JavaScriptSnippets.EMPTY_SCRIPT_4); + assertNotNull(script, "cannot compile script"); + } + } + + /** + * Test if it is possible to compile script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileEmptyScriptStoredInString5() throws ScriptException { + Compilable compilingEngine = (Compilable)this.scriptEngine; + assertNotNull(compilingEngine, "cannot get compiling engine"); + if (compilingEngine != null) { + CompiledScript script = compilingEngine.compile(JavaScriptSnippets.EMPTY_SCRIPT_5); + assertNotNull(script, "cannot compile script"); + } + } + + /** + * Test if it is possible to compile script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileEmptyScriptStoredInString6() throws ScriptException { + Compilable compilingEngine = (Compilable)this.scriptEngine; + assertNotNull(compilingEngine, "cannot get compiling engine"); + if (compilingEngine != null) { + CompiledScript script = compilingEngine.compile(JavaScriptSnippets.EMPTY_SCRIPT_6); + assertNotNull(script, "cannot compile script"); + } + } + + /** * Test if it is possible to compile and then run script from a string. * * @throws ScriptException diff -r 94369d709381 -r cfb582c14406 src/org/RhinoTests/JavaScriptSnippets.java --- a/src/org/RhinoTests/JavaScriptSnippets.java Tue Nov 20 10:23:57 2012 +0100 +++ b/src/org/RhinoTests/JavaScriptSnippets.java Wed Nov 21 13:25:06 2012 +0100 @@ -53,6 +53,31 @@ protected static final String EMPTY_SCRIPT_1 = ""; /** + * Almost empty, but still valid script. + */ + protected static final String EMPTY_SCRIPT_2 = " "; + + /** + * Almost empty, but still valid script. + */ + protected static final String EMPTY_SCRIPT_3 = "\t"; + + /** + * Almost empty, but still valid script. + */ + protected static final String EMPTY_SCRIPT_4 = " \t"; + + /** + * Almost empty, but still valid script. + */ + protected static final String EMPTY_SCRIPT_5 = " \t "; + + /** + * Almost empty, but still valid script. + */ + protected static final String EMPTY_SCRIPT_6 = " \t \t "; + + /** * Numeric expression. */ protected static final String NUMERIC_EXPRESSION_1 = "1+2*3"; From ptisnovs at redhat.com Wed Nov 21 05:48:02 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 21 Nov 2012 08:48:02 -0500 (EST) Subject: [fyi] icedtea-web - making browsers tests more stable - softkiller, session backup and it integration to firefox In-Reply-To: <50A66517.6090909@redhat.com> Message-ID: <1726223707.14013955.1353505682231.JavaMail.root@redhat.com> Hi Jiri, First part: - I can't say anything about the softkiller itself ;-), let's have another pair of eyes to look at it - Makefile changes looks ok Second part: - All license headers are now indented by one more char in the diff - I'm not sure how it happened but it don't have to be part of this change - I'm not sure if those new variables should or must be volatile because they are changed and read form two or more threads w/o synchronization: + //signifies that assasin have been summoned + private boolean killing = false; + //signifies that assasin have done its job + private boolean killed = false; - Support for more listeners - OK - listener.lineReaded()... AFAIK "readed" should be written as "read" because it is irregular verb ;) - Following code is a bit strange, some copy & paste error? :) + } catch (NullPointerException ex) { + ex.printStackTrace(); + } //do not want to bother output with terminations + //mostly compaling when assassin kill the process about StreamClosed + //do not want to bother output with terminations + //mostly compaling when assassin kill the process about StreamClosed + public static void closeWindow(String pid) throws Exception { + List ll = new ArrayList(4); <-- should be 2 here? + ll.add(ServerAccess.getInstance().getDir().getParent() + "/softkiller"); + ll.add(pid); - + //signifies that assasin have been summoned - haha we are going to transform IT-web into a game :D - diff -r c61b2db7d32f tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java would be better to have some javadoc with explanation what this class does - huh? + f.delete(); + ; + f.mkdir(); In overall your big patch seems to be correct and giving that tests are now more stable I think it's ok to push it to HEAD. Cheers, Pavel ----- Jiri Vanek wrote: > Hi! > > This is another effort to make browser tests more stable. > > First part - softkiller - is Pavels attempt to close window "like cross is clicked". Hmm It is working... I'm still not sure how. Firefox looks to endure longer without safe mode, but eg opera can not survive it. And eg streams from browsers are flushed more properly. But also some lags are here which make it simetimes unstable. It also contains its integration to ITW make processes. > /me is not taking any responsibility for this part :) > > > Second part is oriented to usage of softkiller where possible and to backuping and restoring of FF sessions(by backuping/restoring profiles). > > To do this I had to do quite large refactoring, so the "executeProcess" logic will possible to accept implementations of some Interfaces, and then will be able to launch the interface's methods. > All the executeProcess have been moved to ProcessWraper class. (old methods in ServerAccess like executeJavaws are now creating ProcessWraper instance). All browsers now Implements ReactableProcess, which can be called > by executeProcess beforeProcess, afterProcess,beforeKill and afterKill. Implementation is done just for firefox, but I believe it will be helpful when other processes eill nedd some tunning. Usage of interface's methods in firefox for backuping/restoring session is quite strightforward then > > > Any hints (especially to this early design) welcomed! > > J. From bugzilla-daemon at icedtea.classpath.org Wed Nov 21 06:46:23 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 21 Nov 2012 14:46:23 +0000 Subject: [Bug 1220] openjdk crashed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 --- Comment #4 from Aristeo Savelli --- Hi. Have you any news ? Today I has the same error -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121121/11945772/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 21 06:52:46 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 21 Nov 2012 14:52:46 +0000 Subject: [Bug 1220] openjdk crashed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1220 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121121/6ef7420b/attachment.html From ptisnovs at redhat.com Wed Nov 21 07:17:39 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 21 Nov 2012 10:17:39 -0500 (EST) Subject: [rfc][icedtea-web] C++ unit tests support for ITW :D In-Reply-To: <50ABF09E.4090408@redhat.com> Message-ID: <1884316626.14062281.1353511059758.JavaMail.root@redhat.com> Hi Adam, ----- Adam Domurad wrote: > To lay the groundwork for future C++ refactoring I have created a patch > that integrates UnitTest++ into the source of icedtea-web. Some notes on > design decisions: Yes, we definitely need *some* unittest tool for C++ side - and to improve code coverage too :-) Some notes: - DOS/Windows EOLs are used in the first patch. I'm not sure how some changes will be handled by diff/patch/Mercurial in such case... > > - Two new folders in tests/, UnitTest++ and cpp-unit-tests. > - UnitTest++ contains the source of UnitTest++ (minus test cases > which I decided to not copy over for simplicity). The makefile provided > is not used, instead a simple for loop over the source is used to > compile it in the target for the library. Feel free to advise ways to > improve this. if you mean this code: + for cppfile in $$(find $(CPP_UNITTEST_FRAMEWORK_SRCDIR) -name '*.cpp') ; \ + do \ + objfile="$(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/$$(basename $${cppfile%.cpp}).o" ; \ + $(CXX) $(CXXFLAGS) -c $$cppfile -o $$objfile || exit 1 ; \ + done ; \ + ar cr $(CPP_UNITTEST_FRAMEWORK_LIB) $(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/*.o ; \ I think this is ok in our case. > - cpp-unit-tests contains the source of the unit tests. Each .cpp > file contains test cases that are3 compiled and linked with > libUnitTest++.a as well as the object files from the plugin. These as > well are compiled using a simple for loop. If you can think of a way to > correctly add dependencies for the makefile without too much cruft let > me know. > - A new make target, make run-cpp-unit-tests runs the unit tests. > > UnitTest++ was chosen because its lightweight, and only requires that > you include a TEST (...) { } definition in .cpp files, no header files > required. > It looks reasonable, but does it have any form of more detailed reports? Or does it just print number of passed and failed tests w/o analyzing code coverage etc. etc.? Still I think it is a very important adition to ITW HEAD! Cheers, Pavel > Two patches are included, one that adds the source from UnitTest++ and > does nothing else, and the rest that does the infrastructure to compile > and run the unit tests. > > AddUnitTest++.patch and its ChangeLog attached. > > ChangeLog for integration: > > 2012-11-20 Adam Domurad > > Support for C++ unit testing with UnitTest++ for IcedTeaWeb. > * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: New, contains tests > for utility functions. > * tests/cpp-unit-tests/main.cc: New, contains unit test runner. > * plugin/icedteanp/IcedTeaPluginUtils.h: Remove incorrect circular > include dependency > * plugin/icedteanp/IcedTeaRunnable.h: Add includes necessary for > self-sustaining header. > * Makefile.am: Add targets for unit test compilation and running, > eg 'make run-cpp-unit-tests'. > > > (I toyed around with setting up my Eclipse project for the icedtea-web > C++ code to run the unit tests via External Tool, its quite nice like > that :) > From adomurad at icedtea.classpath.org Wed Nov 21 07:55:01 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Wed, 21 Nov 2012 15:55:01 +0000 Subject: /hg/icedtea-web: Free two memory leaks Message-ID: changeset b28386115aae in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b28386115aae author: Adam Domurad date: Wed Nov 21 10:54:55 2012 -0500 Free two memory leaks diffstat: ChangeLog | 5 +++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diffs (62 lines): diff -r 7205e5aa56e6 -r b28386115aae ChangeLog --- a/ChangeLog Tue Nov 20 13:57:25 2012 +0100 +++ b/ChangeLog Wed Nov 21 10:54:55 2012 -0500 @@ -1,3 +1,8 @@ +2012-11-21 Adam Domurad + + * plugin/icedteanp/IcedTeaNPPlugin.cc + (consume_plugin_message): Free two buffers returned from NPN_GetValueForURL function. + 2012-11-20 Jiri Vanek * Makefile.am: (stamps/run-netx-dist-tests.stamp) and diff -r 7205e5aa56e6 -r b28386115aae plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Nov 20 13:57:25 2012 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Nov 21 10:54:55 2012 -0500 @@ -1210,7 +1210,7 @@ gchar** parts = g_strsplit (message, " ", 5); if (g_str_has_prefix(parts[1], "PluginProxyInfo")) { - gchar* proxy; + gchar* proxy = NULL; uint32_t len; gchar* decoded_url = (gchar*) calloc(strlen(parts[4]) + 1, sizeof(gchar)); @@ -1220,7 +1220,7 @@ gchar* proxy_info; #if MOZILLA_VERSION_COLLAPSED < 1090100 - proxy = (char*) malloc(sizeof(char)*2048); + proxy = (gchar*) g_malloc(sizeof(char)*2048); #endif proxy_info = g_strconcat ("plugin PluginProxyInfo reference ", parts[3], " ", NULL); @@ -1237,10 +1237,8 @@ g_free(proxy_info); proxy_info = NULL; -#if MOZILLA_VERSION_COLLAPSED < 1090100 g_free(proxy); proxy = NULL; -#endif } else if (g_str_has_prefix(parts[1], "PluginCookieInfo")) { @@ -1248,7 +1246,7 @@ IcedTeaPluginUtilities::decodeURL(parts[4], &decoded_url); gchar* cookie_info = g_strconcat ("plugin PluginCookieInfo reference ", parts[3], " ", NULL); - gchar* cookie_string; + gchar* cookie_string = NULL; uint32_t len; if (get_cookie_info(decoded_url, &cookie_string, &len) == NPERR_NO_ERROR) { @@ -1262,6 +1260,8 @@ decoded_url = NULL; g_free(cookie_info); cookie_info = NULL; + g_free(cookie_string); + cookie_string = NULL; } else if (g_str_has_prefix(parts[1], "PluginSetCookie")) { // Message structure: plugin PluginSetCookie reference -1 From adomurad at icedtea.classpath.org Wed Nov 21 10:16:30 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Wed, 21 Nov 2012 18:16:30 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset dfc88a1018d9 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=dfc88a1018d9 author: Adam Domurad date: Wed Nov 21 12:37:38 2012 -0500 Add UnitTest++ source code into ITW, without integration. changeset c7b7bd6fffb3 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c7b7bd6fffb3 author: Adam Domurad date: Wed Nov 21 13:09:54 2012 -0500 Unit test integration for UnitTest++ with icedtea-web diffstat: ChangeLog | 63 +++++++++ Makefile.am | 78 +++++++++++- plugin/icedteanp/IcedTeaPluginUtils.h | 3 +- plugin/icedteanp/IcedTeaRunnable.h | 3 + tests/UnitTest++/COPYING | 20 +++ tests/UnitTest++/Makefile | 96 ++++++++++++++ tests/UnitTest++/README | 68 ++++++++++ tests/UnitTest++/src/AssertException.cpp | 34 +++++ tests/UnitTest++/src/AssertException.h | 28 ++++ tests/UnitTest++/src/CheckMacros.h | 122 ++++++++++++++++++ tests/UnitTest++/src/Checks.cpp | 50 +++++++ tests/UnitTest++/src/Checks.h | 158 ++++++++++++++++++++++++ tests/UnitTest++/src/Config.h | 31 ++++ tests/UnitTest++/src/CurrentTest.cpp | 18 ++ tests/UnitTest++/src/CurrentTest.h | 17 ++ tests/UnitTest++/src/DeferredTestReporter.cpp | 29 ++++ tests/UnitTest++/src/DeferredTestReporter.h | 28 ++++ tests/UnitTest++/src/DeferredTestResult.cpp | 25 +++ tests/UnitTest++/src/DeferredTestResult.h | 29 ++++ tests/UnitTest++/src/ExecuteTest.h | 46 ++++++ tests/UnitTest++/src/MemoryOutStream.cpp | 149 ++++++++++++++++++++++ tests/UnitTest++/src/MemoryOutStream.h | 67 ++++++++++ tests/UnitTest++/src/Posix/SignalTranslator.cpp | 46 ++++++ tests/UnitTest++/src/Posix/SignalTranslator.h | 42 ++++++ tests/UnitTest++/src/Posix/TimeHelpers.cpp | 33 +++++ tests/UnitTest++/src/Posix/TimeHelpers.h | 28 ++++ tests/UnitTest++/src/ReportAssert.cpp | 10 + tests/UnitTest++/src/ReportAssert.h | 10 + tests/UnitTest++/src/Test.cpp | 41 ++++++ tests/UnitTest++/src/Test.h | 34 +++++ tests/UnitTest++/src/TestDetails.cpp | 22 +++ tests/UnitTest++/src/TestDetails.h | 24 +++ tests/UnitTest++/src/TestList.cpp | 39 +++++ tests/UnitTest++/src/TestList.h | 32 ++++ tests/UnitTest++/src/TestMacros.h | 113 +++++++++++++++++ tests/UnitTest++/src/TestReporter.cpp | 10 + tests/UnitTest++/src/TestReporter.h | 20 +++ tests/UnitTest++/src/TestReporterStdout.cpp | 41 ++++++ tests/UnitTest++/src/TestReporterStdout.h | 19 ++ tests/UnitTest++/src/TestResults.cpp | 60 +++++++++ tests/UnitTest++/src/TestResults.h | 36 +++++ tests/UnitTest++/src/TestRunner.cpp | 76 +++++++++++ tests/UnitTest++/src/TestRunner.h | 61 +++++++++ tests/UnitTest++/src/TestSuite.h | 14 ++ tests/UnitTest++/src/TimeConstraint.cpp | 29 ++++ tests/UnitTest++/src/TimeConstraint.h | 33 +++++ tests/UnitTest++/src/TimeHelpers.h | 7 + tests/UnitTest++/src/UnitTest++.h | 18 ++ tests/UnitTest++/src/XmlTestReporter.cpp | 127 +++++++++++++++++++ tests/UnitTest++/src/XmlTestReporter.h | 34 +++++ tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc | 48 +++++++ tests/cpp-unit-tests/main.cc | 105 +++++++++++++++ 52 files changed, 2371 insertions(+), 3 deletions(-) diffs (truncated from 2631 to 500 lines): diff -r b28386115aae -r c7b7bd6fffb3 ChangeLog --- a/ChangeLog Wed Nov 21 10:54:55 2012 -0500 +++ b/ChangeLog Wed Nov 21 13:09:54 2012 -0500 @@ -1,3 +1,66 @@ +2012-11-21 Adam Domurad + + Support for C++ unit testing with UnitTest++ for IcedTeaWeb. + * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: New, contains tests + for utility functions. + * tests/cpp-unit-tests/main.cc: New, contains unit test runner. + * plugin/icedteanp/IcedTeaPluginUtils.h: Remove incorrect circular + include dependency + * plugin/icedteanp/IcedTeaRunnable.h: Add includes necessary for + self-sustaining header. + * Makefile.am: Add targets for unit test compilation and running, + eg 'make run-cpp-unit-tests'. + +2012-11-21 Adam Domurad + + Add the source code to UnitTest++ into the project. + * tests/UnitTest++/COPYING: Part of UnitTest++ + * tests/UnitTest++/Makefile: Part of UnitTest++ + * tests/UnitTest++/README: Part of UnitTest++ + * tests/UnitTest++/src/AssertException.cpp: Part of UnitTest++ + * tests/UnitTest++/src/AssertException.h: Part of UnitTest++ + * tests/UnitTest++/src/CheckMacros.h: Part of UnitTest++ + * tests/UnitTest++/src/Checks.cpp: Part of UnitTest++ + * tests/UnitTest++/src/Checks.h: Part of UnitTest++ + * tests/UnitTest++/src/Config.h: Part of UnitTest++ + * tests/UnitTest++/src/CurrentTest.cpp: Part of UnitTest++ + * tests/UnitTest++/src/CurrentTest.h: Part of UnitTest++ + * tests/UnitTest++/src/DeferredTestReporter.cpp: Part of UnitTest++ + * tests/UnitTest++/src/DeferredTestReporter.h: Part of UnitTest++ + * tests/UnitTest++/src/DeferredTestResult.cpp: Part of UnitTest++ + * tests/UnitTest++/src/DeferredTestResult.h: Part of UnitTest++ + * tests/UnitTest++/src/ExecuteTest.h: Part of UnitTest++ + * tests/UnitTest++/src/MemoryOutStream.cpp: Part of UnitTest++ + * tests/UnitTest++/src/MemoryOutStream.h: Part of UnitTest++ + * tests/UnitTest++/src/Posix/SignalTranslator.cpp: Part of UnitTest++ + * tests/UnitTest++/src/Posix/SignalTranslator.h: Part of UnitTest++ + * tests/UnitTest++/src/Posix/TimeHelpers.cpp: Part of UnitTest++ + * tests/UnitTest++/src/Posix/TimeHelpers.h: Part of UnitTest++ + * tests/UnitTest++/src/ReportAssert.cpp: Part of UnitTest++ + * tests/UnitTest++/src/ReportAssert.h: Part of UnitTest++ + * tests/UnitTest++/src/Test.cpp: Part of UnitTest++ + * tests/UnitTest++/src/Test.h: Part of UnitTest++ + * tests/UnitTest++/src/TestDetails.cpp: Part of UnitTest++ + * tests/UnitTest++/src/TestDetails.h: Part of UnitTest++ + * tests/UnitTest++/src/TestList.cpp: Part of UnitTest++ + * tests/UnitTest++/src/TestList.h: Part of UnitTest++ + * tests/UnitTest++/src/TestMacros.h: Part of UnitTest++ + * tests/UnitTest++/src/TestReporter.cpp: Part of UnitTest++ + * tests/UnitTest++/src/TestReporter.h: Part of UnitTest++ + * tests/UnitTest++/src/TestReporterStdout.cpp: Part of UnitTest++ + * tests/UnitTest++/src/TestReporterStdout.h: Part of UnitTest++ + * tests/UnitTest++/src/TestResults.cpp: Part of UnitTest++ + * tests/UnitTest++/src/TestResults.h: Part of UnitTest++ + * tests/UnitTest++/src/TestRunner.cpp: Part of UnitTest++ + * tests/UnitTest++/src/TestRunner.h: Part of UnitTest++ + * tests/UnitTest++/src/TestSuite.h: Part of UnitTest++ + * tests/UnitTest++/src/TimeConstraint.cpp: Part of UnitTest++ + * tests/UnitTest++/src/TimeConstraint.h: Part of UnitTest++ + * tests/UnitTest++/src/TimeHelpers.h: Part of UnitTest++ + * tests/UnitTest++/src/UnitTest++.h: Part of UnitTest++ + * tests/UnitTest++/src/XmlTestReporter.cpp: Part of UnitTest++ + * tests/UnitTest++/src/XmlTestReporter.h: Part of UnitTest++ + 2012-11-21 Adam Domurad * plugin/icedteanp/IcedTeaNPPlugin.cc diff -r b28386115aae -r c7b7bd6fffb3 Makefile.am --- a/Makefile.am Wed Nov 21 10:54:55 2012 -0500 +++ b/Makefile.am Wed Nov 21 13:09:54 2012 -0500 @@ -25,6 +25,9 @@ export TEST_EXTENSIONS_TESTS_SRCDIR=$(TESTS_SRCDIR)/test-extensions-tests export REPRODUCERS_TESTS_SRCDIR=$(TESTS_SRCDIR)/reproducers export TEST_EXTENSIONS_DIR=$(TESTS_DIR)/test-extensions +export CPP_UNITTEST_FRAMEWORK_SRCDIR=$(TESTS_SRCDIR)/UnitTest++ +export CPP_UNITTEST_SRCDIR=$(TESTS_SRCDIR)/cpp-unit-tests +export CPP_UNITTEST_DIR=$(TESTS_DIR)/cpp-unit-tests export TEST_EXTENSIONS_COMPATIBILITY_SYMLINK=$(TESTS_DIR)/netx/jnlp_testsengine export TEST_EXTENSIONS_TESTS_DIR=$(TESTS_DIR)/test-extensions-tests export REPRODUCERS_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/reproducers_test_server_deploydir @@ -61,6 +64,10 @@ export OPERA_GLOBAL64_PLUGINDIR=/usr/lib64/opera/plugins export OPERA_GLOBAL32_PLUGINDIR=/usr/lib/opera/plugins export BUILT_PLUGIN_LIBRARY=IcedTeaPlugin.so +export CPP_UNITTEST_FRAMEWORK_BUILDDIR=$(CPP_UNITTEST_DIR)/UnitTest++ +export CPP_UNITTEST_FRAMEWORK_LIB_NAME=libUnitTest++.a +export CPP_UNITTEST_FRAMEWORK_LIB=$(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/$(CPP_UNITTEST_FRAMEWORK_LIB_NAME) +export CPP_UNITTEST_EXECUTABLE=$(CPP_UNITTEST_DIR)/IcedTeaPluginUnitTests export MOZILLA_LOCAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origU export MOZILLA_GLOBAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origMG export OPERA_GLOBAL_BACKUP_FILE=${HOME}/$(PLUGIN_LINK_NAME).origOG @@ -288,6 +295,75 @@ $(MOZILLA_LIBS) \ -shared -o $@ +# Start of CPP Unit test targets + +# Note that UnitTest++ has its own makefile, however this is avoided because it creates an in-source build. +$(CPP_UNITTEST_FRAMEWORK_LIB): $(CPP_UNITTEST_FRAMEWORK_SRCDIR) + mkdir -p $(CPP_UNITTEST_FRAMEWORK_BUILDDIR) && \ + pushd $(CPP_UNITTEST_FRAMEWORK_SRCDIR) && \ + for cppfile in $$(find $(CPP_UNITTEST_FRAMEWORK_SRCDIR) -name '*.cpp') ; \ + do \ + objfile="$(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/$$(basename $${cppfile%.cpp}).o" ; \ + $(CXX) $(CXXFLAGS) -c $$cppfile -o $$objfile || exit 1 ; \ + done ; \ + ar cr $(CPP_UNITTEST_FRAMEWORK_LIB) $(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/*.o ; \ + popd + +clean-unittest++: + rm $(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/*.o + rm $(CPP_UNITTEST_FRAMEWORK_LIB) + rmdir $(CPP_UNITTEST_FRAMEWORK_BUILDDIR) + rmdir $(CPP_UNITTEST_DIR) &> /dev/null + +stamps/cpp-unit-tests-compile.stamp: $(CPP_UNITTEST_FRAMEWORK_LIB) $(CPP_UNITTEST_SRCDIR) $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS)) + mkdir -p $(CPP_UNITTEST_DIR) && \ + pushd $(CPP_UNITTEST_SRCDIR) && \ + for cppfile in $$(find $(CPP_UNITTEST_SRCDIR) -name '*.cc') ; \ + do \ + objfile="$(CPP_UNITTEST_DIR)/$$(basename $${cppfile%.cc}).o" ; \ + echo "Compiling $$cppfile to $$objfile"; \ + $(CXX) $(CXXFLAGS) \ + $(DEFS) $(VERSION_DEFS) \ + -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ + -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \ + -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ + -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \ + -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ + -DICEDTEA_WEB_JRE="\"$(SYSTEM_JRE_DIR)\"" \ + -DPLUGIN_BOOTCLASSPATH=$(PLUGIN_BOOTCLASSPATH) \ + $(GLIB_CFLAGS) \ + $(GTK_CFLAGS) \ + $(MOZILLA_CFLAGS) \ + "-I$(CPP_UNITTEST_FRAMEWORK_SRCDIR)/src" \ + "-I$(PLUGIN_SRCDIR)" \ + -o $$objfile -c $$cppfile || exit 1 ; \ + done ; \ + popd ; \ + mkdir -p stamps ; \ + touch $@ + +$(CPP_UNITTEST_EXECUTABLE): $(CPP_UNITTEST_FRAMEWORK_LIB) stamps/cpp-unit-tests-compile.stamp + cd $(CPP_UNITTEST_DIR) && \ + $(CXX) $(CXXFLAGS) \ + $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS)) \ + $(CPP_UNITTEST_DIR)/*.o \ + $(GLIB_LIBS) \ + $(GTK_LIBS) \ + $(MOZILLA_LIBS) \ + $(CPP_UNITTEST_FRAMEWORK_LIB)\ + $(BUILT_CPP_UNIT_TEST_FRAMEWORK) -o $@ + +clean-cpp-unit-tests: + rm stamps/cpp-unit-tests-compile.stamp &> /dev/null + rm $(CPP_UNITTEST_EXECUTABLE) + rm $(CPP_UNITTEST_DIR)/*.o + rmdir $(CPP_UNITTEST_DIR) &> /dev/null + +run-cpp-unit-tests: $(CPP_UNITTEST_EXECUTABLE) + $(CPP_UNITTEST_EXECUTABLE) + +# End of CPP Unit test targets + clean-IcedTeaPlugin: rm -f $(PLUGIN_DIR)/*.o rm -f $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY) @@ -494,7 +570,7 @@ # check # ========================== -clean-tests: clean-netx-tests +clean-tests: clean-netx-tests clean-cpp-unit-tests clean-unittest++ if [ -e $(TESTS_DIR) ]; then \ rmdir $(TESTS_DIR) ; \ fi diff -r b28386115aae -r c7b7bd6fffb3 plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Wed Nov 21 10:54:55 2012 -0500 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Wed Nov 21 13:09:54 2012 -0500 @@ -56,6 +56,7 @@ #include #include +#include #if MOZILLA_VERSION_COLLAPSED < 1090100 #include @@ -64,8 +65,6 @@ #include #endif -#include "IcedTeaNPPlugin.h" - #define PLUGIN_DEBUG(...) \ do \ { \ diff -r b28386115aae -r c7b7bd6fffb3 plugin/icedteanp/IcedTeaRunnable.h --- a/plugin/icedteanp/IcedTeaRunnable.h Wed Nov 21 10:54:55 2012 -0500 +++ b/plugin/icedteanp/IcedTeaRunnable.h Wed Nov 21 13:09:54 2012 -0500 @@ -42,6 +42,9 @@ #define MOZILLA 1 #if MOZILLA +#include +#include + #if MOZILLA_VERSION_COLLAPSED < 1090100 #include #include diff -r b28386115aae -r c7b7bd6fffb3 tests/UnitTest++/COPYING --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/UnitTest++/COPYING Wed Nov 21 13:09:54 2012 -0500 @@ -0,0 +1,20 @@ +Copyright (c) 2006 Noel Llopis and Charles Nicholson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff -r b28386115aae -r c7b7bd6fffb3 tests/UnitTest++/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/UnitTest++/Makefile Wed Nov 21 13:09:54 2012 -0500 @@ -0,0 +1,96 @@ +CXX = g++ +CXXFLAGS ?= -g -Wall -W -ansi # -pedantic +LDFLAGS ?= +SED = sed +MV = mv +RM = rm + +.SUFFIXES: .o .cpp + +lib = libUnitTest++.a +test = TestUnitTest++ + +src = src/AssertException.cpp \ + src/Test.cpp \ + src/Checks.cpp \ + src/TestRunner.cpp \ + src/TestResults.cpp \ + src/TestReporter.cpp \ + src/TestReporterStdout.cpp \ + src/ReportAssert.cpp \ + src/TestList.cpp \ + src/TimeConstraint.cpp \ + src/TestDetails.cpp \ + src/MemoryOutStream.cpp \ + src/DeferredTestReporter.cpp \ + src/DeferredTestResult.cpp \ + src/XmlTestReporter.cpp \ + src/CurrentTest.cpp + +ifeq ($(MSYSTEM), MINGW32) + src += src/Win32/TimeHelpers.cpp +else + src += src/Posix/SignalTranslator.cpp \ + src/Posix/TimeHelpers.cpp +endif + +test_src = src/tests/Main.cpp \ + src/tests/TestAssertHandler.cpp \ + src/tests/TestChecks.cpp \ + src/tests/TestUnitTest++.cpp \ + src/tests/TestTest.cpp \ + src/tests/TestTestResults.cpp \ + src/tests/TestTestRunner.cpp \ + src/tests/TestCheckMacros.cpp \ + src/tests/TestTestList.cpp \ + src/tests/TestTestMacros.cpp \ + src/tests/TestTimeConstraint.cpp \ + src/tests/TestTimeConstraintMacro.cpp \ + src/tests/TestMemoryOutStream.cpp \ + src/tests/TestDeferredTestReporter.cpp \ + src/tests/TestXmlTestReporter.cpp \ + src/tests/TestCurrentTest.cpp + +objects = $(patsubst %.cpp, %.o, $(src)) +test_objects = $(patsubst %.cpp, %.o, $(test_src)) +dependencies = $(subst .o,.d,$(objects)) +test_dependencies = $(subst .o,.d,$(test_objects)) + +define make-depend + $(CXX) $(CXXFLAGS) -M $1 | \ + $(SED) -e 's,\($(notdir $2)\) *:,$(dir $2)\1: ,' > $3.tmp + $(SED) -e 's/#.*//' \ + -e 's/^[^:]*: *//' \ + -e 's/ *\\$$//' \ + -e '/^$$/ d' \ + -e 's/$$/ :/' $3.tmp >> $3.tmp + $(MV) $3.tmp $3 +endef + + +all: $(lib) + + +$(lib): $(objects) + @echo Creating $(lib) library... + @ar cr $(lib) $(objects) + +$(test): $(lib) $(test_objects) + @echo Linking $(test)... + @$(CXX) $(LDFLAGS) -o $(test) $(test_objects) $(lib) + @echo Running unit tests... + @./$(test) + +clean: + -@$(RM) $(objects) $(test_objects) $(dependencies) $(test_dependencies) $(test) $(lib) 2> /dev/null + +%.o : %.cpp + @echo $< + @$(call make-depend,$<,$@,$(subst .o,.d,$@)) + @$(CXX) $(CXXFLAGS) -c $< -o $(patsubst %.cpp, %.o, $<) + + +ifneq "$(MAKECMDGOALS)" "clean" +-include $(dependencies) +-include $(test_dependencies) +endif diff -r b28386115aae -r c7b7bd6fffb3 tests/UnitTest++/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/UnitTest++/README Wed Nov 21 13:09:54 2012 -0500 @@ -0,0 +1,68 @@ +UnitTest++ README +Version: v1.4 +Last update: 2008-10-30 + +UnitTest++ is free software. You may copy, distribute, and modify it under +the terms of the License contained in the file COPYING distributed +with this package. This license is the same as the MIT/X Consortium +license. + +See src/tests/TestUnitTest++.cpp for usage. + +Authors: +Noel Llopis (llopis at convexhull.com) +Charles Nicholson (charles.nicholson at gmail.com) + +Contributors: +Jim Tilander +Kim Grasman +Jonathan Jansson +Dirck Blaskey +Rory Driscoll +Dan Lind +Matt Kimmel -- Submitted with permission from Blue Fang Games +Anthony Moralez +Jeff Dixon +Randy Coulman +Lieven van der Heide + +Release notes: +-------------- +Version 1.4 (2008-10-30) +- CHECK macros work at arbitrary stack depth from inside TESTs. +- Remove obsolete TEST_UTILITY macros +- Predicated test execution (via TestRunner::RunTestsIf) +- Better exception handling for fixture ctors/dtors. +- VC6/7/8/9 support + +Version 1.3 (2007-4-22) +- Removed dynamic memory allocations (other than streams) +- MinGW support +- Consistent (native) line endings +- Minor bug fixing + +Version 1.2 (2006-10-29) +- First pass at documentation. +- More detailed error crash catching in fixtures. +- Standard streams used for printing objects under check. This should allow the + use of standard class types such as std::string or other custom classes with + stream operators to ostream. +- Standard streams can be optionally compiled off by defining UNITTEST_USE_CUSTOM_STREAMS + in Config.h +- Added named test suites +- Added CHECK_ARRAY2D_CLOSE +- Posix library name is libUnitTest++.a now +- Floating point numbers are postfixed with f in the failure reports + +Version 1.1 (2006-04-18) +- CHECK macros do not have side effects even if one of the parameters changes state +- Removed CHECK_ARRAY_EQUAL (too similar to CHECK_ARRAY_CLOSE) +- Added local and global time constraints +- Removed dependencies on strstream +- Improved Posix signal to exception translator +- Failing tests are added to Visual Studio's error list +- Fixed Visual Studio projects to work with spaces in directories + +Version 1.0 (2006-03-15) +- Initial release + diff -r b28386115aae -r c7b7bd6fffb3 tests/UnitTest++/src/AssertException.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/UnitTest++/src/AssertException.cpp Wed Nov 21 13:09:54 2012 -0500 @@ -0,0 +1,34 @@ +#include "AssertException.h" +#include + +namespace UnitTest { + +AssertException::AssertException(char const* description, char const* filename, int lineNumber) + : m_lineNumber(lineNumber) +{ + using namespace std; + + strcpy(m_description, description); + strcpy(m_filename, filename); +} + +AssertException::~AssertException() throw() +{ +} + +char const* AssertException::what() const throw() +{ + return m_description; +} + +char const* AssertException::Filename() const +{ + return m_filename; +} + +int AssertException::LineNumber() const +{ + return m_lineNumber; +} + +} diff -r b28386115aae -r c7b7bd6fffb3 tests/UnitTest++/src/AssertException.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/UnitTest++/src/AssertException.h Wed Nov 21 13:09:54 2012 -0500 @@ -0,0 +1,28 @@ +#ifndef UNITTEST_ASSERTEXCEPTION_H +#define UNITTEST_ASSERTEXCEPTION_H + +#include + + +namespace UnitTest { + +class AssertException : public std::exception +{ +public: + AssertException(char const* description, char const* filename, int lineNumber); + virtual ~AssertException() throw(); + + virtual char const* what() const throw(); + + char const* Filename() const; + int LineNumber() const; + +private: + char m_description[512]; + char m_filename[256]; + int m_lineNumber; +}; + +} + +#endif diff -r b28386115aae -r c7b7bd6fffb3 tests/UnitTest++/src/CheckMacros.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/UnitTest++/src/CheckMacros.h Wed Nov 21 13:09:54 2012 -0500 @@ -0,0 +1,122 @@ +#ifndef UNITTEST_CHECKMACROS_H +#define UNITTEST_CHECKMACROS_H + +#include "Checks.h" +#include "AssertException.h" +#include "MemoryOutStream.h" +#include "TestDetails.h" +#include "CurrentTest.h" + +#ifdef CHECK + #error UnitTest++ redefines CHECK +#endif + +#ifdef CHECK_EQUAL + #error UnitTest++ redefines CHECK_EQUAL +#endif + +#ifdef CHECK_CLOSE From smohammad at redhat.com Wed Nov 21 10:26:14 2012 From: smohammad at redhat.com (Saad Mohammad) Date: Wed, 21 Nov 2012 13:26:14 -0500 Subject: [RFC][icedtea-web]: Set plugin JVM options in itw-settings In-Reply-To: <509130B7.8090508@redhat.com> References: <508ED961.4070705@redhat.com> <509130B7.8090508@redhat.com> Message-ID: <50AD1CC6.2060103@redhat.com> Thanks Adam and Omair for your feedback. I improved the patch (mostly on the C++ side) and it now works well with multiple jvm arguments. I removed the 'clean up' part from my earlier patch since Omair pointed out it had been previously discussed and there was a disagreement towards that approach. Also to answer one of Omair's question, there are no user-visible performance differences using this approach of spawning a JVM to retrieve arguments. Bug Report: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1217 CHANGELOG ======================================================================== 2012-11-21 Saad Mohammad Added new option in itw-settings which allows users to set JVM arguments when plugin is initialized. * netx/net/sourceforge/jnlp/config/Defaults.java (getDefaults): Added defaults for DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Added new property (KEY_PLUGIN_JVM_ARGUMENTS) which stores the value of JVM plugin arguments. * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: (createMainSettingsPanel): Added JVM settings to the list of tabs. (createJVMSettingsPanel): Returns a new JVMPanel object. * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java: JVM settings panel. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added a new items (CPJVMPluginArguments, CPHeadJVMSettings, CPTabJVMSettings). * plugin/icedteanp/IcedTeaNPPlugin.cc: (plugin_start_appletviewer): Adds JVM arguments to the commands that initalize it. (get_jvm_args): Returns JVM arguments set in itw-settings. (tokenize_char_to_vector): Split string into vector separated by newlines and spaces. ======================================================================== -- Cheers, Saad Mohammad -------------- next part -------------- A non-text attachment was scrubbed... Name: changelog0-2.patch Type: text/x-patch Size: 1351 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121121/65321284/changelog0-2.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: implementation0-2.patch Type: text/x-patch Size: 14766 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121121/65321284/implementation0-2.patch From adomurad at redhat.com Wed Nov 21 11:18:09 2012 From: adomurad at redhat.com (Adam Domurad) Date: Wed, 21 Nov 2012 14:18:09 -0500 Subject: [fyi][icedtea-web] Fixing 'make clean' after unittest integration Message-ID: <50AD28F1.6070200@redhat.com> Thanks to Saad for pointing this out and confirming the fix! ChangeLog: 2012-11-21 Adam Domurad * Makefile.am: Fix new clean targets not cleaning properly diff --git a/Makefile.am b/Makefile.am --- a/Makefile.am +++ b/Makefile.am @@ -310,10 +310,11 @@ PLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedTea popd clean-unittest++: - rm $(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/*.o - rm $(CPP_UNITTEST_FRAMEWORK_LIB) - rmdir $(CPP_UNITTEST_FRAMEWORK_BUILDDIR) - rmdir $(CPP_UNITTEST_DIR) &> /dev/null + rm -f $(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/*.o + rm -f $(CPP_UNITTEST_FRAMEWORK_LIB) + if [ -e $(CPP_UNITTEST_FRAMEWORK_BUILDDIR) ] ; then \ + rmdir $(CPP_UNITTEST_FRAMEWORK_BUILDDIR) ; \ + fi stamps/cpp-unit-tests-compile.stamp: $(CPP_UNITTEST_FRAMEWORK_LIB) $(CPP_UNITTEST_SRCDIR) $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS)) mkdir -p $(CPP_UNITTEST_DIR) && \ @@ -354,10 +355,9 @@ stamps/cpp-unit-tests-compile.stamp: $(C $(BUILT_CPP_UNIT_TEST_FRAMEWORK) -o $@ clean-cpp-unit-tests: - rm stamps/cpp-unit-tests-compile.stamp &> /dev/null - rm $(CPP_UNITTEST_EXECUTABLE) - rm $(CPP_UNITTEST_DIR)/*.o - rmdir $(CPP_UNITTEST_DIR) &> /dev/null + rm -f stamps/cpp-unit-tests-compile.stamp + rm -f $(CPP_UNITTEST_EXECUTABLE) + rm -f $(CPP_UNITTEST_DIR)/*.o run-cpp-unit-tests: $(CPP_UNITTEST_EXECUTABLE) $(CPP_UNITTEST_EXECUTABLE) @@ -571,6 +571,9 @@ clean-plugin-docs: # ========================== clean-tests: clean-netx-tests clean-cpp-unit-tests clean-unittest++ + if [ -e $(CPP_UNITTEST_DIR) ] ; then \ + rmdir $(CPP_UNITTEST_DIR) ; \ + fi if [ -e $(TESTS_DIR) ]; then \ rmdir $(TESTS_DIR) ; \ fi From adomurad at icedtea.classpath.org Wed Nov 21 11:18:37 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Wed, 21 Nov 2012 19:18:37 +0000 Subject: /hg/icedtea-web: Fix new make targets not cleaning properly Message-ID: changeset 4cd65d83965b in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=4cd65d83965b author: Adam Domurad date: Wed Nov 21 14:18:31 2012 -0500 Fix new make targets not cleaning properly diffstat: ChangeLog | 4 ++++ Makefile.am | 19 +++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diffs (54 lines): diff -r c7b7bd6fffb3 -r 4cd65d83965b ChangeLog --- a/ChangeLog Wed Nov 21 13:09:54 2012 -0500 +++ b/ChangeLog Wed Nov 21 14:18:31 2012 -0500 @@ -1,3 +1,7 @@ +2012-11-21 Adam Domurad + + * Makefile.am: Fix new clean targets not cleaning properly + 2012-11-21 Adam Domurad Support for C++ unit testing with UnitTest++ for IcedTeaWeb. diff -r c7b7bd6fffb3 -r 4cd65d83965b Makefile.am --- a/Makefile.am Wed Nov 21 13:09:54 2012 -0500 +++ b/Makefile.am Wed Nov 21 14:18:31 2012 -0500 @@ -310,10 +310,11 @@ popd clean-unittest++: - rm $(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/*.o - rm $(CPP_UNITTEST_FRAMEWORK_LIB) - rmdir $(CPP_UNITTEST_FRAMEWORK_BUILDDIR) - rmdir $(CPP_UNITTEST_DIR) &> /dev/null + rm -f $(CPP_UNITTEST_FRAMEWORK_BUILDDIR)/*.o + rm -f $(CPP_UNITTEST_FRAMEWORK_LIB) + if [ -e $(CPP_UNITTEST_FRAMEWORK_BUILDDIR) ] ; then \ + rmdir $(CPP_UNITTEST_FRAMEWORK_BUILDDIR) ; \ + fi stamps/cpp-unit-tests-compile.stamp: $(CPP_UNITTEST_FRAMEWORK_LIB) $(CPP_UNITTEST_SRCDIR) $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS)) mkdir -p $(CPP_UNITTEST_DIR) && \ @@ -354,10 +355,9 @@ $(BUILT_CPP_UNIT_TEST_FRAMEWORK) -o $@ clean-cpp-unit-tests: - rm stamps/cpp-unit-tests-compile.stamp &> /dev/null - rm $(CPP_UNITTEST_EXECUTABLE) - rm $(CPP_UNITTEST_DIR)/*.o - rmdir $(CPP_UNITTEST_DIR) &> /dev/null + rm -f stamps/cpp-unit-tests-compile.stamp + rm -f $(CPP_UNITTEST_EXECUTABLE) + rm -f $(CPP_UNITTEST_DIR)/*.o run-cpp-unit-tests: $(CPP_UNITTEST_EXECUTABLE) $(CPP_UNITTEST_EXECUTABLE) @@ -571,6 +571,9 @@ # ========================== clean-tests: clean-netx-tests clean-cpp-unit-tests clean-unittest++ + if [ -e $(CPP_UNITTEST_DIR) ] ; then \ + rmdir $(CPP_UNITTEST_DIR) ; \ + fi if [ -e $(TESTS_DIR) ]; then \ rmdir $(TESTS_DIR) ; \ fi From adomurad at icedtea.classpath.org Wed Nov 21 11:49:04 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Wed, 21 Nov 2012 19:49:04 +0000 Subject: /hg/icedtea-web: Adding forgotten files for PR1198 reproducer Message-ID: changeset 754a2eb7731e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=754a2eb7731e author: Adam Domurad date: Wed Nov 21 14:41:48 2012 -0500 Adding forgotten files for PR1198 reproducer diffstat: netx-dist-tests-whitelist | 2 +- tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html | 54 ++++++ tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js | 22 ++ tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java | 62 ++++++ tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java | 90 ++++++++++ 5 files changed, 229 insertions(+), 1 deletions(-) diffs (253 lines): diff -r 4cd65d83965b -r 754a2eb7731e netx-dist-tests-whitelist --- a/netx-dist-tests-whitelist Wed Nov 21 14:18:31 2012 -0500 +++ b/netx-dist-tests-whitelist Wed Nov 21 14:41:48 2012 -0500 @@ -1,1 +1,1 @@ -.* +JSObjectFromEval diff -r 4cd65d83965b -r 754a2eb7731e tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html Wed Nov 21 14:41:48 2012 -0500 @@ -0,0 +1,54 @@ + + + + + + + + + + + \ No newline at end of file diff -r 4cd65d83965b -r 754a2eb7731e tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js Wed Nov 21 14:41:48 2012 -0500 @@ -0,0 +1,22 @@ +function testJSObjectFromEval() { + var applet = document.getElementById("applet"); + var obj; + + applet.output("*** Test JSObject from JS ***"); + + applet.output("JS create"); + obj = new Object(); + applet.output("Java set"); + applet.setJSMember(obj, "test", 0); + applet.output("obj.test = " + obj.test); + + applet.output("*** Test JSObject from Java ***"); + + applet.output("Java create"); + obj = applet.newJSObject(); + applet.output("Java set"); + applet.setJSMember(obj, "test", 0); + applet.output("obj.test = " + obj.test); + + applet.output("*** APPLET FINISHED ***"); //We're done here +} \ No newline at end of file diff -r 4cd65d83965b -r 754a2eb7731e tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java Wed Nov 21 14:41:48 2012 -0500 @@ -0,0 +1,62 @@ +/* +Copyright (C) 2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +import java.applet.Applet; + +import netscape.javascript.JSObject; + +public class JSObjectFromEval extends Applet { + @Override + public void start() { + System.out.println(getClass().getSimpleName() + " started."); + } + + public void output(String s) { + System.out.println(s); + } + + public JSObject newJSObject() { + JSObject win = JSObject.getWindow(this); + return (JSObject) win.eval("new Object()"); + } + + public void setJSMember(JSObject js, String memb, Object val) { + String typeName = val.getClass().getName(); + System.out.println("setJSMember: passed '" + typeName + "'"); + js.setMember(memb, val); + } +} \ No newline at end of file diff -r 4cd65d83965b -r 754a2eb7731e tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java Wed Nov 21 14:41:48 2012 -0500 @@ -0,0 +1,90 @@ +/* +Copyright (C) 2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +import static org.junit.Assert.assertTrue; + +import net.sourceforge.jnlp.ProcessResult; +import net.sourceforge.jnlp.ServerAccess.AutoClose; +import net.sourceforge.jnlp.annotations.Bug; +import net.sourceforge.jnlp.annotations.KnownToFail; +import net.sourceforge.jnlp.annotations.NeedsDisplay; +import net.sourceforge.jnlp.annotations.TestInBrowsers; +import net.sourceforge.jnlp.browsertesting.BrowserTest; +import net.sourceforge.jnlp.browsertesting.Browsers; +import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; + +import org.junit.Test; + +public class JSObjectFromEvalTest extends BrowserTest { + + private static final String END_STRING = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; + + private static final String JAVA_CREATE = "Java create\n"; + private static final String JS_CREATE = "JS create\n"; + private static final String JAVA_SET = "Java set\n"; + private static final String PASSED_INTEGER = "setJSMember: passed 'java.lang.Integer'\n"; + private static final String CORRECT_VALUE = "obj.test = 0"; + + @Test + @TestInBrowsers(testIn = { Browsers.all }) + @NeedsDisplay + @Bug(id = { "PR1198" }) + @KnownToFail + public void testJSObjectSetMemberIsSet() throws Exception { + ProcessResult pr = server.executeBrowser("/JSObjectFromEval.html", + AutoClose.CLOSE_ON_BOTH); + + String expectedJSCreateOutput = JS_CREATE + JAVA_SET + PASSED_INTEGER + + CORRECT_VALUE; + String expectedJavaCreateOutput = JAVA_CREATE + JAVA_SET + + PASSED_INTEGER + CORRECT_VALUE; + + // No reason JS create should fail, this is mostly a sanity check: + assertTrue("stdout should contain 'JS create [...] " + CORRECT_VALUE + + "' but did not.", pr.stdout.contains(expectedJSCreateOutput)); + + // Demonstrates PR1198: + assertTrue("stdout should contain 'Java create [...] " + CORRECT_VALUE + + "' but did not.", + pr.stdout.contains(expectedJavaCreateOutput)); + + // Make sure we got to the end of the script + assertTrue("stdout should contain '" + END_STRING + "' but did not.", + pr.stdout.contains(END_STRING)); + } + +} From bugzilla-daemon at icedtea.classpath.org Wed Nov 21 11:49:14 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 21 Nov 2012 19:49:14 +0000 Subject: [Bug 1198] JSObject#eval creates invalid JS object In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=754a2eb7731e author: Adam Domurad date: Wed Nov 21 14:41:48 2012 -0500 Adding forgotten files for PR1198 reproducer -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121121/5aa9e8d9/attachment.html From adomurad at icedtea.classpath.org Wed Nov 21 11:56:02 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Wed, 21 Nov 2012 19:56:02 +0000 Subject: /hg/icedtea-web: Revert whitelist Message-ID: changeset 391ea885ec4d in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=391ea885ec4d author: Adam Domurad date: Wed Nov 21 14:55:44 2012 -0500 Revert whitelist diffstat: netx-dist-tests-whitelist | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (6 lines): diff -r 754a2eb7731e -r 391ea885ec4d netx-dist-tests-whitelist --- a/netx-dist-tests-whitelist Wed Nov 21 14:41:48 2012 -0500 +++ b/netx-dist-tests-whitelist Wed Nov 21 14:55:44 2012 -0500 @@ -1,1 +1,1 @@ -JSObjectFromEval +.* From adomurad at redhat.com Wed Nov 21 13:14:19 2012 From: adomurad at redhat.com (Adam Domurad) Date: Wed, 21 Nov 2012 16:14:19 -0500 Subject: [RFC][icedtea-web]: Set plugin JVM options in itw-settings In-Reply-To: <50AD1CC6.2060103@redhat.com> References: <508ED961.4070705@redhat.com> <509130B7.8090508@redhat.com> <50AD1CC6.2060103@redhat.com> Message-ID: <50AD442B.1050903@redhat.com> On 11/21/2012 01:26 PM, Saad Mohammad wrote: > Thanks Adam and Omair for your feedback. > > I improved the patch (mostly on the C++ side) and it now works well with > multiple jvm arguments. I removed the 'clean up' part from my earlier patch > since Omair pointed out it had been previously discussed and there was a > disagreement towards that approach. > > Also to answer one of Omair's question, there are no user-visible performance > differences using this approach of spawning a JVM to retrieve arguments. > > Bug Report:http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1217 > > CHANGELOG > ======================================================================== > 2012-11-21 Saad Mohammad > > Added new option in itw-settings which allows users to set JVM > arguments when plugin is initialized. > * netx/net/sourceforge/jnlp/config/Defaults.java (getDefaults): > Added defaults for DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS. > * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: > Added new property (KEY_PLUGIN_JVM_ARGUMENTS) which stores the value of > JVM plugin arguments. > * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: > (createMainSettingsPanel): Added JVM settings to the list of tabs. > (createJVMSettingsPanel): Returns a new JVMPanel object. > * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java: > JVM settings panel. > * netx/net/sourceforge/jnlp/resources/Messages.properties: > Added a new items (CPJVMPluginArguments, CPHeadJVMSettings, > CPTabJVMSettings). > * plugin/icedteanp/IcedTeaNPPlugin.cc: > (plugin_start_appletviewer): Adds JVM arguments to the commands that > initalize it. > (get_jvm_args): Returns JVM arguments set in itw-settings. > (tokenize_char_to_vector): Split string into vector separated by > newlines and spaces. > ======================================================================== > Thanks for the update! This is great. However one issue I came across is that when setting arbitrary invalid arguments for the plugin, firefox hangs on load of the applet. Comments inline. > diff --git a/netx/net/sourceforge/jnlp/config/Defaults.java > b/netx/net/sourceforge/jnlp/config/Defaults.java > --- a/netx/net/sourceforge/jnlp/config/Defaults.java > +++ b/netx/net/sourceforge/jnlp/config/Defaults.java > @@ -378,6 +378,12 @@ > DeploymentConfiguration.KEY_UPDATE_TIMEOUT, > BasicValueValidators.getRangedIntegerValidator(0, 10000), > String.valueOf(500) > + }, > + //JVM arguments for plugin > + { > + DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS, > + null, > + null > } > }; This array is quite unwieldy, it would be nice if 2D array had a better representation (just in general, not directly related to your patch). > > diff --git > a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java > @@ -158,6 +158,11 @@ > public static final String KEY_BROWSER_PATH = > "deployment.browser.path"; > public static final String KEY_UPDATE_TIMEOUT = > "deployment.javaws.update.timeout"; > > + /* > + * JVM arguments for plugin > + */ > + public static final String KEY_PLUGIN_JVM_ARGUMENTS= > "deployment.plugin.jvm.arguments"; > + > public enum ConfigType { > System, User > } > diff --git a/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java > b/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java > --- a/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java > +++ b/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java > @@ -226,6 +226,7 @@ > // new > SettingsPanel(Translator.R("CPTabClassLoader"), > createClassLoaderSettingsPanel()), > new SettingsPanel(Translator.R("CPTabDebugging"), > createDebugSettingsPanel()), > new > SettingsPanel(Translator.R("CPTabDesktopIntegration"), > createDesktopSettingsPanel()), > + new SettingsPanel(Translator.R("CPTabJVMSettings"), > createJVMSettingsPanel()), > new SettingsPanel(Translator.R("CPTabNetwork"), > createNetworkSettingsPanel()), > // TODO: This is commented out since this is not > implemented yet > // new SettingsPanel(Translator.R("CPTabRuntimes"), > createRuntimesSettingsPanel()), > @@ -319,6 +320,10 @@ > return new SecuritySettingsPanel(this.config); > } > > + private JPanel createJVMSettingsPanel() { > + return new JVMPanel(this.config); > + } > + > /** > * This is a placeholder panel. > * > diff --git a/netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java > b/netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java > new file mode 100644 > --- /dev/null > +++ b/netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java > @@ -0,0 +1,85 @@ > +/* PluginPanel.java > +Copyright (C) 2012, Red Hat, Inc. > + > +This file is part of IcedTea. > + > +IcedTea is free software; you can redistribute it and/or > +modify it under the terms of the GNU General Public License as > published by > +the Free Software Foundation, version 2. > + > +IcedTea is distributed in the hope that it will be useful, > +but WITHOUT ANY WARRANTY; without even the implied warranty of > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +General Public License for more details. > + > +You should have received a copy of the GNU General Public License > +along with IcedTea; see the file COPYING. If not, write to > +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, > Boston, MA > +02110-1301 USA. > + > +Linking this library statically or dynamically with other modules is > +making a combined work based on this library. Thus, the terms and > +conditions of the GNU General Public License cover the whole > +combination. > + > +As a special exception, the copyright holders of this library give you > +permission to link this library with independent modules to produce an > +executable, regardless of the license terms of these independent > +modules, and to copy and distribute the resulting executable under > +terms of your choice, provided that you also meet, for each linked > +independent module, the terms and conditions of the license of that > +module. An independent module is a module which is not derived from > +or based on this library. If you modify this library, you may extend > +this exception to your version of the library, but you are not > +obligated to do so. If you do not wish to do so, delete this > +exception statement from your version. > +*/ > +package net.sourceforge.jnlp.controlpanel; > + > +import java.awt.Component; > +import java.awt.Dimension; > +import java.awt.GridBagConstraints; > +import java.awt.GridBagLayout; > + > +import javax.swing.Box; > +import javax.swing.JLabel; > +import javax.swing.JTextField; > + > +import net.sourceforge.jnlp.config.DeploymentConfiguration; > +import net.sourceforge.jnlp.runtime.Translator; > + > + at SuppressWarnings("serial") > +public class JVMPanel extends NamedBorderPanel { > + private DeploymentConfiguration config; > + > + JVMPanel(DeploymentConfiguration config) { > + super(Translator.R("CPHeadJVMSettings"), new GridBagLayout()); > + this.config = config; > + addComponents(); > + } > + > + private void addComponents() { > + JLabel description = new JLabel("" + > Translator.R("CPJVMPluginArguments") + "
"); > + JTextField testFieldArguments = new JTextField(25); > + > + testFieldArguments.getDocument().addDocumentListener(new > DocumentAdapter(config, > DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS)); > + > testFieldArguments.setText(config.getProperty(DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS)); > + > + // Filler to pack the bottom of the panel. > + GridBagConstraints c = new GridBagConstraints(); > + c.fill = GridBagConstraints.BOTH; > + c.weightx = 1; > + c.gridx = 0; > + c.gridy = 0; > + > + this.add(description, c); > + c.gridy++; > + this.add(testFieldArguments, c); > + > + // This is to keep it from expanding vertically if resized. > + Component filler = Box.createRigidArea(new Dimension(1, 1)); > + c.gridy++; > + c.weighty++; > + this.add(filler, c); > + } > +} > diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties > b/netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties > @@ -299,6 +299,7 @@ > CPSecurityDescription=Use this to configure security settings. > CPDebuggingDescription=Enable options here to help with debugging > CPDesktopIntegrationDescription=Set whether or not to allow creation > of desktop shortcut. > +CPJVMPluginArguments=Set JVM arguments for plugin. Can we handle the Czech translation being out of sync yet ? (Jiri?) If not Jiri or Pavel will have to translate these. > > # Control Panel - Buttons > CPButAbout=About... > @@ -317,6 +318,7 @@ > CPHeadDebugging=Debugging Settings > CPHeadDesktopIntegration=Desktop Integrations > CPHeadSecurity=Security Settings > +CPHeadJVMSettings=JVM Settings > > # Control Panel - Tabs > CPTabAbout=About IcedTea-Web > @@ -328,6 +330,7 @@ > CPTabNetwork=Network > CPTabRuntimes=Runtimes > CPTabSecurity=Security > +CPTabJVMSettings=JVM Settings > > # Control Panel - AboutPanel > CPAboutInfo=This is the control panel for setting > deployments.properties.
Not all options will take effect until > implemented.
The use of multiple JREs is currently unsupported.
> diff --git a/plugin/icedteanp/IcedTeaNPPlugin.cc > b/plugin/icedteanp/IcedTeaNPPlugin.cc > --- a/plugin/icedteanp/IcedTeaNPPlugin.cc > +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc > @@ -243,6 +243,11 @@ > void plugin_send_initialization_message(char* instance, gulong handle, > int width, int height, > char* url); > +/* Returns JVM options set in itw-settings */ > +static std::vector get_jvm_args(); > +/* Removes newlines and extra spaces from char */ > +static std::vector tokenize_char_to_vector(const char* > to_tokenize); > + > > // Global instance counter. > // Mutex to protect plugin_instance_counter. > @@ -1617,48 +1622,62 @@ > PLUGIN_DEBUG ("plugin_start_appletviewer\n"); > NPError error = NPERR_NO_ERROR; > > - gchar** command_line; > + std::vector command_line; > + std::vector jvm_args = get_jvm_args(); vector is a good compromise, however I also like the idea of using a vector and at accumulating all the character pointers (not copying the strings) into a vector at the last moment. A utility method could do this and it'd avoid the need for manual strdup's (the memory will always be copied into the resulting string). > gchar** environment; > > - int cmd_num = 0; > if (plugin_debug) > { > - command_line = (gchar**) malloc(sizeof(gchar*)*11); > - command_line[cmd_num++] = g_strdup(appletviewer_executable); > - command_line[cmd_num++] = g_strdup(PLUGIN_BOOTCLASSPATH); > - // set the classpath to avoid using the default (cwd). > - command_line[cmd_num++] = g_strdup("-classpath"); > - command_line[cmd_num++] = g_strdup_printf("%s/lib/rt.jar", > ICEDTEA_WEB_JRE); > - command_line[cmd_num++] = g_strdup("-Xdebug"); > - command_line[cmd_num++] = g_strdup("-Xnoagent"); > - if (plugin_debug_suspend) > - { > - command_line[cmd_num++] = > g_strdup("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"); > - } else > - { > - command_line[cmd_num++] = > g_strdup("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"); > - } > - command_line[cmd_num++] = g_strdup("sun.applet.PluginMain"); > - command_line[cmd_num++] = g_strdup(out_pipe_name); > - command_line[cmd_num++] = g_strdup(in_pipe_name); > - command_line[cmd_num] = NULL; > + command_line.push_back(g_strdup(appletviewer_executable)); > + > + //Add JVM args to command_line > + for (int i = 0; i < jvm_args.size(); i++) > + { > + command_line.push_back(jvm_args[i]); > + } > + > + command_line.push_back(g_strdup(PLUGIN_BOOTCLASSPATH)); > + // set the classpath to avoid using the default (cwd). > + command_line.push_back(g_strdup("-classpath")); > + command_line.push_back(g_strdup_printf("%s/lib/rt.jar", > ICEDTEA_WEB_JRE)); > + command_line.push_back(g_strdup("-Xdebug")); > + command_line.push_back(g_strdup("-Xnoagent")); > + > + if (plugin_debug_suspend) > + { > + > command_line.push_back(g_strdup("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y")); > + } else > + { > + > command_line.push_back(g_strdup("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n")); > + } > + command_line.push_back(g_strdup("sun.applet.PluginMain")); > + command_line.push_back(g_strdup(out_pipe_name)); > + command_line.push_back(g_strdup(in_pipe_name)); > + command_line.push_back(g_strdup(NULL)); > } else > { > - command_line = (gchar**) malloc(sizeof(gchar*)*8); > - command_line[cmd_num++] = g_strdup(appletviewer_executable); > - command_line[cmd_num++] = g_strdup(PLUGIN_BOOTCLASSPATH); > - command_line[cmd_num++] = g_strdup("-classpath"); > - command_line[cmd_num++] = g_strdup_printf("%s/lib/rt.jar", > ICEDTEA_WEB_JRE); > - command_line[cmd_num++] = g_strdup("sun.applet.PluginMain"); > - command_line[cmd_num++] = g_strdup(out_pipe_name); > - command_line[cmd_num++] = g_strdup(in_pipe_name); > - command_line[cmd_num] = NULL; > + command_line.push_back(g_strdup(appletviewer_executable)); > + > + //Add JVM args to command_line > + for (int i = 0; i < jvm_args.size(); i++) > + { > + command_line.push_back(jvm_args[i]); > + } > + > + command_line.push_back(g_strdup(PLUGIN_BOOTCLASSPATH)); > + command_line.push_back(g_strdup("-classpath")); > + command_line.push_back(g_strdup_printf("%s/lib/rt.jar", > ICEDTEA_WEB_JRE)); > + command_line.push_back(g_strdup("sun.applet.PluginMain")); > + command_line.push_back(g_strdup(out_pipe_name)); > + command_line.push_back(g_strdup(in_pipe_name)); > + command_line.push_back(g_strdup(NULL)); > } > > environment = plugin_filter_environment(); > - > - if (!g_spawn_async (NULL, command_line, environment, > - (GSpawnFlags) G_SPAWN_DO_NOT_REAP_CHILD, > + gchar** command_line_args = &command_line[0]; > + > + if (!g_spawn_async (NULL, command_line_args, environment, > + (GSpawnFlags) G_SPAWN_DO_NOT_REAP_CHILD, > NULL, NULL, &appletviewer_pid, &channel_error)) > { > if (channel_error) > @@ -1673,15 +1692,15 @@ > error = NPERR_GENERIC_ERROR; > } > > - g_strfreev (environment); > - > - for (int i = 0; i < cmd_num; i++) { > - g_free (command_line[i]); > + //Free memory > + g_strfreev(environment); > + > + for (int i = 0; i < command_line.size(); i++) > + { > + g_free(command_line[i]); > command_line[i] = NULL; > } > - > - g_free(command_line); > - command_line = NULL; > + command_line_args = NULL; > > if (appletviewer_pid) > { > @@ -1689,12 +1708,85 @@ > appletviewer_watch_id = g_child_watch_add(appletviewer_pid, > (GChildWatchFunc) appletviewer_monitor, (gpointer) appletviewer_pid); > } > > - > PLUGIN_DEBUG ("plugin_start_appletviewer return\n"); > return error; > } > > /* > + * Returns JVM options set in itw-settings > + */ > +static std::vector > +get_jvm_args() > +{ > + gchar** commands; > + gchar *output; > + int cmd_num = 0; > + > + commands = (gchar**) g_malloc(sizeof(gchar*) * 8); > + commands[cmd_num++] = g_strdup(appletviewer_executable); > + commands[cmd_num++] = g_strdup(PLUGIN_BOOTCLASSPATH); > + commands[cmd_num++] = g_strdup("-classpath"); > + commands[cmd_num++] = g_strdup_printf("%s/lib/rt.jar", > ICEDTEA_WEB_JRE); > + commands[cmd_num++] = > g_strdup("net.sourceforge.jnlp.controlpanel.CommandLine"); > + commands[cmd_num++] = g_strdup("get"); > + commands[cmd_num++] = g_strdup("deployment.plugin.jvm.arguments"); > + commands[cmd_num] = NULL; Please use a vector here as well. > + > + if (!g_spawn_sync(NULL, commands, NULL, > + (GSpawnFlags) G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, &output, > NULL, NULL, > + &channel_error)) > + { > + PLUGIN_ERROR("Failed to get JVM arguments set for plugin."); > + output = NULL; > + } > + > + std::vector tokenizedOutput = tokenize_char_to_vector(output); > + > + //Free memory > + for (int i = 0; i < cmd_num; i++) > + { > + g_free(commands[i]); > + commands[i] = NULL; > + } > + g_free(commands); > + commands = NULL; > + g_free(output); > + > + return tokenizedOutput; > +} > + > +/* > + * Split string into vector separated by newlines and spaces > + */ > +static std::vector > +tokenize_char_to_vector(const char* to_tokenize) This seems redundant with IcedTeaPluginUtilities::strSplit(str, " "). > +{ > + //Tokenize > + std::vector output_tokens; > + > + if (to_tokenize != NULL) > + { > + for (int i = 0; i < strlen(to_tokenize); i++) > + { > + std::string arg(""); > + > + while (i < strlen(to_tokenize) && to_tokenize[i] != ' ' && > to_tokenize[i] != '\n') Please don't use 'strlen' in loop conditions as it takes time linear with string size. > + { > + arg.append(1, to_tokenize[i]); > + i++; > + } > + > + if (arg.length() > 0 && arg != "null") > + { > + output_tokens.push_back(g_strdup(arg.c_str())); > + } > + } > + } > + > + return output_tokens; > +} > + > +/* > * Replaces certain characters (\r, \n, etc) with HTML escape > equivalents. > * > * Return string is allocated on the heap. Caller assumes responsibility Thanks again for the update, looks good overall. Maybe try out the new unit testing system if you're writing small utility methods. -Adam From yoshiki at ci.i.u-tokyo.ac.jp Wed Nov 21 17:29:17 2012 From: yoshiki at ci.i.u-tokyo.ac.jp (Yoshiki SATO) Date: Thu, 22 Nov 2012 10:29:17 +0900 Subject: javax.transaction.xa aren't generated. Message-ID: <76CE8B5E-CE75-41C9-866C-C97BBB9D802C@ci.i.u-tokyo.ac.jp> Hi all, I'm trying to build icedtea6-1.11.5 with GCJ 4.4.7 on Linux/SPARC. After finishing the bootstrap JVM creation, the make process encounters the error below. Some classes in javax.transaction.xa like XAResources are not created. I check the directory openjdk.build/corba/classes/javax/transaction but just 3 classes found there, where other classes in javax.transaction.xa package are not generated. Any suggestion would be appreciated. Thanks, --Sato >>>Recursively making sql build @ Thu Nov 22 03:12:03 JST 2012 ... logname: no login name make[5]: Entering directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk/jdk/make/javax/sql' /bin/mkdir -p /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/classes/javax/sql/rowset rm -f /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/classes/javax/sql/rowset/rowset.properties /bin/cp ../../../src/share/classes/javax/sql/rowset/rowset.properties /home/c83001/icedtea/icedtea6-1.11.5/openjdk.bu ild/classes/javax/sql/rowset/rowset.properties /bin/chmod a+rw /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/classes/javax/sql/rowset/rowset.properties # Adding to strip properties list: /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/classes/javax/sql/rowset/rowset .properties /bin/echo -e "/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/classes/javax/sql/rowset/rowset.properties" >> /home /c83001/icedtea/icedtea6-1.11.5/openjdk.build/tmp/sun/javax.sql/strip_prop_options /home/c83001/icedtea/icedtea6-1.11.5/bootstrap/jdk1.6.0/bin/java -Xmx896m -Xms128m -XX:PermSize=32m -XX:MaxPermSize= 160m -jar /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/btjars/stripproperties.jar -optionsfile /home/c83001/ice dtea/icedtea6-1.11.5/openjdk.build/tmp/sun/javax.sql/strip_prop_options # Java sources to be compiled: (listed in file /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/tmp/sun/javax.sql/. classes.list) ../../../src/share/classes/javax/sql/CommonDataSource.java ../../../src/share/classes/javax/sql/ConnectionEvent.java ../../../src/share/classes/javax/sql/ConnectionEventListener.java ../../../src/share/classes/javax/sql/ConnectionPoolDataSource.java ../../../src/share/classes/javax/sql/DataSource.java ../../../src/share/classes/javax/sql/PooledConnection.java ../../../src/share/classes/javax/sql/RowSet.java ../../../src/share/classes/javax/sql/RowSetEvent.java ../../../src/share/classes/javax/sql/RowSetInternal.java ../../../src/share/classes/javax/sql/RowSetListener.java ../../../src/share/classes/javax/sql/RowSetMetaData.java ../../../src/share/classes/javax/sql/RowSetReader.java ../../../src/share/classes/javax/sql/RowSetWriter.java ../../../src/share/classes/javax/sql/StatementEvent.java ../../../src/share/classes/javax/sql/StatementEventListener.java ../../../src/share/classes/javax/sql/XAConnection.java ../../../src/share/classes/javax/sql/XADataSource.java ../../../src/share/classes/javax/sql/rowset/BaseRowSet.java ../../../src/share/classes/javax/sql/rowset/CachedRowSet.java ../../../src/share/classes/javax/sql/rowset/FilteredRowSet.java ../../../src/share/classes/javax/sql/rowset/JdbcRowSet.java ../../../src/share/classes/javax/sql/rowset/JoinRowSet.java ../../../src/share/classes/javax/sql/rowset/Joinable.java ../../../src/share/classes/javax/sql/rowset/Predicate.java ../../../src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java ../../../src/share/classes/javax/sql/rowset/RowSetWarning.java ../../../src/share/classes/javax/sql/rowset/WebRowSet.java ../../../src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java ../../../src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java ../../../src/share/classes/javax/sql/rowset/serial/SerialArray.java ../../../src/share/classes/javax/sql/rowset/serial/SerialBlob.java ../../../src/share/classes/javax/sql/rowset/serial/SerialClob.java ../../../src/share/classes/javax/sql/rowset/serial/SerialDatalink.java ../../../src/share/classes/javax/sql/rowset/serial/SerialException.java ../../../src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java ../../../src/share/classes/javax/sql/rowset/serial/SerialRef.java ../../../src/share/classes/javax/sql/rowset/serial/SerialStruct.java ../../../src/share/classes/javax/sql/rowset/spi/SyncFactory.java ../../../src/share/classes/javax/sql/rowset/spi/SyncFactoryException.java ../../../src/share/classes/javax/sql/rowset/spi/SyncProvider.java ../../../src/share/classes/javax/sql/rowset/spi/SyncProviderException.java ../../../src/share/classes/javax/sql/rowset/spi/SyncResolver.java ../../../src/share/classes/javax/sql/rowset/spi/TransactionalWriter.java ../../../src/share/classes/javax/sql/rowset/spi/XmlReader.java ../../../src/share/classes/javax/sql/rowset/spi/XmlWriter.java # Running javac: /home/c83001/icedtea/icedtea6-1.11.5/bootstrap/jdk1.6.0/bin/java -Xmx896m -Xms128m -XX:PermSize=32m -XX:MaxPermSize=160m -Xbootclasspath/p:/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/langtools/dist/bootstrap/lib/javac.jar -jar /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/langtools/dist/bootstrap/lib/javac.jar -g -source 1.5 -target 5 -encoding ascii -Xbootclasspath:/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/classes -sourcepath /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/gensrc:../../../src/solaris/classes:../../../src/share/classes -d /home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/classes @/home/c83001/icedtea/icedtea6-1.11.5/openjdk.build/tmp/sun/javax.sql/.classes.list ../../../src/share/classes/javax/sql/XAConnection.java:59: package javax.transaction.xa does not exist javax.transaction.xa.XAResource getXAResource() throws SQLException; ^ Note: ../../../src/share/classes/com/sun/rowset/internal/CachedRowSetReader.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error make[5]: *** [.compile.classlist] Error 1 make[5]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk/jdk/make/javax/sql' make[4]: *** [build] Error 1 make[4]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk/jdk/make/javax' make[3]: *** [all] Error 1 make[3]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk' make[1]: *** [build_product_image] Error 2 make[1]: Leaving directory `/home/c83001/icedtea/icedtea6-1.11.5/openjdk' make: *** [stamps/icedtea.stamp] Error 2 From ptisnovs at icedtea.classpath.org Thu Nov 22 01:24:38 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 22 Nov 2012 09:24:38 +0000 Subject: /hg/gfx-test: Added support for creating crossed closed paths wi... Message-ID: changeset 2887645db444 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=2887645db444 author: Pavel Tisnovsky date: Thu Nov 22 10:27:36 2012 +0100 Added support for creating crossed closed paths with one quadratic segment. Added new test into the suite ClippingPathByEllipseShape. diffstat: ChangeLog | 8 ++ src/org/gfxtest/framework/CommonPathsGenerator.java | 38 +++++++++++++- src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java | 38 ++++++++++++++ 3 files changed, 82 insertions(+), 2 deletions(-) diffs (125 lines): diff -r ed3de89b5f79 -r 2887645db444 ChangeLog --- a/ChangeLog Wed Nov 21 13:12:47 2012 +0100 +++ b/ChangeLog Thu Nov 22 10:27:36 2012 +0100 @@ -1,3 +1,11 @@ +2012-11-22 Pavel Tisnovsky + + * src/org/gfxtest/framework/CommonPathsGenerator.java: + Added support for creating crossed closed paths with one quadratic + segment. + * src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java: + Added new test. + 2012-11-21 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBasicTests.java: diff -r ed3de89b5f79 -r 2887645db444 src/org/gfxtest/framework/CommonPathsGenerator.java --- a/src/org/gfxtest/framework/CommonPathsGenerator.java Wed Nov 21 13:12:47 2012 +0100 +++ b/src/org/gfxtest/framework/CommonPathsGenerator.java Thu Nov 22 10:27:36 2012 +0100 @@ -821,7 +821,24 @@ public static Path2D createCrossedClosedPathContainingQuadraticSegmentFloat(int width, int height) { - return null; + Path2D path = new Path2D.Float(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = height - LINE_PATH_OFFSET * 4; + // 3rd vertex + int x3 = x2; + int y3 = y1; + // 4rd vertex + int x4 = x1; + int y4 = y2; + path.moveTo(x1, y1); + path.quadTo(x2, y2, x3, y3); + path.lineTo(x4, y4); + path.closePath(); + return path; } public static Path2D createCrossedClosedPathContainingQuadraticSegmentDouble(TestImage image) @@ -831,7 +848,24 @@ public static Path2D createCrossedClosedPathContainingQuadraticSegmentDouble(int width, int height) { - return null; + Path2D path = new Path2D.Double(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = height - LINE_PATH_OFFSET * 4; + // 3rd vertex + int x3 = x2; + int y3 = y1; + // 4rd vertex + int x4 = x1; + int y4 = y2; + path.moveTo(x1, y1); + path.quadTo(x2, y2, x3, y3); + path.lineTo(x4, y4); + path.closePath(); + return path; } public static Path2D createCrossedClosedPathContainingCubicSegmentFloat(TestImage image) diff -r ed3de89b5f79 -r 2887645db444 src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java --- a/src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java Wed Nov 21 13:12:47 2012 +0100 +++ b/src/org/gfxtest/testsuites/ClippingPathByEllipseShape.java Thu Nov 22 10:27:36 2012 +0100 @@ -201,6 +201,24 @@ } /** + * Draw crossed path containing quadratic segment clipped by an ellipse shape. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + */ + private static void drawCrossedPathContainingQuadraticSegmentClippedByEllipseShape(TestImage image, Graphics2D graphics2d) + { + // prepare canvas for the rendering + basicSetupForRendering(image, graphics2d); + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // draw the crossed path + graphics2d.draw(CommonPathsGenerator.createCrossedClosedPathContainingQuadraticSegmentFloat(image)); + } + + /** * Check if line path could be clipped by an ellipse shape. Path is rendered * using stroke paint with default stroke width. * Line path is constructed using new Path.Float() @@ -323,6 +341,26 @@ } /** + * Check if crossed closed path could be clipped by an ellipse shape. Path + * is rendered using stroke paint with default stroke width. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCrossedClosedPathContainingQuadraticSegmentByEllipseShapeStrokePaint(TestImage image, Graphics2D graphics2d) + { + // render ellipse which is used as a clip shape + CommonClippingOperations.renderClipEllipse(image, graphics2d); + // set clip region and draw the path + drawCrossedPathContainingQuadraticSegmentClippedByEllipseShape(image, graphics2d); + // test result + return TestResult.PASSED; + } + + /** * Check if line path could be clipped by an ellipse shape. Path is * rendered using stroke paint with zero stroke width. * Line path is constructed using new Path.Float() From ptisnovs at icedtea.classpath.org Thu Nov 22 01:35:40 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 22 Nov 2012 09:35:40 +0000 Subject: /hg/rhino-tests: Added new code snippets into src/org/RhinoTests... Message-ID: changeset 24686f9e632a in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=24686f9e632a author: Pavel Tisnovsky date: Thu Nov 22 10:38:39 2012 +0100 Added new code snippets into src/org/RhinoTests/JavaScriptSnippets.java. Added new tests to the test suite src/org/RhinoTests/JavaScriptsTest.java. diffstat: ChangeLog | 8 ++++++++ src/org/RhinoTests/JavaScriptSnippets.java | 19 +++++++++++++++++++ src/org/RhinoTests/JavaScriptsTest.java | 26 +++++++++++++++++++++++--- 3 files changed, 50 insertions(+), 3 deletions(-) diffs (85 lines): diff -r cfb582c14406 -r 24686f9e632a ChangeLog --- a/ChangeLog Wed Nov 21 13:25:06 2012 +0100 +++ b/ChangeLog Thu Nov 22 10:38:39 2012 +0100 @@ -1,3 +1,11 @@ +2012-11-22 Pavel Tisnovsky + + * src/org/RhinoTests/JavaScriptSnippets.java: + Added new code snippets. + + * src/org/RhinoTests/JavaScriptsTest.java: + Added new tests. + 2012-11-21 Pavel Tisnovsky * src/org/RhinoTests/CompilableTest.java: diff -r cfb582c14406 -r 24686f9e632a src/org/RhinoTests/JavaScriptSnippets.java --- a/src/org/RhinoTests/JavaScriptSnippets.java Wed Nov 21 13:25:06 2012 +0100 +++ b/src/org/RhinoTests/JavaScriptSnippets.java Thu Nov 22 10:38:39 2012 +0100 @@ -82,4 +82,23 @@ */ protected static final String NUMERIC_EXPRESSION_1 = "1+2*3"; + /** + * Classical hello world program. + */ + protected static final String HELLO_WORLD_1 = "println('\tHello world!')"; + + /** + * Slightly modified hello world program. + */ + protected static final String HELLO_WORLD_2 = "println('\tHello' + ' world!')"; + + /** + * Slightly modified hello world program. + */ + protected static final String HELLO_WORLD_3 = "println('\tHello' + ' ' + 'world!')"; + + /** + * Statement containing unknown function. + */ + protected static final String UNKNOWN_FUNCTION = "_unknown_function_('\tHello world!')"; } diff -r cfb582c14406 -r 24686f9e632a src/org/RhinoTests/JavaScriptsTest.java --- a/src/org/RhinoTests/JavaScriptsTest.java Wed Nov 21 13:25:06 2012 +0100 +++ b/src/org/RhinoTests/JavaScriptsTest.java Thu Nov 22 10:38:39 2012 +0100 @@ -86,8 +86,28 @@ * @throws ScriptException * this exception is thrown when this test case failed. */ - protected void testRunSimpleScriptStoredInString() throws ScriptException { - this.scriptEngine.eval("println('\tHello world!')"); + protected void testRunSimpleScriptStoredInString1() throws ScriptException { + this.scriptEngine.eval(JavaScriptSnippets.HELLO_WORLD_1); + } + + /** + * Test if it is possible to run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testRunSimpleScriptStoredInString2() throws ScriptException { + this.scriptEngine.eval(JavaScriptSnippets.HELLO_WORLD_2); + } + + /** + * Test if it is possible to run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testRunSimpleScriptStoredInString3() throws ScriptException { + this.scriptEngine.eval(JavaScriptSnippets.HELLO_WORLD_3); } /** @@ -99,7 +119,7 @@ */ protected void testRunScriptContainingUnknownFunctionStoredInString() throws Exception { try { - this.scriptEngine.eval("_unknown_function_('\tHello world!')"); + this.scriptEngine.eval(JavaScriptSnippets.UNKNOWN_FUNCTION); } catch (ScriptException e) { System.out.println("\tException thrown as expected " + e.getMessage()); From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 00:42:52 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 08:42:52 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 --- Comment #6 from Andrew John Hughes --- There is some configuration error here which is causing this problem and: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1224 and http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1225 It's really not helping to keep hacking around the problem and then filing yet more spurious bugs. Please keep to this bug report. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/64d92329/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 00:43:20 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 08:43:20 +0000 Subject: [Bug 1224] Source and target versions for building java classes In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1224 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #1 from Andrew John Hughes --- See http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/1c6ec1d5/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 00:43:30 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 08:43:30 +0000 Subject: [Bug 1225] sun_java2d_opengl_OGLContext_OGLContextCaps.h not generated In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1225 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #1 from Andrew John Hughes --- See http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/4e5c10b9/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 00:52:31 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 08:52:31 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #799|application/octet-stream |text/plain mime type| | -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/fbf1d0fe/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 00:52:47 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 08:52:47 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #800|application/octet-stream |text/plain mime type| | -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/3496a4fa/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 00:53:01 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 08:53:01 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #801|application/octet-stream |text/plain mime type| | -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/c6bb2887/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 00:55:32 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 08:55:32 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 --- Comment #7 from Andrew John Hughes --- You still haven't attached config.log or javac as I asked. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/1ce916d2/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 01:26:57 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 09:26:57 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 --- Comment #8 from sato --- Created attachment 802 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=802&action=edit config.log -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/7bab5fd2/attachment.html From jvanek at icedtea.classpath.org Fri Nov 23 02:30:19 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 23 Nov 2012 10:30:19 +0000 Subject: /hg/icedtea-web: Firefox session-backup and stubs for softkiller... Message-ID: changeset a1112e2c3bc6 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a1112e2c3bc6 author: Jiri Vanek date: Fri Nov 23 11:31:19 2012 +0100 Firefox session-backup and stubs for softkiller, multiple listeners, processes handling moved to separate class. diffstat: ChangeLog | 31 + tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java | 2 +- tests/test-extensions/net/sourceforge/jnlp/ContentReader.java | 63 +- tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java | 78 ++- tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java | 235 ++++++++++ tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java | 119 +--- tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java | 10 +- tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browser.java | 3 +- tests/test-extensions/net/sourceforge/jnlp/browsertesting/ReactingProcess.java | 63 ++ tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java | 13 +- tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java | 38 +- tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java | 19 + tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Midory.java | 2 +- tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/firefox/FirefoxProfilesOperator.java | 175 +++++++ 14 files changed, 727 insertions(+), 124 deletions(-) diffs (truncated from 1175 to 500 lines): diff -r 391ea885ec4d -r a1112e2c3bc6 ChangeLog --- a/ChangeLog Wed Nov 21 14:55:44 2012 -0500 +++ b/ChangeLog Fri Nov 23 11:31:19 2012 +0100 @@ -1,3 +1,34 @@ +2012-11-23 Jiri Vanek + + Firefox session-backup and stubs for softkiller, multiple listeners, + processes handling moved to separate class. + * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java: + Removed unwanted assert on termination + * tests/test-extensions/net/sourceforge/jnlp/ContentReader.java: + Added support for multiple listeners. + * tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java: + (destroyProcess()), non static wrapper around former (destroyProcess + (process)), introducing marks that process is being killed, added setter + for reactigProcess. + * tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java: + Wrapper around former ServerAccess.executeProcess set of methods. + * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: all + executeProcess/Javaws/Browser are now just api compatibility methods + around ProcessWrapper. + (executeProcess) main method moved to ProcessWrapper.execute. + * tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java: + made public and synchronized with ProcessAssasin's (destroyProcess) + * tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browser.java + is now implementing ReactingProcess + * tests/test-extensions/net/sourceforge/jnlp/browsertesting/ReactingProcess.java: + new interface for communication with main events of ThreadedProcess lifecycle. + * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java: + is containing singleton of FirefoxProfilesOperator (FPO) and is responding to + (beforeProcess) by FPO's (backupingProfiles), to (beforeKill) by calling + ProcessAssasin's (closeWindows), and to (afterKill) by FPO's (restoreProfiles) + * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/firefox/FirefoxProfilesOperator.java: + New class to backup and restore firefox profiles. + 2012-11-21 Adam Domurad * Makefile.am: Fix new clean targets not cleaning properly diff -r 391ea885ec4d -r a1112e2c3bc6 tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java --- a/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java Wed Nov 21 14:55:44 2012 -0500 +++ b/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java Fri Nov 23 11:31:19 2012 +0100 @@ -131,7 +131,7 @@ try { ProcessResult pr = server.executeBrowser("/appletAutoTests2.html", new CountingClosingListenerImpl(), new CountingClosingListenerImpl()); evaluateApplet(pr, false); - Assert.assertTrue(pr.wasTerminated); + //Assert.assertTrue(pr.wasTerminated); this checks asre evil //Assert.assertEquals((Integer) 0, pr.returnValue); due to destroy is null } finally { ServerAccess.PROCESS_TIMEOUT = 20 * 1000; //back to normal diff -r 391ea885ec4d -r a1112e2c3bc6 tests/test-extensions/net/sourceforge/jnlp/ContentReader.java --- a/tests/test-extensions/net/sourceforge/jnlp/ContentReader.java Wed Nov 21 14:55:44 2012 -0500 +++ b/tests/test-extensions/net/sourceforge/jnlp/ContentReader.java Fri Nov 23 11:31:19 2012 +0100 @@ -34,23 +34,25 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ - package net.sourceforge.jnlp; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.util.ArrayList; +import java.util.List; /** - * Class to read content of stdout/stderr of process, and to cooperate with its running/terminated/finished statuses. + * Class to read content of stdout/stderr of process, and to cooperate with its + * running/terminated/finished statuses. */ class ContentReader implements Runnable { StringBuilder sb = new StringBuilder(); private final InputStream is; private boolean done; - ContentReaderListener listener; + final List listeners = new ArrayList(1); public String getContent() { return sb.toString(); @@ -62,15 +64,24 @@ public ContentReader(InputStream is, ContentReaderListener l) throws IOException { this.is = is; - this.listener = l; + if (l != null) { + this.listeners.add(l); + } } - public void setListener(ContentReaderListener listener) { - this.listener = listener; + public ContentReader(InputStream is, List l) throws IOException { + this.is = is; + if (l != null) { + this.listeners.addAll(l); + } } - public ContentReaderListener getListener() { - return listener; + public void addListener(ContentReaderListener listener) { + this.listeners.add(listener); + } + + public List getListener() { + return listeners; } /** @@ -96,8 +107,12 @@ while (true) { int s = br.read(); if (s < 0) { - if (line.length() > 0 && listener != null) { - listener.lineReaded(line.toString()); + if (line.length() > 0 && listeners != null) { + for (ContentReaderListener listener : listeners) { + if (listener != null) { + listener.lineReaded(line.toString()); + } + } } break; } @@ -105,21 +120,31 @@ sb.append(ch); line.append(ch); if (ch == '\n') { - if (listener != null) { - listener.lineReaded(line.toString()); + if (listeners != null) { + for (ContentReaderListener listener : listeners) { + if (listener != null) { + listener.lineReaded(line.toString()); + } + } } line = new StringBuilder(); } - if (listener != null) { - listener.charReaded(ch); + if (listeners != null) { + for (ContentReaderListener listener : listeners) { + if (listener != null) { + listener.charReaded(ch); + } + } } } - //do not want to bother output with terminations - //mostly compaling when assassin kill the process about StreamClosed - //do not want to bother output with terminations - //mostly compaling when assassin kill the process about StreamClosed - } catch (Exception ex) { + } catch (NullPointerException ex) { + ex.printStackTrace(); + } + //do not want to bother output with terminations + //mostly compaling when assassin kill the process about StreamClosed + catch (Exception ex) { // logException(ex); + //ex.printStackTrace(); } finally { try { is.close(); diff -r 391ea885ec4d -r a1112e2c3bc6 tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java --- a/tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java Wed Nov 21 14:55:44 2012 -0500 +++ b/tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java Fri Nov 23 11:31:19 2012 +0100 @@ -39,24 +39,32 @@ import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; +import net.sourceforge.jnlp.browsertesting.ReactingProcess; /** - * class which timeout any ThreadedProcess. This killing of 'thread with process' replaced not working process.destroy(). + * class which timeout any ThreadedProcess. This killing of 'thread with + * process' replaced not working process.destroy(). */ -class ProcessAssasin extends Thread { +public class ProcessAssasin extends Thread { long timeout; private final ThreadedProcess p; //false == is disabled:( private boolean canRun = true; private boolean wasTerminated = false; + //signifies that assasin have been summoned + private volatile boolean killing = false; + //signifies that assasin have done its job + private volatile boolean killed = false; /** - * if this is true, then process is not destroyed after timeout, but just left to its own destiny. - * Its stdout/err is no longer recorded, and it is leaking system resources until it dies by itself - * The contorl is returned to main thread with all informations recorded untill now. - * You will be able to listen to std out from listeners still + * if this is true, then process is not destroyed after timeout, but just + * left to its own destiny. Its stdout/err is no longer recorded, and it is + * leaking system resources until it dies by itself The contorl is returned + * to main thread with all informations recorded untill now. You will be + * able to listen to std out from listeners still */ private boolean skipInstedOfDesroy = false; + private ReactingProcess reactingProcess; public ProcessAssasin(ThreadedProcess p, long timeout) { this.p = (p); @@ -123,7 +131,7 @@ if (p.getP() != null) { try { if (!skipInstedOfDesroy) { - destroyProcess(p); + destroyProcess(); } } catch (Throwable ex) { if (p.deadlyException == null) { @@ -165,12 +173,34 @@ } } - public static void destroyProcess(ThreadedProcess pp) { + public void destroyProcess() { + try { + killing = true; + destroyProcess(p, reactingProcess); + } finally { + killed = true; + } + } + + public boolean haveKilled() { + return killed; + } + + public boolean isKilling() { + return killing; + } + + + + public static void destroyProcess(ThreadedProcess pp, ReactingProcess reactingProcess) { Process p = pp.getP(); try { Field f = p.getClass().getDeclaredField("pid"); f.setAccessible(true); String pid = (f.get(p)).toString(); + if (reactingProcess != null) { + reactingProcess.beforeKill(pid); + }; sigInt(pid); //sigTerm(pid); //sigKill(pid); @@ -178,6 +208,9 @@ ServerAccess.logException(ex); } finally { p.destroy(); + if (reactingProcess != null) { + reactingProcess.afterKill(""); + }; } } @@ -193,7 +226,7 @@ kill(pid, "SIGTERM"); } - public static void kill(String pid,String signal) throws InterruptedException, Exception { + public static void kill(String pid, String signal) throws InterruptedException, Exception { List ll = new ArrayList(4); ll.add("kill"); ll.add("-s"); @@ -203,4 +236,31 @@ //before affected application close Thread.sleep(1000); } + + void setReactingProcess(ReactingProcess reactingProcess) { + this.reactingProcess = reactingProcess; + } + + public static void closeWindow(String pid) throws Exception { + List ll = new ArrayList(2); + ll.add(ServerAccess.getInstance().getDir().getParent() + "/softkiller"); + ll.add(pid); + ServerAccess.executeProcess(ll); //sync, but acctually release + //before affected application "close" + Thread.sleep(100); + + } + + public static void closeWindows(String s) throws Exception { + closeWindows(s, 10); + } + + public static void closeWindows(String s, int count) throws Exception { + //each close closes just one tab... + for (int i = 0; i < count; i++) { + ProcessAssasin.closeWindow(s); + } + } + + } diff -r 391ea885ec4d -r a1112e2c3bc6 tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java Fri Nov 23 11:31:19 2012 +0100 @@ -0,0 +1,235 @@ +/* ProcessWrapper.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +import java.io.File; +import java.io.OutputStream; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import net.sourceforge.jnlp.browsertesting.ReactingProcess; +import org.junit.Assert; + + + +/** + * This class wraps execution of ThreadedProcess. + * Add listeners and allows another setters, eg of ReactingProcess + * + */ +public class ProcessWrapper { + + private List args; + private File dir; + private final List stdoutl = new ArrayList(1); + private final List stderrl = new ArrayList(1); + private String[] vars; + private ReactingProcess reactingProcess; + + public ProcessWrapper() { + } + + public ProcessWrapper(String toBeExecuted, List otherargs, URL u, ContentReaderListener stdoutl, ContentReaderListener stderrl, String[] vars) throws Exception { + Assert.assertNotNull(u); + Assert.assertNotNull(toBeExecuted); + Assert.assertTrue(toBeExecuted.trim().length() > 1); + if (otherargs == null) { + otherargs = new ArrayList(1); + } + List urledArgs = new ArrayList(otherargs); + urledArgs.add(0, toBeExecuted); + urledArgs.add(u.toString()); + this.args = urledArgs; + this.addStdOutListener(stdoutl); + this.addStdErrListener(stderrl); + this.vars=vars; + + } + + ProcessWrapper(final List args, File dir, ContentReaderListener stdoutl, ContentReaderListener stderrl, String[] vars) { + this.args = args; + this.dir = dir; + this.addStdOutListener(stdoutl); + this.addStdErrListener(stderrl); + this.vars = vars; + } + + public final void addStdOutListener(ContentReaderListener l) { + if (l == null) { + return; + } + stdoutl.add(l); + + } + + public final void addStdErrListener(ContentReaderListener l) { + if (l == null) { + return; + } + stderrl.add(l); + + } + + /** + * @return the args + */ + public List getArgs() { + return args; + } + + /** + * @param args the args to set + */ + public void setArgs(List args) { + this.args = args; + } + + /** + * @return the dir + */ + public File getDir() { + return dir; + } + + /** + * @param dir the dir to set + */ + public void setDir(File dir) { + this.dir = dir; + } + + /** + * @return the stdoutl + */ + public List getStdoutListeners() { + return stdoutl; + } + + /** + * @return the stderrl + */ + public List getStderrListeners() { + return stderrl; + } + + /** + * @return the vars + */ + public String[] getVars() { + return vars; + } + + /** + * @param vars the vars to set + */ + public void setVars(String[] vars) { + this.vars = vars; + } + + public ServerAccess.ProcessResult execute() throws Exception { + if (reactingProcess !=null ){ + reactingProcess.beforeProcess(""); + }; + ThreadedProcess t = new ThreadedProcess(args, dir, vars); + if (ServerAccess.PROCESS_LOG) { + String connectionMesaage = createConnectionMessage(t); + ServerAccess.log(connectionMesaage, true, true); + } + ProcessAssasin pa = new ProcessAssasin(t, ServerAccess.PROCESS_TIMEOUT); + t.setAssasin(pa); + pa.setReactingProcess(reactingProcess); + setUpClosingListener(stdoutl, pa, t); + setUpClosingListener(stderrl, pa, t); + pa.start(); + t.start(); + while (t.getP() == null && t.deadlyException == null) { + Thread.sleep(100); + } + if (t.deadlyException != null) { + pa.setCanRun(false); + return new ServerAccess.ProcessResult("", "", null, true, Integer.MIN_VALUE, t.deadlyException); + } + ContentReader crs = new ContentReader(t.getP().getInputStream(), stdoutl); + ContentReader cre = new ContentReader(t.getP().getErrorStream(), stderrl); + + OutputStream out = t.getP().getOutputStream(); From jvanek at redhat.com Fri Nov 23 02:55:03 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 23 Nov 2012 11:55:03 +0100 Subject: jnlp not honoring custom xml parser property? In-Reply-To: <50AC6D36.2050902@gmail.com> References: <50AC6D36.2050902@gmail.com> Message-ID: <50AF5607.5010902@redhat.com> Hi Dan! Thank you for reporting! I'm afraid that you are right, however both our leading icedtea-web guys are on vacation so they will confirm later. On 11/21/2012 06:57 AM, Dan Rollo wrote: > First, apologies if I'm in the totally wrong place to ask this. Please steer me as needed. No, this is exactly the best list for this:) > > My java webstart app uses tags in the jnlp to override the default xml parsers, like so: > ... > value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/> > value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/> > > > > > > > ... > > This works fine on ubuntu and many other places, but on my niffty new Raspberry Pi, I'm getting an error as if the Service Provider contract is not being honoured, and/or as if the class in not in a jar on the classpath. > Here's the error trace snippets: This sentence make me doubt about my original words that we are not supporting. It actually looks like we are :). You can see that there is different JVM on your raspberry. There is Zero, and on ubuntu you wil have HotSpot. Although I doubt it a bit, there can be some more differences. > > Exception in thread "AWT-EventQueue-1" javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found > at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:127) > at com.bhaweb.studioE.model.DTDResolverStudioE.createDocumentBuilderStudioE(DTDResolverStudioE.java:69) > ... > Caused by: java.lang.ClassNotFoundException: org/apache/xerces/jaxp/DocumentBuilderFactoryImpl > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:264) > at javax.xml.parsers.FactoryFinder.getProviderClass(FactoryFinder.java:123) > at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:170) > at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:147) > at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:211) > at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:121) > ... 50 more > > > I'm running OpenJDK on my RaspberryPI running Raspbian: > > $ uname -a > Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux > > $ java -version > java version "1.7.0_07" > OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1) > OpenJDK Zero VM (build 22.0-b10, mixed mode) > > Any other info I can provide? Yap, what java do you have on your ubuntu adn what are versions of icedtea web? (javaws -about) I must admit I have never testes icedtea-web on zero :( Also it is possible that this is icedtea-web bug, but zero bug. Because icedtea-web is doing nothing more then forwarding those params to JVM. I will ask Pavel (cc'ed) if he ever tested zero in such manners. Thanx again for reporting! J. > > Thanks! > Dan Rollo From jvanek at redhat.com Fri Nov 23 03:02:10 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 23 Nov 2012 12:02:10 +0100 Subject: [fyi] icedtea-web - making browsers tests more stable - softkiller, session backup and it integration to firefox In-Reply-To: <1726223707.14013955.1353505682231.JavaMail.root@redhat.com> References: <1726223707.14013955.1353505682231.JavaMail.root@redhat.com> Message-ID: <50AF57B2.3060502@redhat.com> Hi! Pushed. I'm also attaching new integration patch for your softkiller, which you will need later, when you will smuggle softkiller to ITW :) Please note especially last two lines of attached patch: - //ProcessAssasin.closeWindows(s); + ProcessAssasin.closeWindows(s); Those will enable the softkiller for firefox. Other integrations are done. Although to have it enabled it now was making no real harm, it was spamming the output with exceptions. J. On 11/21/2012 02:48 PM, Pavel Tisnovsky wrote: > Hi Jiri, > > First part: > - I can't say anything about the softkiller itself ;-), let's have another pair of eyes to look at it > - Makefile changes looks ok > > Second part: > - All license headers are now indented by one more char in the diff - I'm not sure how it happened > but it don't have to be part of this change > > - I'm not sure if those new variables should or must be volatile because they are changed and read > form two or more threads w/o synchronization: > + //signifies that assasin have been summoned > + private boolean killing = false; > + //signifies that assasin have done its job > + private boolean killed = false; > > - Support for more listeners - OK > > - listener.lineReaded()... AFAIK "readed" should be written as "read" because it is irregular verb ;) > > - Following code is a bit strange, some copy& paste error? :) > + } catch (NullPointerException ex) { > + ex.printStackTrace(); > + } //do not want to bother output with terminations > + //mostly compaling when assassin kill the process about StreamClosed > + //do not want to bother output with terminations > + //mostly compaling when assassin kill the process about StreamClosed > > + public static void closeWindow(String pid) throws Exception { > + List ll = new ArrayList(4);<-- should be 2 here? > + ll.add(ServerAccess.getInstance().getDir().getParent() + "/softkiller"); > + ll.add(pid); > > - + //signifies that assasin have been summoned - haha we are going to transform IT-web into a game :D > > - diff -r c61b2db7d32f tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java > would be better to have some javadoc with explanation what this class does > > - huh? > + f.delete(); > + ; > + f.mkdir(); > > In overall your big patch seems to be correct and giving that tests are now more stable > I think it's ok to push it to HEAD. > > Cheers, > Pavel > > > > ----- Jiri Vanek wrote: >> Hi! >> >> This is another effort to make browser tests more stable. >> >> First part - softkiller - is Pavels attempt to close window "like cross is clicked". Hmm It is working... I'm still not sure how. Firefox looks to endure longer without safe mode, but eg opera can not survive it. And eg streams from browsers are flushed more properly. But also some lags are here which make it simetimes unstable. It also contains its integration to ITW make processes. >> /me is not taking any responsibility for this part :) >> >> >> Second part is oriented to usage of softkiller where possible and to backuping and restoring of FF sessions(by backuping/restoring profiles). >> >> To do this I had to do quite large refactoring, so the "executeProcess" logic will possible to accept implementations of some Interfaces, and then will be able to launch the interface's methods. >> All the executeProcess have been moved to ProcessWraper class. (old methods in ServerAccess like executeJavaws are now creating ProcessWraper instance). All browsers now Implements ReactableProcess, which can be called >> by executeProcess beforeProcess, afterProcess,beforeKill and afterKill. Implementation is done just for firefox, but I believe it will be helpful when other processes eill nedd some tunning. Usage of interface's methods in firefox for backuping/restoring session is quite strightforward then >> >> >> Any hints (especially to this early design) welcomed! >> >> J. > -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-Softkiler2.patch Type: text/x-patch Size: 12032 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/18941957/icedtea-web-Softkiler2.patch From jvanek at redhat.com Fri Nov 23 06:31:44 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 23 Nov 2012 15:31:44 +0100 Subject: [rfc] [icedtea-web] applets are more error reporting to user Message-ID: <50AF88D0.30701@redhat.com> This small patch (yah, fix itself have just one line) is adding visual experience to user if his applet fatally fails. You can see nice example in one of our testcases - http://www.knuddels.de:8080/index.html?v=90aez&c=7 I'm working on mechanism how to show much more errors by this way, but it will net native support on plugin side, so I'm waiting to Deepak with it. The included testcase I'm using for manual tracking of various exceptions. Imho I would like to push it and so do not need to keep ii in mind that it is somewhere on local drive. Thanx for any comments ! //to be honest hoping for direct approve :) J. 2012-11-23 Jiri Vanek Better error reporting from applets * netx/net/sourceforge/jnlp/NetxPanel.java: (init) ErrorSplash is shown if fatal exception is cought * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (replaceSpalsh) is rather removing all then just its previous version * tests/reproducers/simple/AppletTest/srcs/AppletErrorTest.java: * tests/reproducers/simple/AppletTest/resources/errorAppletAutoTests.html Testcase for manual testing of various exceptions from applet -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: aaarrrgg Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/e82e5d3e/aaarrrgg.ksh From bugzilla-daemon at icedtea.classpath.org Fri Nov 23 13:57:23 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 23 Nov 2012 21:57:23 +0000 Subject: [Bug 1232] New: SIGSEGV generating javadoc: com.sun.tools.doclets.formats.html.HtmlDocletWriter.getAnchor(Lcom/sun/javadoc/ExecutableMemberDoc; )Ljava/lang/String; Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1232 Priority: P3 Bug ID: 1232 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: SIGSEGV generating javadoc: com.sun.tools.doclets.formats.html.HtmlDocletWriter.ge tAnchor(Lcom/sun/javadoc/ExecutableMemberDoc;)Ljava/la ng/String; Severity: normal Classification: Unclassified OS: Linux Reporter: david_rennalls at mitel.com Hardware: x86 Status: NEW Version: unspecified Component: IcedTea Product: IcedTea Created attachment 803 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=803&action=edit hs_err file generated by the crash Ant build script died when generating javadoc for the source. OS and openjdk version are below.. [~]$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 5 CentOS release 5.7 (Final) [~]$ rpm -qi java-1.6.0 package java-1.6.0 is not installed rennalls at ottcmb41 : Fri Nov 23 04:55 PM [~]$ rpm -qi java-1.6.0-openjdk Name : java-1.6.0-openjdk Relocations: (not relocatable) Version : 1.6.0.0 Vendor: CentOS Release : 1.22.1.9.8.el5_6 Build Date: Wed 08 Jun 2011 07:27:57 PM EDT Install Date: Thu 06 Oct 2011 03:08:26 PM EDT Build Host: builder10.centos. org Group : Development/Languages Source RPM: java-1.6.0-openjdk-1.6.0 .0-1.22.1.9.8.el5_6.src.rpm Size : 54831824 License: ASL 1.1, ASL 2.0, GPL+, GPLv2, GPLv2 with exceptions, LGPL+, LGPLv2, MPLv1.0, MPLv1.1, Public Domain, W3 C Signature : DSA/SHA1, Mon 13 Jun 2011 09:09:11 AM EDT, Key ID a8a447dce8562897 URL : http://icedtea.classpath.org/ Summary : OpenJDK Runtime Environment Description : The OpenJDK runtime environment. ....snippet from the crash... [javadoc] Generating ..../EnumerateUserRequest.html... [javadoc] # [javadoc] # A fatal error has been detected by the Java Runtime Environment: [javadoc] # [javadoc] # SIGSEGV (0xb) at pc=0xb5113dae, pid=9120, tid=3085990800 [javadoc] # [javadoc] # JRE version: 6.0_20-b20 [javadoc] # Java VM: OpenJDK Server VM (19.0-b09 mixed mode linux-x86 ) [javadoc] # Derivative: IcedTea6 1.9.8 [javadoc] # Distribution: CentOS release 5.6 (Final), package rhel-1.22.1.9.8.el5_6-i386 [javadoc] # Problematic frame: [javadoc] # J com.sun.tools.doclets.formats.html.HtmlDocletWriter.getAnchor(Lcom/sun/javadoc/ExecutableMemberDoc;)Ljava/lang/String; [javadoc] # [javadoc] # An error report file with more information is saved as: [javadoc] # ..../hs_err_pid9120.log [javadoc] # [javadoc] # If you would like to submit a bug report, please include [javadoc] # instructions how to reproduce the bug and visit: [javadoc] # http://icedtea.classpath.org/bugzilla [javadoc] # ... -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121123/4b0b57ce/attachment.html From ptisnovs at icedtea.classpath.org Mon Nov 26 02:08:07 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 26 Nov 2012 10:08:07 +0000 Subject: /hg/gfx-test: Added new tests into src/org/gfxtest/testsuites/Bi... Message-ID: changeset fe59bdda77c8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=fe59bdda77c8 author: Pavel Tisnovsky date: Mon Nov 26 11:11:07 2012 +0100 Added new tests into src/org/gfxtest/testsuites/BitBltUsingBgColor.java - new background colors etc. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 70 ++++++++++++++++++++- 2 files changed, 70 insertions(+), 5 deletions(-) diffs (120 lines): diff -r 2887645db444 -r fe59bdda77c8 ChangeLog --- a/ChangeLog Thu Nov 22 10:27:36 2012 +0100 +++ b/ChangeLog Mon Nov 26 11:11:07 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-26 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Added new tests - new background colors etc. + 2012-11-22 Pavel Tisnovsky * src/org/gfxtest/framework/CommonPathsGenerator.java: diff -r 2887645db444 -r fe59bdda77c8 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Nov 22 10:27:36 2012 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Nov 26 11:11:07 2012 +0100 @@ -92,7 +92,7 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ - private TestResult doBitBltEmptyBufferedImageType3byteRGB(TestImage image, Graphics2D graphics2d, + private TestResult doBitBltEmptyBufferedImageType3ByteRGB(TestImage image, Graphics2D graphics2d, Color backgroundColor) { return CommonBitmapOperations.doBitBltTestWithEmptyImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); @@ -110,7 +110,22 @@ */ public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundBlack(TestImage image, Graphics2D graphics2d) { - return doBitBltEmptyBufferedImageType3byteRGB(image, graphics2d, Color.black); + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.blue. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.blue); } /** @@ -125,7 +140,52 @@ */ public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundGreen(TestImage image, Graphics2D graphics2d) { - return doBitBltEmptyBufferedImageType3byteRGB(image, graphics2d, Color.green); + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.cyan. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.red. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.magenta. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.magenta); } /** @@ -140,7 +200,7 @@ */ public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundYellow(TestImage image, Graphics2D graphics2d) { - return doBitBltEmptyBufferedImageType3byteRGB(image, graphics2d, Color.yellow); + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.yellow); } /** @@ -155,7 +215,7 @@ */ public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundWhite(TestImage image, Graphics2D graphics2d) { - return doBitBltEmptyBufferedImageType3byteRGB(image, graphics2d, Color.white); + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.white); } /** From ptisnovs at icedtea.classpath.org Mon Nov 26 02:31:08 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 26 Nov 2012 10:31:08 +0000 Subject: /hg/rhino-tests: Added new tests into src/org/RhinoTests/Binding... Message-ID: changeset 4876f3e3df53 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=4876f3e3df53 author: Pavel Tisnovsky date: Mon Nov 26 11:34:08 2012 +0100 Added new tests into src/org/RhinoTests/BindingsTest.java for checking constructor behaviour. Fixed existing tests to avoid compiler (ecj) warnings. diffstat: ChangeLog | 6 ++++ src/org/RhinoTests/BindingsTest.java | 47 ++++++++++++++++++++++++++++++++++- 2 files changed, 51 insertions(+), 2 deletions(-) diffs (88 lines): diff -r 24686f9e632a -r 4876f3e3df53 ChangeLog --- a/ChangeLog Thu Nov 22 10:38:39 2012 +0100 +++ b/ChangeLog Mon Nov 26 11:34:08 2012 +0100 @@ -1,3 +1,9 @@ +2012-11-26 Pavel Tisnovsky + + * src/org/RhinoTests/BindingsTest.java: + Added new tests for checking constructor behaviour. + Fixed existing tests to avoid compiler (ecj) warnings. + 2012-11-22 Pavel Tisnovsky * src/org/RhinoTests/JavaScriptSnippets.java: diff -r 24686f9e632a -r 4876f3e3df53 src/org/RhinoTests/BindingsTest.java --- a/src/org/RhinoTests/BindingsTest.java Thu Nov 22 10:38:39 2012 +0100 +++ b/src/org/RhinoTests/BindingsTest.java Mon Nov 26 11:34:08 2012 +0100 @@ -41,6 +41,7 @@ package org.RhinoTests; import java.util.HashMap; +import java.util.Map; import java.util.TreeMap; import javax.script.SimpleBindings; @@ -72,19 +73,61 @@ } protected void testConstructor2() { - Bindings bindings = new SimpleBindings(new HashMap()); + Bindings bindings = new SimpleBindings(new HashMap()); assertNotNull(bindings, "new SimpleBindings() failed"); assertTrue(bindings.isEmpty(), "bindings should be empty"); assertTrue(bindings.size() == 0, "bindings should be empty"); } protected void testConstructor3() { - Bindings bindings = new SimpleBindings(new TreeMap()); + Bindings bindings = new SimpleBindings(new TreeMap()); assertNotNull(bindings, "new SimpleBindings() failed"); assertTrue(bindings.isEmpty(), "bindings should be empty"); assertTrue(bindings.size() == 0, "bindings should be empty"); } + protected void testConstructor4() { + Map map = new HashMap(); + map.put("key", "value"); + Bindings bindings = new SimpleBindings(map); + assertNotNull(bindings, "new SimpleBindings() failed"); + assertTrue(!bindings.isEmpty(), "bindings should not be empty"); + assertTrue(bindings.size() == 1, "bindings should not be empty"); + assertNotNull(bindings.get("key"), "this object should be stored in bindings"); + assertEquals(bindings.get("key"), "value", "wrong value returned"); + } + + protected void testConstructor5() { + Map map = new TreeMap(); + map.put("key", "value"); + Bindings bindings = new SimpleBindings(map); + assertNotNull(bindings, "new SimpleBindings() failed"); + assertTrue(!bindings.isEmpty(), "bindings should not be empty"); + assertTrue(bindings.size() == 1, "bindings should not be empty"); + assertNotNull(bindings.get("key"), "this object should be stored in bindings"); + assertEquals(bindings.get("key"), "value", "wrong value returned"); + } + + protected void testConstructor6() { + Map map = new HashMap(); + map.put("key", null); + Bindings bindings = new SimpleBindings(map); + assertNotNull(bindings, "new SimpleBindings() failed"); + assertTrue(!bindings.isEmpty(), "bindings should not be empty"); + assertTrue(bindings.size() == 1, "bindings should not be empty"); + assertNull(bindings.get("key"), "this object should be stored in bindings"); + } + + protected void testConstructor7() { + Map map = new HashMap(); + map.put("key", null); + Bindings bindings = new SimpleBindings(map); + assertNotNull(bindings, "new SimpleBindings() failed"); + assertTrue(!bindings.isEmpty(), "bindings should not be empty"); + assertTrue(bindings.size() == 1, "bindings should not be empty"); + assertNull(bindings.get("key"), "this object should be stored in bindings"); + } + protected void testContainsKey1() { Bindings bindings = new SimpleBindings(); assertFalse(bindings.containsKey("key"), "Bingings.containsKey() failed"); From bugzilla-daemon at icedtea.classpath.org Mon Nov 26 02:54:57 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 26 Nov 2012 10:54:57 +0000 Subject: [Bug 1232] SIGSEGV generating javadoc: com.sun.tools.doclets.formats.html.HtmlDocletWriter.getAnchor(Lcom/sun/javadoc/ExecutableMemberDoc; )Ljava/lang/String; In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1232 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Version|unspecified |6-1.9.8 Resolution|--- |WONTFIX --- Comment #1 from Andrew John Hughes --- 1.9.8 is no longer supported. Please upgrade to a current version. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121126/e0bdd538/attachment.html From ptisnovs at redhat.com Mon Nov 26 04:35:09 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Mon, 26 Nov 2012 07:35:09 -0500 (EST) Subject: [rfc] [icedtea-web] applets are more error reporting to user In-Reply-To: <50AF88D0.30701@redhat.com> Message-ID: <1814630420.16557594.1353933309129.JavaMail.root@redhat.com> Hi Jiri, this change looks reasonable. I just feel you need to add volatile modifier to "boolean finished" variable. Thanks, Pavel ----- Jiri Vanek wrote: > This small patch (yah, fix itself have just one line) is adding visual experience to user if his applet fatally fails. > > You can see nice example in one of our testcases - http://www.knuddels.de:8080/index.html?v=90aez&c=7 > > I'm working on mechanism how to show much more errors by this way, but it will net native support on plugin side, so I'm waiting to Deepak with it. > > The included testcase I'm using for manual tracking of various exceptions. Imho I would like to push it and so do not need to keep ii in mind that it is somewhere on local drive. > > Thanx for any comments ! > //to be honest hoping for direct approve :) > > J. > > > 2012-11-23 Jiri Vanek > > Better error reporting from applets > * netx/net/sourceforge/jnlp/NetxPanel.java: (init) ErrorSplash is shown > if fatal exception is cought > * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (replaceSpalsh) > is rather removing all then just its previous version > * tests/reproducers/simple/AppletTest/srcs/AppletErrorTest.java: > * tests/reproducers/simple/AppletTest/resources/errorAppletAutoTests.html > Testcase for manual testing of various exceptions from applet From adomurad at redhat.com Mon Nov 26 12:07:43 2012 From: adomurad at redhat.com (Adam Domurad) Date: Mon, 26 Nov 2012 15:07:43 -0500 Subject: [rfc][icedtea-web] Remove need for HTML tag scanner in PluginAppletViewer In-Reply-To: <50A64A4A.9050405@redhat.com> References: <50899C9E.8020204@redhat.com> <508A8C6D.6070100@redhat.com> <5090333B.7070507@redhat.com> <50A64A4A.9050405@redhat.com> Message-ID: <50B3CC0F.6010706@redhat.com> On 11/16/2012 09:14 AM, Jiri Vanek wrote: > On 10/30/2012 09:06 PM, Adam Domurad wrote: > > On 10/26/2012 09:13 AM, Jiri Vanek wrote: > >> On 10/25/2012 10:10 PM, Adam Domurad wrote: > >>> Hi all. This is something I've wanted to do for a while, simply > because of the hackish nature of the > >>> applet/object/embed tag parsing code in ITW. Thoughts welcome, > I'll still be doing some more testing > >>> on this (looks good so far) but would appreciate feedback. The > patch also makes it possible to do > >>> unit tests from classes included in plugin.jar (used to unit test > the new > >>> sun.java.PluginAppletAttributes). > >>> > >>> The applet tag information flows like this pre-patch: > >>> - NPAPI parses the tag information > >>> - ITW's C++ side takes in the already-parsed tag information, > creates an embed tag (embed tag only) > >>> for ITW to use. > >>> - ITW's java side receives the tag, and scans it using (less than > desirable) parsing routines. > >>> > >>> Post-patch: > >>> - NPAPI parses the tag information > >>> - ITW's C++ side generates a simple listing of the name value > pairs passed > >>> - ITW's java side parses these name value pairs > >> > >> I like this patch. I found several issues which had come across my > mind, but I think during other reviews there will come more of them. > >> Also I'm not 100% capable to verify C code. SO before aprove I will > definitely check with Pavel or somebody else can do this. I checked c > part only from logical point of view. > >>> > >>> Points of contention: > >>> - PluginAppletViewer#parse had a 'ydisp' variable that has been > changed to a static variable, since > >>> the parse method will now only ever handle one applet tag (the old > version expected to have > >>> potentially multiple). However I'm not 100% about this because the > old version as well only ever > >>> received one applet tag, rendering this effectively to always be > 1... I'm not sure if the behaviour > >>> should be 'fixed' this way. > >> > >> Your arguments seemed valid. And although PluginAppletViewer is > singleton, making the ydisp variable static looks like it will behave > differently. I would recommend empiric testing :)) See how multiple > applets are shown on (multiple)page(s) and compare with your new > implementation :) > >>> > >>> - The code was made to behave as-it-were as much as possible, > meaning it can print a warning about a > >>> "missing code attribute in the embed tag" no matter what tag was > used. This is as it was because ITW > >>> would always get passed an embed tag. Feel free to force me to > change it:) > >>> > >>> ChangeLog: > >>> 2012-10-25 Adam Domurad > >>> > >>> Remove the applet/embed/object tag parser from ITW. Send the applet > >>> parameters directly from the C++. > >>> * Makefile.am: Allow unit-testing for classes in plugin.jar. > >>> * plugin/icedteanp/IcedTeaNPPlugin.cc: Send quoted parameter > >>> name/values instead of applet tag. Remove some dead code. > >>> * plugin/icedteanp/IcedTeaNPPlugin.h: Rename applet_tag -> > >>> parameters_string. > >>> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: > >>> Extract parsing code into its own class. > >>> * plugin/icedteanp/java/sun/applet/PluginAppletAttributes.java: > >>> New, encapsulates the (simplified) attribute parsing logic. > >>> * tests/netx/unit/sun/applet/PluginAppletAttributesTest.java: > >>> Unit tests for parsing logic. > >>> > >>> > >>> nuke-parser.patch > >>> > >>> > >>> diff --git a/Makefile.am b/Makefile.am > >>> --- a/Makefile.am > >>> +++ b/Makefile.am > >>> @@ -882,7 +882,7 @@ stamps/netx-unit-tests-compile.stamp: st > ... > >>> > >>> return encoded; > >> > >> This is probably strangest stuff in patch. NPAPI is returning > already decoded strings. Why to encode them again?!?!?! > >> > >> Unless I see something very wrong, get rid of this unnecessary > middle step! > >> > >>> } > >>> > ... > >>> +import java.util.List; > >>> + > >>> +/** > >>> + * Provides parsing for applet attributes passed from the C++ > side as quoted, > >>> + * encoded strings. This class is not meant to be initialized > >> > >> No author in ITW sources please:) > >> > >> Please, mke this class as classical object. You can still keep some > static (or singleton) utility methods here, but prefer more object way: > >> > >> Hashtable atts = > PluginAppletAttributes.getPArser().parse(width, height, tag); > >> or > >> Hashtable atts = new > PluginAppletAttributes().parse(width, height, tag); > >> > >> Although I would like to recomand to wrap the Hashtable String> to Object. Eg ParsedAppletTag. so the above methods wirr > return this one. > >> One will thenbe able to access parsedAppletTag.getKey() and will be > also able to recieve something else then Strings > >> > >> And again. Get rid of redundant decoding! > >> > >> > >>> + * @author Adam Domurad > >>> + */ > >>> +class PluginAppletAttributes { > >>> + /** > >>> + * Decodes the string (converts html escapes into proper characters) > >>> + * > >>> + * @param toDecode The string to decode > >>> + * @return The decoded string > >>> + */ > >>> + static String decodeString(String toDecode) { > >>> + > >>> + toDecode = toDecode.replace(">", ">"); > >>> + toDecode = toDecode.replace("<", "<"); > >>> + toDecode = toDecode.replace(" ", "\n"); > >>> + toDecode = toDecode.replace(" ", "\r"); > >>> + toDecode = toDecode.replace(""", "\""); > >>> + toDecode = toDecode.replace("&", "&"); > >>> + > >>> + return toDecode; > >>> + } > >>> + > >>> + static final boolean isInt(String s) { > >>> + try { > >>> + Integer.parseInt(s); > >>> + return true; > >>> + } catch (NumberFormatException e) { > >>> + return false; > >>> + } > >>> + } > >> > >> :DDD no! :D Although this give sense, I would not recommand usage > of exception for directing the flow of code :) > >> My suggestion will be matches \d+ ;) > >> I have also some susspiccion that there is ssDigit method somewhere. > >> > >>> + > >>> + static List extractQuotedStrings(String s) { > >>> + List strs = new ArrayList(); > ... > >>> + AppletMessageHandler amh = new > AppletMessageHandler("appletviewer"); > >>> + URL url = new URL(documentBase); > >>> + URLConnection conn = url.openConnection(); > >>> + /* The original URL may have been redirected - this > >>> + * sets it to whatever URL/codebase we ended up getting > >>> + */ > >>> + url = conn.getURL(); > >>> + > >> > >> I would like to see thios in different method. Also the ydisp > remains questionable. Imho with yournew approach it will lead to > complete removal of it (i'm really afraid of case like three applets > per page, and several such a pages) > >> > >>> + Hashtable atts = > PluginAppletAttributes.parse(width, height, tag); > >>> + > ... > >>> + Hashtable atts; > >>> + > >>> + atts = PluginAppletAttributes.parse(width, height, codeKeyVal); > >>> + assertEquals("1", atts.get("width")); > >>> + assertEquals("1", atts.get("height")); > >>> + > >>> + //Test that width height are defaulted to in case of > not-a-number attributes: > >>> + atts = PluginAppletAttributes.parse(width, height, codeKeyVal + > " \"width\" \"NAN\" \"height\" \"NAN\" "); > >>> + assertEquals("1", atts.get("width")); > >>> + assertEquals("1", atts.get("height")); > >>> + } > >>> + > >>> + @Test > >>> + public void testAttributeParseCodeAttribute() { > >>> + final String width = "1", height = "1"; > >>> + Hashtable atts; > >>> + > >>> + atts = PluginAppletAttributes.parse(width, height, "\"classid\" > \"classidValue\" "); > >>> + assertEquals("classidValue", atts.get("code")); > >>> + > >>> + atts = PluginAppletAttributes.parse(width, height, "\"code\" > \"java:codeValue\" "); > >>> + assertEquals("codeValue", atts.get("code")); > >>> + > >>> + atts = PluginAppletAttributes.parse(width, height, "\"classid\" > \"clsid:classidValue\" "); > >>> + assertEquals(null, atts); //NB: atts == null if theres no object > or code attribute > >>> + > >>> + atts = PluginAppletAttributes.parse(width, height, "\"object\" > \"objectValue\" "); > >>> + assertEquals("objectValue", atts.get("object")); > >>> + } > >>> +} > >> > >> > >> I do not want to be pedantic, but how deep is coverage of those? > >> And probably tehre will come need to test possible new > ParsedAppletTAg class. > >>> > >> > >> Thanx for valuable patch! > >> > >> J. > >> > > > > Thanks for the comments, I hope to have addressed them. Attached is > iteration 2, let me know what you think of the direction it is going. > > This patch introduces net.sourceforge.jnlp.PluginParameters as well > as sun.applet.PluginParameterParser. I have removed the use of static > method as suggested. > > > > The decoded was replaced by a simple escaping. > > The wrapped PluginParameter's class was used where I thought was > logical, please comment especially on the placement of this class > where Hashtable was previously used. > > > > Thanks for the review & hints, > > - Adam > >> nuke-parser2.patch >> >> >> diff --git a/Makefile.am b/Makefile.am >> --- a/Makefile.am >> +++ b/Makefile.am >> @@ -882,7 +882,7 @@ stamps/netx-unit-tests-compile.stamp: st >> mkdir -p $(NETX_UNIT_TEST_DIR)&& \ >> $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ >> -d $(NETX_UNIT_TEST_DIR) \ >> - -classpath >> $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) \ >> + -classpath >> $(JUNIT_JAR):$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar:$(NETX_DIR)/lib/classes.jar:$(TEST_EXTENSIONS_DIR) >> \ >> @netx-unit-tests-source-files.txt&& \ >> mkdir -p stamps&& \ >> touch $@ >> @@ -912,7 +912,7 @@ stamps/run-netx-unit-tests.stamp: stamps >> done ; \ >> cd $(NETX_UNIT_TEST_DIR) ; \ >> class_names=`cat $(UNIT_CLASS_NAMES)` ; \ >> - >> CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):. >> \ >> + >> CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):. >> \ >> $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine >> $$class_names >> if WITH_XSLTPROC >> $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl >> $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml> $(TESTS_DIR)/logs_unit.html >> diff --git a/netx-dist-tests-whitelist b/netx-dist-tests-whitelist >> --- a/netx-dist-tests-whitelist >> +++ b/netx-dist-tests-whitelist >> @@ -1,1 +1,1 @@ >> -.* >> +AppletTakes.* >> diff --git a/netx/net/sourceforge/jnlp/NetxPanel.java >> b/netx/net/sourceforge/jnlp/NetxPanel.java >> --- a/netx/net/sourceforge/jnlp/NetxPanel.java >> +++ b/netx/net/sourceforge/jnlp/NetxPanel.java >> @@ -28,7 +28,6 @@ import net.sourceforge.jnlp.runtime.JNLP >> >> import java.net.URL; >> import java.util.HashMap; >> -import java.util.Hashtable; >> import java.util.Map; >> import java.util.concurrent.ConcurrentHashMap; >> import java.util.concurrent.ConcurrentMap; >> @@ -43,11 +42,11 @@ import sun.awt.SunToolkit; >> * @author Francis Kung >> */ >> public class NetxPanel extends AppletViewerPanel { >> - private PluginBridge bridge = null; >> + private final PluginParameters parameters; >> + private PluginBridge bridge; >> private boolean exitOnFailure = true; >> - private AppletInstance appInst = null; >> + private AppletInstance appInst; > > Why remove of null? Dropped this change. On further consideration, the explicit null's do serve a purpose. > >> private boolean appletAlive; >> - private final String uKey; >> > ...looks ok... >> for (String cacheJar : cacheJars) { >> diff --git a/netx/net/sourceforge/jnlp/PluginParameters.java >> b/netx/net/sourceforge/jnlp/PluginParameters.java >> new file mode 100644 >> --- /dev/null >> +++ b/netx/net/sourceforge/jnlp/PluginParameters.java >> @@ -0,0 +1,232 @@ >> +/* PluginAppletAttributes -- Provides parsing for applet attributes > ... >> + >> + /** >> + * Creates the underlying hash table with the proper overrides. >> + * Ensure all keys are lowercase consistently. >> + * >> + * @param params the properties, before parameter aliasing rules. >> + * @return the resulting parameter table >> + */ > > > The only reasons why you are introducing your own hashmap (backed by > classical one) instead of direct backing are handling of case and > java_ prefix? > Hmm.. sounds little bit fragile ;-/ Helper method introduced, but overall as it was. > >> + static Hashtable >> createParameterTable(Map rawParams) { >> + Hashtable params = new Hashtable> String>(); >> + >> + for (Map.Entry entry : rawParams.entrySet()) { >> + String key = entry.getKey().toLowerCase(); >> + String value = entry.getValue(); >> + params.put(key, value); >> + } >> + >> + // If there is a classid and no code tag present, transform >> it to code tag >> + if (params.get("code") == null&& params.get("classid") != null > > missing spaces before && ( " "&&" " ) all around. Please fix to > java-style. Autoformatted the class. > >> +&& !(params.get("classid")).startsWith("clsid:")) { >> + params.put("code", params.get("classid")); >> + } >> + >> + // remove java: from code tag >> + if (params.get("code") != null&& >> (params.get("code")).startsWith("java:")) { >> + params.put("code", (params.get("code")).substring(5)); >> + } >> + >> + // java_* aliases override older names: >> + >> //http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/using_tags.html#in-nav >> + if (params.get("java_code") != null) { >> + params.put("code", (params.get("java_code"))); >> + } >> + >> + if (params.get("java_codebase") != null) { >> + params.put("codebase", (params.get("java_codebase"))); >> + } >> + >> + if (params.get("java_archive") != null) { >> + params.put("archive", (params.get("java_archive"))); >> + } >> + >> + if (params.get("java_object") != null) { >> + params.put("object", (params.get("java_object"))); >> + } >> + >> + if (params.get("java_type") != null) { >> + params.put("type", (params.get("java_type"))); >> + } >> + return params; >> + } > > > Persoanlly I'm strongly against inner classes and exceptions. > Especially against package-private inner classes. > I would strongly recommend you to move this class to public, outer > one, but do as you feel. You're strongly against inner classes, and strongly against exceptions? :) Good point though, made public & outer. > > Also I'm against localised exceptions, but Here I probably agree. >> + >> + static class PluginParameterException extends RuntimeException { >> + public PluginParameterException(String detail) { >> + super(detail); >> + } >> + } >> + >> + public String toString() { >> + return parameters.toString(); >> + } >> +} >> \ No newline at end of file >> diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties >> b/netx/net/sourceforge/jnlp/resources/Messages.properties >> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties >> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties >> @@ -141,6 +141,7 @@ BFileLoc=JNLP file location >> BBadProp=Incorrect property format {0} (should be key=value) >> BBadParam=Incorrect parameter format {0} (should be name=value) >> BNoDir=Directory {0} does not exist. > > Isnt field little bit confusing? Attribute perhaps? Made field be attribute instead. >> +BNoCodeOrObjectApplet=Applet tag must specify a 'code' or 'object' >> field. > > In cz_CS it will be > > +BNoCodeOrObjectApplet=Zna?ka applet mus? m?t defnov?n k?d nebo objekt > - atributy 'code' nebo 'object' chyb?. > > >> RNoResource=Missing Resource: {0} >> RShutdown=This exception to prevent shutdown of JVM, but the >> process has been terminated. >> RExitTaken=Exit class already set and caller is not exit class. > > good :)) > > Maybe some explanation of : -> ; transformation is worthy > >> [.. snipped ..] >> - String tag = message.substring(spaceLocation + 1); >> + String paramString = message.substring(spaceLocation >> + 1); >> >> PluginDebug.debug("Handle = ", handle, "\n", >> "Width = ", width, "\n", >> "Height = ", height, "\n", >> "DocumentBase = ", >> documentBase, "\n", >> - "Tag = ", tag); >> + "Params = ", paramString); >> >> - PluginAppletViewer.parse >> - (identifier, handle, width, >> height, >> - new StringReader(tag), >> - new URL(documentBase)); >> + PluginAppletPanelFactory factory = new >> PluginAppletPanelFactory(); >> + AppletMessageHandler amh = new >> AppletMessageHandler("appletviewer"); >> + URL url = new URL(documentBase); >> + URLConnection conn = url.openConnection(); >> + /* The original URL may have been redirected - this >> + * sets it to whatever URL/codebase we ended up getting >> + */ >> + url = conn.getURL(); >> + >> + PluginParameters params = new >> PluginParameterParser().parse(width, height, paramString); >> + >> + // Let user know we are starting up >> + streamhandler.write("instance " + identifier + " >> status " + amh.getMessage("status.start")); >> + factory.createPanel(streamhandler, identifier, >> handle, url, params); > > This several lines scares em a bit if all current tesakses are pasing, > then I'm just paranoic. Being you, I woulld not trust me and rerun > once more times. All tests seem fine at my end. > >> >> long maxTimeToSleep = APPLET_TIMEOUT; >> appletsLock.lock(); >> @@ -695,10 +699,10 @@ public class PluginAppletViewer extends >> // 0 => width, 1=> width_value, 2 => height, 3=> >> height_value >> String[] dimMsg = message.split(" "); >> >> + final int width = Integer.parseInt(dimMsg[1]); >> final int height = Integer.parseInt(dimMsg[3]); >> - final int width = Integer.parseInt(dimMsg[1]); > ^^ ?? > >> >> - panel.updateSizeInAtts(height, width); >> + panel.updateSizeInAtts(width, height); > > This is probably strongly unrelated. > > [..snipped..] > Except the minor stuff I'm ok with the chage. > > J. Thanks for the look over Jiri and Pavel. As Pavel suggested I added unit tests for the case where key/values are empty - and indeed they did not work as intended. This has been fixed. I have addressed Jiri's comments, removing some style changes that probably should not have been snuck in :). I have done additional testing on corner cases, and added C++ side unit tests. All tests seem to be in order. Note that the old parsing code seemed to set x and y locations of applets, but that turned out to not be the case. The ultimate destination of the x and y parameters was for the PluginAppletPanelFactory.createPanel function, which oddly enough did not use them at all. The X and Y fiddling has thus been dropped entirely, and it does not seem to have affected anything. Attached is the patch as well as some additional refactoring in a separate patch (which I can live without, but could be nice). 2012-11-26 Adam Domurad Remove the applet/embed/object tag parser from ITW. Send the applet parameters directly from the C++. * Makefile.am: Allow unit-testing for classes in plugin.jar. * netx/net/sourceforge/jnlp/NetxPanel.java: Use PluginParameters for attribute lookup * netx/net/sourceforge/jnlp/PluginBridge.java: Use PluginParameters for attribute lookup * netx/net/sourceforge/jnlp/resources/Messages.properties: Add message for missing code/object attributes. * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: Same. * plugin/icedteanp/IcedTeaNPPlugin.cc: Send escaped parameter name/values instead of applet tag. Remove some dead code. * plugin/icedteanp/IcedTeaNPPlugin.h: Rename applet_tag -> parameters_string. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Extract parsing code into its own class. * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: Use CHECK_EQUALS instead of CHECK. * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: Update unit tests due to constructor changes. * netx/net/sourceforge/jnlp/PluginParameterException.java: New, thrown when code/object attributes are missing. * netx/net/sourceforge/jnlp/PluginParameters.java: New, Hashtable wrapper that handles plugin attribute/parameter lookups. * plugin/icedteanp/java/sun/applet/PluginParameterParser.java: New, creates PluginParameters from escaped name/values. * tests/cpp-unit-tests/PluginParametersTest.cc: New, C++ Unit tests for plugin parameter related functions * tests/netx/unit/net/sourceforge/jnlp/PluginParametersTest.java: New, unit tests for PluginParameters class. * tests/netx/unit/sun/applet/PluginParameterParserTest.java: New, unit tests for PluginParameterParser class. Refactoring patch 1, extract PluginAppletPanelFactory: 2012-11-26 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Extracted PluginAppletPanelFactory. * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java: Moved into own file. Refactoring patch 2, new method PluginAppletViewer#handleInitializationMessage from handleMessage: 2012-11-26 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (handleInitializationMessage): New, extracts initialization logic from PluginAppletViewer.handleMessage. Happy hacking, -Adam -------------- next part -------------- A non-text attachment was scrubbed... Name: nuke-parser3.patch Type: text/x-patch Size: 84561 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121126/5ba08193/nuke-parser3.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extract-factory.patch Type: text/x-patch Size: 16143 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121126/5ba08193/extract-factory.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extract-initialization.patch Type: text/x-patch Size: 8334 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121126/5ba08193/extract-initialization.patch From adomurad at redhat.com Mon Nov 26 13:52:52 2012 From: adomurad at redhat.com (Adam Domurad) Date: Mon, 26 Nov 2012 16:52:52 -0500 Subject: [fyi] icedtea-web - making browsers tests more stable - softkiller, session backup and it integration to firefox In-Reply-To: <50AF57B2.3060502@redhat.com> References: <1726223707.14013955.1353505682231.JavaMail.root@redhat.com> <50AF57B2.3060502@redhat.com> Message-ID: <50B3E4B4.8020105@redhat.com> On 11/23/2012 06:02 AM, Jiri Vanek wrote: > Hi! > > Pushed. > > I'm also attaching new integration patch for your softkiller, which > you will need later, when you will smuggle softkiller to ITW :) > Please note especially last two lines of attached patch: > - //ProcessAssasin.closeWindows(s); > + ProcessAssasin.closeWindows(s); > > Those will enable the softkiller for firefox. Other integrations are > done. > > Although to have it enabled it now was making no real harm, it was > spamming the output with exceptions. > > J. > > On 11/21/2012 02:48 PM, Pavel Tisnovsky wrote: >> Hi Jiri, >> >> First part: >> - I can't say anything about the softkiller itself ;-), let's have >> another pair of eyes to look at it >> - Makefile changes looks ok >> >> Second part: >> - All license headers are now indented by one more char in the diff >> - I'm not sure how it happened >> but it don't have to be part of this change >> >> - I'm not sure if those new variables should or must be volatile >> because they are changed and read >> form two or more threads w/o synchronization: >> + //signifies that assasin have been summoned >> + private boolean killing = false; >> + //signifies that assasin have done its job >> + private boolean killed = false; >> >> - Support for more listeners - OK >> >> - listener.lineReaded()... AFAIK "readed" should be written as >> "read" because it is irregular verb ;) >> >> - Following code is a bit strange, some copy& paste error? :) >> + } catch (NullPointerException ex) { >> + ex.printStackTrace(); >> + } //do not want to bother output with terminations >> + //mostly compaling when assassin kill the process about >> StreamClosed >> + //do not want to bother output with terminations >> + //mostly compaling when assassin kill the process about >> StreamClosed >> >> + public static void closeWindow(String pid) throws Exception { >> + List ll = new ArrayList(4);<-- should be 2 >> here? >> + ll.add(ServerAccess.getInstance().getDir().getParent() + >> "/softkiller"); >> + ll.add(pid); >> >> - + //signifies that assasin have been summoned - haha we are >> going to transform IT-web into a game :D >> >> - diff -r c61b2db7d32f >> tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java >> would be better to have some javadoc with explanation what this >> class does >> >> - huh? >> + f.delete(); >> + ; >> + f.mkdir(); >> >> In overall your big patch seems to be correct and giving that tests >> are now more stable >> I think it's ok to push it to HEAD. >> >> Cheers, >> Pavel >> >> >> >> ----- Jiri Vanek wrote: >>> Hi! >>> >>> This is another effort to make browser tests more stable. >>> >>> First part - softkiller - is Pavels attempt to close window "like >>> cross is clicked". Hmm It is working... I'm still not sure how. >>> Firefox looks to endure longer without safe mode, but eg opera can >>> not survive it. And eg streams from browsers are flushed more >>> properly. But also some lags are here which make it simetimes >>> unstable. It also contains its integration to ITW make processes. >>> /me is not taking any responsibility for this part :) >>> >>> >>> Second part is oriented to usage of softkiller where possible and to >>> backuping and restoring of FF sessions(by backuping/restoring >>> profiles). >>> >>> To do this I had to do quite large refactoring, so the >>> "executeProcess" logic will possible to accept implementations of >>> some Interfaces, and then will be able to launch the interface's >>> methods. >>> All the executeProcess have been moved to ProcessWraper class. (old >>> methods in ServerAccess like executeJavaws are now creating >>> ProcessWraper instance). All browsers now Implements >>> ReactableProcess, which can be called >>> by executeProcess beforeProcess, afterProcess,beforeKill and >>> afterKill. Implementation is done just for firefox, but I believe it >>> will be helpful when other processes eill nedd some tunning. Usage >>> of interface's methods in firefox for backuping/restoring session is >>> quite strightforward then >>> >>> >>> Any hints (especially to this early design) welcomed! >>> >>> J. >> > Hi, lending some extra eyes. The C portion looked good to me (very correctness-conscious too :). I cannot comment too deeply on the correctness of the API usage but it all seems in order. Happy hacking, - Adam From bugzilla-daemon at icedtea.classpath.org Mon Nov 26 16:46:45 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Nov 2012 00:46:45 +0000 Subject: [Bug 1233] New: java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1233 Priority: P3 Bug ID: 1233 CC: unassigned at icedtea.classpath.org Assignee: gnu.andrew at redhat.com Summary: java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error Severity: normal Classification: Unclassified OS: Linux Reporter: yoshiki at sendme.email.ne.jp Hardware: sparc64 Status: NEW Version: 6-1.11.5 Component: IcedTea Product: IcedTea Created attachment 804 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=804&action=edit server build hs_err I have built both zero and C2 JIT configurations of OpenJDK 6.0_24-b24 for Linux/SPARC. Some test programs including SPEC benchmarks are working properly without any errors. However, both of JVM causes an SIGBUS error in case of Inet4Address. [InetAddressTest.java] public class Test { public static void main(String[] args) throws Exception { InetAddress localaddr = InetAddress.getLocalHost(); String hostName = localaddr.getHostName(); System.out.println(hostName); } } The following is a piece of log. I put the option -verbose:jni for the command line arguments. Does anybody address how to work around this issue? [Dynamic-linking native method java.net.InetAddress.init ... JNI] [Dynamic-linking native method java.net.InetAddressImplFactory.isIPv6Supported ... JNI] [Dynamic-linking native method java.net.Inet4AddressImpl.getLocalHostName ... JNI] # # A fatal error has been detected by the Java Runtime Environment: # # SIGBUS (0xa) at pc=0xffffffff01bf47f8, pid=14067, tid=18446735281912944976 # # JRE version: 6.0_24-b24 # Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-sparc compressed oops) # Derivative: IcedTea6 1.11.5 # Distribution: Custom build (Sat Nov 24 22:26:19 JST 2012) # Problematic frame: # [error occurred during error reporting (printing problematic frame), id 0xe0000000] # An error report file with more information is saved as: # /group1/gc83/share/.local/mpj-v0_38/tmp/hs_err_pid14067.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # Aborted -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121127/2adefaf9/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Nov 26 16:47:09 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Nov 2012 00:47:09 +0000 Subject: [Bug 1233] java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1233 --- Comment #1 from sato --- Created attachment 805 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=805&action=edit zero build hs_err -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121127/b1b8b973/attachment.html From danrollo at gmail.com Mon Nov 26 16:59:09 2012 From: danrollo at gmail.com (Dan Rollo) Date: Mon, 26 Nov 2012 19:59:09 -0500 Subject: jnlp not honoring custom xml parser property? In-Reply-To: <50AF5607.5010902@redhat.com> References: <50AC6D36.2050902@gmail.com> <50AF5607.5010902@redhat.com> Message-ID: <50B4105D.3010805@gmail.com> Hi Jiri, Just to clarify, I am only using IcedTea on my Raspberry Pi (arm), and the problem of using a custom endorsed library only occurs on Raspberry Pi. The jvm I use on my Ubuntu x86_64 machine is OpenJDK: $ java -version java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) My reason for mentioning that this same .jnlp file/webstart app works fine under Ubuntu is to show that the .jnlp file syntax, etc is valid. Anybody returning from vacation have other ideas? Thanks! Dan On 11/23/2012 05:55 AM, Jiri Vanek wrote: > Hi Dan! > > Thank you for reporting! > > I'm afraid that you are right, however both our leading icedtea-web guys > are on vacation so they will confirm later. > > On 11/21/2012 06:57 AM, Dan Rollo wrote: >> First, apologies if I'm in the totally wrong place to ask this. Please >> steer me as needed. > > No, this is exactly the best list for this:) >> >> My java webstart app uses tags in the jnlp to override the >> default xml parsers, like so: >> ... >> > value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/> >> > value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/> >> >> >> >> >> >> >> ... >> >> This works fine on ubuntu and many other places, but on my niffty new >> Raspberry Pi, I'm getting an error as if the Service Provider contract >> is not being honoured, and/or as if the class in not in a jar on the >> classpath. >> Here's the error trace snippets: > > This sentence make me doubt about my original words that we are not > supporting. It actually looks like we are :). > > You can see that there is different JVM on your raspberry. There is > Zero, and on ubuntu you wil have HotSpot. Although I doubt it a bit, > there can be some more differences. > >> >> Exception in thread "AWT-EventQueue-1" >> javax.xml.parsers.FactoryConfigurationError: Provider >> org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found >> at >> javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:127) >> >> at >> com.bhaweb.studioE.model.DTDResolverStudioE.createDocumentBuilderStudioE(DTDResolverStudioE.java:69) >> >> ... >> Caused by: java.lang.ClassNotFoundException: >> org/apache/xerces/jaxp/DocumentBuilderFactoryImpl >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:264) >> at >> javax.xml.parsers.FactoryFinder.getProviderClass(FactoryFinder.java:123) >> at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:170) >> at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:147) >> at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:211) >> at >> javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:121) >> >> ... 50 more >> >> >> I'm running OpenJDK on my RaspberryPI running Raspbian: >> >> $ uname -a >> Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 >> armv6l GNU/Linux >> >> $ java -version >> java version "1.7.0_07" >> OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1) >> OpenJDK Zero VM (build 22.0-b10, mixed mode) >> >> Any other info I can provide? > > Yap, what java do you have on your ubuntu adn what are versions of > icedtea web? (javaws -about) > > I must admit I have never testes icedtea-web on zero :( > > Also it is possible that this is icedtea-web bug, but zero bug. Because > icedtea-web is doing nothing more then forwarding those params to JVM. > > I will ask Pavel (cc'ed) if he ever tested zero in such manners. > > > Thanx again for reporting! > > J. >> >> Thanks! >> Dan Rollo > From jvanek at icedtea.classpath.org Tue Nov 27 00:19:39 2012 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 27 Nov 2012 08:19:39 +0000 Subject: /hg/icedtea-web: 3 new changesets Message-ID: changeset ef0316334153 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=ef0316334153 author: Jiri Vanek date: Tue Nov 27 09:00:53 2012 +0100 Fixed epiphany switch * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java: -new-tab fixed to --new-tab changeset 5d313adc13a5 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=5d313adc13a5 author: Jiri Vanek date: Tue Nov 27 09:06:32 2012 +0100 Added Jan Kmetko as current SplashScreen artwork author changeset 054a17dd19f6 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=054a17dd19f6 author: Jiri Vanek date: Tue Nov 27 09:20:50 2012 +0100 Better error reporting from applets * netx/net/sourceforge/jnlp/NetxPanel.java: (init) ErrorSplash is shown if fatal exception is cough diffstat: AUTHORS | 1 + ChangeLog | 21 + netx/net/sourceforge/jnlp/NetxPanel.java | 2 + plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 7 +- tests/reproducers/simple/AppletTest/resources/errorAppletAutoTests.html | 43 + tests/reproducers/simple/AppletTest/srcs/AppletErrorTest.java | 269 ++++++++++ tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java | 2 +- 7 files changed, 342 insertions(+), 3 deletions(-) diffs (415 lines): diff -r a1112e2c3bc6 -r 054a17dd19f6 AUTHORS --- a/AUTHORS Fri Nov 23 11:31:19 2012 +0100 +++ b/AUTHORS Tue Nov 27 09:20:50 2012 +0100 @@ -13,6 +13,7 @@ Matthias Klose Alexandr Kolouch Micha?? G??rny < mgorny at gentoo.org > +Jan Kmetko Francis Kung Denis Lila DJ Lucas diff -r a1112e2c3bc6 -r 054a17dd19f6 ChangeLog --- a/ChangeLog Fri Nov 23 11:31:19 2012 +0100 +++ b/ChangeLog Tue Nov 27 09:20:50 2012 +0100 @@ -1,3 +1,24 @@ +2012-11-27 Jiri Vanek + + Better error reporting from applets + * netx/net/sourceforge/jnlp/NetxPanel.java: (init) ErrorSplash is shown + if fatal exception is cough + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (replaceSpalsh) + is rather removing all then just its previous version + * tests/reproducers/simple/AppletTest/srcs/AppletErrorTest.java: + * tests/reproducers/simple/AppletTest/resources/errorAppletAutoTests.html + Testcase for manual testing of various exceptions from applet + +2012-11-27 Jiri Vanek + + * AUTHORS: added Jan Kmetko as current SplashScreen artwork author + +2012-11-27 Jiri Vanek + + Fixed epiphany switch + * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java: + -new-tab fixed to --new-tab + 2012-11-23 Jiri Vanek Firefox session-backup and stubs for softkiller, multiple listeners, diff -r a1112e2c3bc6 -r 054a17dd19f6 netx/net/sourceforge/jnlp/NetxPanel.java --- a/netx/net/sourceforge/jnlp/NetxPanel.java Fri Nov 23 11:31:19 2012 +0100 +++ b/netx/net/sourceforge/jnlp/NetxPanel.java Tue Nov 27 09:20:50 2012 +0100 @@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentMap; import net.sourceforge.jnlp.splashscreen.SplashController; import net.sourceforge.jnlp.splashscreen.SplashPanel; +import net.sourceforge.jnlp.splashscreen.SplashUtils; import sun.applet.AppletViewerPanel; import sun.awt.SunToolkit; @@ -178,6 +179,7 @@ } catch (Exception e) { this.appletAlive = false; e.printStackTrace(); + replaceSplash(SplashUtils.getErrorSplashScreen(getWidth(), getHeight(), e)); } } diff -r a1112e2c3bc6 -r 054a17dd19f6 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri Nov 23 11:31:19 2012 +0100 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Tue Nov 27 09:20:50 2012 +0100 @@ -114,6 +114,7 @@ import sun.misc.Ref; import com.sun.jndi.toolkit.url.UrlUtil; +import java.awt.BorderLayout; import java.util.Hashtable; import java.util.Vector; import net.sourceforge.jnlp.splashscreen.SplashController; @@ -453,9 +454,11 @@ public void run() { splashPanel.getSplashComponent().setVisible(false); splashPanel.stopAnimation(); - remove(splashPanel.getSplashComponent()); + removeAll(); + setLayout(new BorderLayout()); + //remove(splashPanel.getSplashComponent()); splashPanel = null; - remove(panel); + //remove(panel); // Re-add the applet to notify container add(panel); panel.setVisible(true); diff -r a1112e2c3bc6 -r 054a17dd19f6 tests/reproducers/simple/AppletTest/resources/errorAppletAutoTests.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/AppletTest/resources/errorAppletAutoTests.html Tue Nov 27 09:20:50 2012 +0100 @@ -0,0 +1,43 @@ + + +

+ +

+ + diff -r a1112e2c3bc6 -r 054a17dd19f6 tests/reproducers/simple/AppletTest/srcs/AppletErrorTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/AppletTest/srcs/AppletErrorTest.java Tue Nov 27 09:20:50 2012 +0100 @@ -0,0 +1,269 @@ +/* AppletErrorTest.java +Copyright (C) 2011 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + * + */ + +import java.applet.Applet; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.GridLayout; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.Random; +import javax.swing.JApplet; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; + +public class AppletErrorTest extends JApplet { + + private class Killer extends Thread { + + public int n = 20000; + + @Override + public void run() { + try { + Thread.sleep(n); + System.out.println("Error Applet killing himself after " + n + " ms of life"); + System.exit(0); + } catch (Exception ex) { + } + } + } + private volatile boolean waiting = true; + private boolean isApplet = true; + private Killer killer; + private final String IN_GUI_THREAD = "IN_GUI_THREAD"; + private final String BEHIND_GUI_THREAD = "BEHIND_GUI_THREAD"; + private final String IN_GUI = "IN_GUI"; + private final String IN_INIT = "IN_INIT"; + private final String IN_START = "IN_START"; + private final String IN_STOP = "IN_STOP"; + private final String IN_DESTROY = "IN_DESTROY"; + private String levelOfDeath = BEHIND_GUI_THREAD; + + @Override + public void init() { + if (isApplet) { + String s = getParameter("levelOfDeath"); + if (s != null) { + levelOfDeath = s; + } + } + System.out.println("Error applet was initialised"); + killer = new Killer(); + if (levelOfDeath.equals(IN_INIT)) { + throw new RuntimeException("Intentional exception from init"); + } + } + + public static void main(String[] args) { + final JFrame f = new JFrame(); + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + f.setSize(899, 600); + f.setLayout(new BorderLayout()); + AppletErrorTest ae = new AppletErrorTest(); + ae.isApplet=false; + ae.init(); + f.add(ae); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + f.setVisible(true); + } + }); + ae.start(); + + + } + + @Override + public void start() { + final AppletErrorTest aSelf = this; + final JPanel self = new JPanel(); + aSelf.setLayout(new BorderLayout()); + aSelf.add(self); + self.setLayout(new GridLayout(0, 4)); + final Random r = new Random(); + new Thread(new Runnable() { + + @Override + public void run() { + new Colorer(self, r).run(); + } + }).start(); + + + System.out.println("Error applet was started"); + killer.start(); + System.out.println("killer was started"); + if (levelOfDeath.equals(IN_GUI_THREAD) || levelOfDeath.equals(IN_GUI) || levelOfDeath.equals(BEHIND_GUI_THREAD)) { + new Thread(new Runnable() { + + @Override + public void run() { + try { + + for (int i = 0; i < 15; i++) { + try { + System.out.println("Rainbow is shining"); + new GuiRainbow(self, r, i).run(); + if (levelOfDeath.equals(BEHIND_GUI_THREAD) && i >= 12) { + throw new RuntimeException("Intentional error from start (gui is running)- " + levelOfDeath); + } + Thread.sleep(200); + } catch (InterruptedException ex) { + throw new RuntimeException(ex); + } + } + } finally { + waiting = false; + } + + + + } + }).start(); + } + if (!isApplet) { + if (levelOfDeath.equals(IN_GUI)) { + while (waiting) { + try { + Thread.sleep(100); + SwingUtilities.invokeLater(new Runnable() { + + public void run() { + aSelf.repaint(); + aSelf.validate(); + aSelf.repaint(); + } + }); + + } catch (InterruptedException ex) { + throw new RuntimeException(ex); + } + } + throw new RuntimeException("Intentional error from start (gui was running)- " + levelOfDeath); + } + } + if (levelOfDeath.equals(IN_START)) { + throw new RuntimeException("Intentional error from start (gui was not running)- " + levelOfDeath); + } + } + + @Override + public void stop() { + System.out.println("Error applet was stopped"); + if (levelOfDeath.equals(IN_STOP)) { + throw new RuntimeException("Intentional exception from stop" + levelOfDeath); + } + } + + @Override + public void destroy() { + System.out.println("Error applet will be destroyed"); + if (levelOfDeath.equals(IN_DESTROY)) { + throw new RuntimeException("Intentional exception from destroy" + levelOfDeath); + } + } + + private class GuiRainbow implements Runnable { + + private final JComponent self; + private final Random r; + private final int i; + + public GuiRainbow(JComponent self, Random r, int i) { + this.self = self; + this.r = r; + this.i = i; + } + + @Override + public void run() { + if (self.getComponentCount() > 1 && r.nextInt(2) == 0) { + int x = r.nextInt(self.getComponentCount()); + self.remove(x); + self.validate(); + } else { + JLabel ll=new JLabel("Hi, its error applet here " + i); + self.add(ll); + self.validate(); + ll.addMouseListener(new MouseAdapter() { + + @Override + public void mouseClicked(MouseEvent e) { + throw new RuntimeException("Intentional exception by click to "+i); + } + }); + } + System.out.println("Components are handled"); + if (levelOfDeath.equals(IN_GUI_THREAD) && i >= 8) { + throw new RuntimeException("Intentional error from swing thread (gui is running)- " + levelOfDeath); + } + + } + } + + class Colorer implements Runnable { + + private final JComponent self; + private final Random r; + + public Colorer(JComponent self, Random r) { + this.self = self; + this.r = r; + } + + @Override + public void run() { + int i = 0; + while (true) { + i++; + try { + self.setBackground(new Color(r.nextInt())); + System.out.println("Applet is coloring " + i); + Thread.sleep(200); + } catch (Exception ex) { + //intentionally silenced + } + } + } + } +} diff -r a1112e2c3bc6 -r 054a17dd19f6 tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java --- a/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java Fri Nov 23 11:31:19 2012 +0100 +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java Tue Nov 27 09:20:50 2012 +0100 @@ -42,7 +42,7 @@ public class Epiphany extends MozillaFamilyLinuxBrowser { - String[] cs = {"-new-tab"}; + String[] cs = {"--new-tab"}; public Epiphany(String bin) { super(bin); From ptisnovs at icedtea.classpath.org Tue Nov 27 00:37:01 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 27 Nov 2012 08:37:01 +0000 Subject: /hg/gfx-test: Eight new tests added to the test suite src/org/gf... Message-ID: changeset 1c62bee39f38 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=1c62bee39f38 author: Pavel Tisnovsky date: Tue Nov 27 09:39:58 2012 +0100 Eight new tests added to the test suite src/org/gfxtest/testsuites/BitBltUsingBgColor.java. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 154 +++++++++++++++++++++ 2 files changed, 159 insertions(+), 0 deletions(-) diffs (183 lines): diff -r fe59bdda77c8 -r 1c62bee39f38 ChangeLog --- a/ChangeLog Mon Nov 26 11:11:07 2012 +0100 +++ b/ChangeLog Tue Nov 27 09:39:58 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-27 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Eight new tests added. + 2012-11-26 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r fe59bdda77c8 -r 1c62bee39f38 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Nov 26 11:11:07 2012 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Nov 27 09:39:58 2012 +0100 @@ -99,6 +99,40 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltEmptyBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithEmptyImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltEmptyBufferedImageType4ByteABGRPre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithEmptyImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. * Background color is set to Color.black. * @@ -219,6 +253,126 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.black. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.blue. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.green. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.cyan. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.red. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.magenta. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.yellow. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.white. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.white); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Tue Nov 27 00:56:09 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 27 Nov 2012 08:56:09 +0000 Subject: /hg/rhino-tests: Added five new tests to the test suite src/org/... Message-ID: changeset b67b5f8f811b in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=b67b5f8f811b author: Pavel Tisnovsky date: Tue Nov 27 09:59:10 2012 +0100 Added five new tests to the test suite src/org/RhinoTests/CompiledScriptTest.java. Added new code snippets into src/org/RhinoTests/JavaScriptSnippets.java. diffstat: ChangeLog | 8 ++ src/org/RhinoTests/CompiledScriptTest.java | 84 ++++++++++++++++++++++++++++- src/org/RhinoTests/JavaScriptSnippets.java | 27 +++++++++- 3 files changed, 114 insertions(+), 5 deletions(-) diffs (153 lines): diff -r 4876f3e3df53 -r b67b5f8f811b ChangeLog --- a/ChangeLog Mon Nov 26 11:34:08 2012 +0100 +++ b/ChangeLog Tue Nov 27 09:59:10 2012 +0100 @@ -1,3 +1,11 @@ +2012-11-27 Pavel Tisnovsky + + * src/org/RhinoTests/CompiledScriptTest.java: + Added five new tests to this test suite. + + * src/org/RhinoTests/JavaScriptSnippets.java: + Added new code snippets. + 2012-11-26 Pavel Tisnovsky * src/org/RhinoTests/BindingsTest.java: diff -r 4876f3e3df53 -r b67b5f8f811b src/org/RhinoTests/CompiledScriptTest.java --- a/src/org/RhinoTests/CompiledScriptTest.java Mon Nov 26 11:34:08 2012 +0100 +++ b/src/org/RhinoTests/CompiledScriptTest.java Tue Nov 27 09:59:10 2012 +0100 @@ -149,8 +149,54 @@ * @throws ScriptException * this exception is thrown when this test case failed. */ - protected void testEvalNumericExpression() throws ScriptException { - CompiledScript script = getCompiledScript("1+2*3"); + protected void testEvalNumericExpression1() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.NUMERIC_EXPRESSION_1); + Object result = script.eval(); + assertNotNull(result, "result should not be null"); + assertTrue(result instanceof Number, "result is not an instance of Number"); + if (getJavaVersion() >= 7) { + assertTrue(result instanceof Double, "result is not an instance of Double"); + double doubleResult = ((Double) result).doubleValue(); + assertEquals(doubleResult, 3, "wrong result " + doubleResult); + } + else { + assertTrue(result instanceof Integer, "result is not an instance of Integer"); + int integerResult = ((Integer) result).intValue(); + assertEquals(integerResult, 3, "wrong result " + integerResult); + } + } + + /** + * Test if it is possible to compile and then run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testEvalNumericExpression2() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.NUMERIC_EXPRESSION_2); + Object result = script.eval(); + assertNotNull(result, "result should not be null"); + assertTrue(result instanceof Number, "result is not an instance of Number"); + if (getJavaVersion() >= 7) { + assertTrue(result instanceof Double, "result is not an instance of Double"); + double doubleResult = ((Double) result).doubleValue(); + assertEquals(doubleResult, 6, "wrong result " + doubleResult); + } + else { + assertTrue(result instanceof Integer, "result is not an instance of Integer"); + int integerResult = ((Integer) result).intValue(); + assertEquals(integerResult, 6, "wrong result " + integerResult); + } + } + + /** + * Test if it is possible to compile and then run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testEvalNumericExpression3() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.NUMERIC_EXPRESSION_3); Object result = script.eval(); assertNotNull(result, "result should not be null"); assertTrue(result instanceof Number, "result is not an instance of Number"); @@ -172,8 +218,38 @@ * @throws ScriptException * this exception is thrown when this test case failed. */ - protected void testEvalDoubleExpression() throws ScriptException { - CompiledScript script = getCompiledScript("1./2"); + protected void testEvalDoubleExpression1() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.DOUBLE_NUMERIC_EXPRESSION_1); + Object result = script.eval(); + assertTrue(result instanceof Number, "result is not an instance of Number"); + assertTrue(result instanceof Double, "result is not an instance of Integer"); + double doubleResult = ((Double) result).doubleValue(); + assertEquals(doubleResult, 0.5f, "wrong result " + doubleResult); + } + + /** + * Test if it is possible to compile and then run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testEvalDoubleExpression2() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.DOUBLE_NUMERIC_EXPRESSION_2); + Object result = script.eval(); + assertTrue(result instanceof Number, "result is not an instance of Number"); + assertTrue(result instanceof Double, "result is not an instance of Integer"); + double doubleResult = ((Double) result).doubleValue(); + assertEquals(doubleResult, 0.5f, "wrong result " + doubleResult); + } + + /** + * Test if it is possible to compile and then run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testEvalDoubleExpression3() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.DOUBLE_NUMERIC_EXPRESSION_3); Object result = script.eval(); assertTrue(result instanceof Number, "result is not an instance of Number"); assertTrue(result instanceof Double, "result is not an instance of Integer"); diff -r 4876f3e3df53 -r b67b5f8f811b src/org/RhinoTests/JavaScriptSnippets.java --- a/src/org/RhinoTests/JavaScriptSnippets.java Mon Nov 26 11:34:08 2012 +0100 +++ b/src/org/RhinoTests/JavaScriptSnippets.java Tue Nov 27 09:59:10 2012 +0100 @@ -80,7 +80,32 @@ /** * Numeric expression. */ - protected static final String NUMERIC_EXPRESSION_1 = "1+2*3"; + protected static final String NUMERIC_EXPRESSION_1 = "1+2"; + + /** + * Numeric expression. + */ + protected static final String NUMERIC_EXPRESSION_2 = "1+2+3"; + + /** + * Numeric expression. + */ + protected static final String NUMERIC_EXPRESSION_3 = "1+2*3"; + + /** + * Numeric expression containing floating point value. + */ + protected static final String DOUBLE_NUMERIC_EXPRESSION_1 = "1./2"; + + /** + * Numeric expression containing floating point value. + */ + protected static final String DOUBLE_NUMERIC_EXPRESSION_2 = "1/2."; + + /** + * Numeric expression containing floating point value. + */ + protected static final String DOUBLE_NUMERIC_EXPRESSION_3 = "1./2."; /** * Classical hello world program. From bugzilla-daemon at icedtea.classpath.org Tue Nov 27 07:17:24 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Nov 2012 15:17:24 +0000 Subject: [Bug 1233] java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1233 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com --- Comment #2 from Andrew Haley --- I don't know of any IcedTea maintainers who have sparc systems so you'll have to do some investigating. I suggest you run this program in GDB and get a backtrace from there. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121127/eab77a2a/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 27 07:29:26 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Nov 2012 15:29:26 +0000 Subject: [Bug 1234] New: Regression: Interacting with SweetHome3D brings classloading issue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1234 Priority: P3 Bug ID: 1234 CC: unassigned at icedtea.classpath.org Assignee: omajid at redhat.com Summary: Regression: Interacting with SweetHome3D brings classloading issue Severity: normal Classification: Unclassified OS: Linux Reporter: adomurad at redhat.com Hardware: all Status: NEW Version: hg Component: NetX (javaws) Product: IcedTea-Web When using SweetHome3D from a JNLP[1], it launches correctly, however there is a classloading issue that occurs when any of the items (eg furniture) from the sidebar are clicked. This regression is seen with the JNLP in 1.3 and HEAD, while it works in 1.2 and/or with the applet version [2]. [1] http://www.sweethome3d.com/SweetHome3D.jnlp [2] http://www.sweethome3d.com/SweetHome3DOnline.jsp -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121127/338e97f5/attachment.html From dbhole at redhat.com Tue Nov 27 08:46:57 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 27 Nov 2012 11:46:57 -0500 Subject: RFC: Backport fix for PR1161 to icedtea-web 1.2 Message-ID: <20121127164657.GH31589@redhat.com> Hi, The fix for PR1161 has been in HEAD and 1.3 for a while now and I would like to backport it to IcedTea-Web 1.2 as well. http://icedtea.classpath.org/hg/release/icedtea-web-1.3/rev/11c61503e614 OK for backport? Thanks, Deepak From jvanek at redhat.com Tue Nov 27 08:52:25 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 27 Nov 2012 17:52:25 +0100 Subject: RFC: Backport fix for PR1161 to icedtea-web 1.2 In-Reply-To: <20121127164657.GH31589@redhat.com> References: <20121127164657.GH31589@redhat.com> Message-ID: <50B4EFC9.2060402@redhat.com> On 11/27/2012 05:46 PM, Deepak Bhole wrote: > Hi, > > The fix for PR1161 has been in HEAD and 1.3 for a while now and I would > like to backport it to IcedTea-Web 1.2 as well. > > http://icedtea.classpath.org/hg/release/icedtea-web-1.3/rev/11c61503e614 > > OK for backport? > > Thanks, > Deepak Sure, there should not be an issue. J. From dify.ltd at gmail.com Tue Nov 27 09:15:52 2012 From: dify.ltd at gmail.com (Attila-Mihaly Balazs) Date: Tue, 27 Nov 2012 19:15:52 +0200 Subject: Question about OpenJDK packaging Message-ID: Hello all, I'm writing you to let you know about a site I just launched you might be interested in: The Java Advent Calendar available at http://www.javaadvent.com/. The idea is to publish one article / day between the 1st and 24th of December about Java or related technologies. Besides the articles being (hopefully) interesting, I would like to ask if somebody would be interested in writing an article for one of the days. For example I think a good topic would be: how does code get into the OpenJDK that I install in my distribution? This is also a personal curiosity of mine (and I imagine for many people) and it's one which people on this list are well equipped answering I imagine. My somewhat nebulous idea is: - there is a public repository and Oracle has an internal repository - Oracle merges contributions from the public repository and merges them to the internal one (do we know when? do we know what?) - Oracle merges internal contributions to the public repository (again: when? what? what are the criteria?) - Oracle releases their versions of JDK 7 (probably there is no need to go into the whole "OpenJDK 6 as backward branch" thing). Is there a "source of truth" to tell us what it is from the public repository which is included in a particular Oracle Java release? (So for example if I say Oracle JDK 1.7u3, can I look in the public source tree and see all the public parts exactly as they were used during the build?) - As far as I know the OpenJDK project doesn't produce their packages, but rather people from each distro patch the code and create packages. Is there an easy way to find out what the source code for the package is which got installed? This is especially relevant I think in cases where security vulnerabilities come out and people would like to know if they have the pached version or not. As you can see there are a lot of interesting questions here which you could answer and it would be useful to do it in the format of a publicly available blog post. What do people think? Regards, Attila Balazs From jvanek at redhat.com Tue Nov 27 09:36:12 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 27 Nov 2012 18:36:12 +0100 Subject: [fyi] [icedtea-web] new code coverage direction - jacoco Message-ID: <50B4FA0C.5030502@redhat.com> hi all! Last few days I was hidding behind new codecoverage for icedtea-web. It have appeared to be more tricky then I thought: * Support for jdk7 on field of coverage tool is desperate - the only tool which support it and is alive (actually I really think it is the only one right now) is JACOCO. * jacoco packages in fedora are broken - I have fixed them and post patch to its maintainer * jacoco itself do not support coverage of boot-classapth, I have fixed this too, and I hope I will be able to upstream this patch - quite simple patch but it will need some more tuning (xboot.patch) [as I do not see to alll corners of this amazing tool] * jacoco although having excellent API, have no commandline tool for report generation and for merging of results. I have wrote my own (simple one, jacoco-tool.diff) and I hope I will be able to upstream it to rather then fill icedtea-web with it. So do not use this patch for now - it uses custom packages upon custom sources with custom dependences (Asm4 instead of asm3) :), but if all the fixes will go upstream then the results are amazing! The integration of patched package with patched sources is then quite simple and same as emma was. Coverage of unit tests, coverage of individual reproducers run, then merged all reproducers together and at the end merged all reproducers and unit test's results. On each sub-step xml and html report is generated. Good new is that it will be easy to cover also plugin [work in progress] Best regards J. ps: with litlle bit more tweaking on xbooth.patch I was able to create coverage report for most rt.jar itself on openjdk build:) -------------- next part -------------- A non-text attachment was scrubbed... Name: jacoco-integration.diff Type: text/x-patch Size: 11098 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121127/ba8f6a1e/jacoco-integration.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: jacoco-tool.diff Type: text/x-patch Size: 31756 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121127/ba8f6a1e/jacoco-tool.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: xboot.patch Type: text/x-patch Size: 4006 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121127/ba8f6a1e/xboot.patch From bugzilla-daemon at icedtea.classpath.org Tue Nov 27 10:43:39 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 27 Nov 2012 18:43:39 +0000 Subject: [Bug 1213] logmein.com applet does not start from icedtea-web version 1.2.1 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1213 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |jvanek at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121127/a508254e/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 27 16:41:28 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Nov 2012 00:41:28 +0000 Subject: [Bug 1233] java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1233 --- Comment #3 from sato --- I don't think this issue is specific on the sparc arch. According to dump files I uploaded before, an execution of the native method getLocalHostName() defined in Inet4AddressImpl.java causes a JVM crash. The native method definition is found in openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c. By the way, let me know how to use GDB to attach JNI implementations? Otherwise, could you let me know the way to only build Inet4AddressImpl.c, and then link it to the JVM? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/880657ba/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 27 16:52:48 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Nov 2012 00:52:48 +0000 Subject: [Bug 1223] The return type is incompatible with Attribute.getDTDType() for icedtea6-1.11.5 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1223 --- Comment #9 from sato --- Any suggestion on that? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/a12ddbaa/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 27 21:46:27 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Nov 2012 05:46:27 +0000 Subject: [Bug 1233] java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1233 --- Comment #4 from sato --- (In reply to comment #2) > I don't know of any IcedTea maintainers who have sparc systems so you'll > have to do some investigating. I suggest you run this program in GDB and > get a backtrace from there. I've got a backtrace from a crashing JVM. Any further suggestions? (gdb) cont Continuing. Program received signal SIGBUS, Bus error. [Switching to Thread 0xfffff801001e1950 (LWP 16980)] 0xffffffff117bc7f8 in internal_getent () from /lib64/libnss_files.so.2 (gdb) bt #0 0xffffffff117bc7f8 in internal_getent () from /lib64/libnss_files.so.2 #1 0xffffffff117bcd1c in _nss_files_gethostbyaddr_r () from /lib64/libnss_files.so.2 #2 0xffffffff005b1878 in gethostbyaddr_r@@GLIBC_2.2 () from /lib64/libc.so.6 #3 0xffffffff119f99f8 in Java_java_net_Inet4AddressImpl_getLocalHostName (env=0x214040, this=0xfffff801001dfd18) at ../../../src/solaris/native/java/net/Inet4AddressImpl.c:95 #4 0xffffffff011c55b4 in ffi_call_v9 () at src/sparc/v9.S:83 #5 0xffffffff011c4a28 in ffi_call (cif=0xfffff801001f9570, fn=0xffffffff119f9940 , rvalue=0xfffff80100127bd8, avalue=0xfffff801001dfc70) at src/sparc/ffi.c:405 #6 0xffffffff008e82d0 in CppInterpreter::native_entry (method=0xfffff801001dfd10, UNUSED=17632, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:323 #7 0xffffffff008e7c6c in invoke (recurse=, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:59 #8 invoke_method (recurse=, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:31 #9 CppInterpreter::main_loop (recurse=, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:120 #10 0xffffffff008e8894 in CppInterpreter::normal_entry (method=0xfffff8012250f760, UNUSED=-8791796022880, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:73 #11 0xffffffff008e7c6c in invoke (recurse=, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:59 #12 invoke_method (recurse=, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:31 #13 CppInterpreter::main_loop (recurse=, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:120 #14 0xffffffff008e8894 in CppInterpreter::normal_entry (method=0xfffff80122508a40, UNUSED=-8791796022880, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:73 #15 0xffffffff00b970e0 in invoke (call_wrapper=0xfffff801001dffb0, result=0xfffff801001e0440, result_type=T_INT, method=0xfffff80122508a40, entry_point=0xfffff801001f01a0 "\377\377\377\377", parameters=0xfffff801001e0268, parameter_words=1, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:59 #16 invoke_method (call_wrapper=0xfffff801001dffb0, result=0xfffff801001e0440, result_type=T_INT, method=0xfffff80122508a40, entry_point=0xfffff801001f01a0 "\377\377\377\377", parameters=0xfffff801001e0268, parameter_words=1, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:31 #17 StubGenerator::call_stub (call_wrapper=0xfffff801001dffb0, result=0xfffff801001e0440, result_type=T_INT, method=0xfffff80122508a40, entry_point=0xfffff801001f01a0 "\377\377\377\377", parameters=0xfffff801001e0268, parameter_words=1, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp:89 #18 0xffffffff009a8a94 in JavaCalls::call_helper (result=, m=, args=0xfffff801001e0260, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/share/vm/runtime/javaCalls.cpp:412 #19 0xffffffff00b1de58 in os::os_exception_wrapper ( f=0xffffffff009a88a0 , value=0xfffff801001e0438, method=0xfffff801001e0238, args=0xfffff801001e0260, thread=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:4360 #20 0xffffffff009a7934 in JavaCalls::call (result=0xfffff801001e0438, method=, args=0xfffff801001e0260, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/share/vm/runtime/javaCalls.cpp:317 #21 0xffffffff009bb5ec in jni_invoke_static (env=0x214040, result=0xfffff801001e0438, receiver=0x0, call_type=, method_id=, args=0xfffff801001e03e8, __the_thread__=0x213e70) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/share/vm/prims/jni.cpp:1081 #22 0xffffffff009d2590 in jni_CallStaticVoidMethod (env=0x214040, cls=0x215fa8, methodID=0x2c7e50) at /home/c83001/icedtea/icedtea6-1.11.5/openjdk/hotspot/src/share/vm/prims/jni.cpp:1653 #23 0x000000000010383c in JavaMain (_args=) at ../../../../src/share/bin/java.c:587 #24 0xffffffff00150478 in start_thread () from /lib64/libpthread.so.0 #25 0xffffffff005999bc in __thread_start () from /lib64/libc.so.6 #26 0xffffffff005999bc in __thread_start () from /lib64/libc.so.6 Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/cc3047ff/attachment.html From amiko212 at 126.com Tue Nov 27 23:24:58 2012 From: amiko212 at 126.com (liu chao jun) Date: Wed, 28 Nov 2012 15:24:58 +0800 (CST) Subject: A new bug Error while do test_gama In-Reply-To: <41fb2642.1ce93.13b06f70f5a.Coremail.amiko212@126.com> References: <41fb2642.1ce93.13b06f70f5a.Coremail.amiko212@126.com> Message-ID: <218cc304.27f77.13b45e78313.Coremail.amiko212@126.com> hi all I write this letter for asking for all your help when I compiler the icedtea1-11-4 with llvm-3.1 , A error happen in test_gama ,for detail information ,please refer to the followings: java full version "1.6.0-internal-root_15_aug_2012_17_31-b00" # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:270), pid=11637, tid=745632944 # fatal error: caught unhandled signal 11 # # JRE version: 6.0 # Java VM: OpenJDK Shark VM (20.0-b12 mixed mode linux-mips64 ) # Derivative: IcedTea6 1.11.4 # Distribution: Custom build (Thu Nov 22 09:14:43 EST 2012) # An error report file with more information is saved as: # /home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk.build/hotspot/outputdir/linux_mips64_shark/product/hs_err_pid11637.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # ./test_gamma: line 11: 11637 Aborted ${JAVA_HOME}/bin/javac -d . /home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make/test/Queens.java Using java runtime at: /home/greatwall/amiko/icedtea6-1.11.4_build_1114/bootstrap/jdk1.6.0/jre java version "1.6.0-internal" OpenJDK Runtime Environment (build 1.6.0-internal-root_15_aug_2012_17_31-b00) OpenJDK Shark VM (build 20.0-b12, mixed mode) Exception in thread "main" java.lang.NoClassDefFoundError: Queens Caused by: java.lang.ClassNotFoundException: Queens at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find the main class: Queens. Program will exit. make[5]: *** [productshark] Error 1 make[5]: Leaving directory `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk.build/hotspot/outputdir' make[4]: *** [generic_buildshark] Error 2 make[4]: Leaving directory `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make' make[3]: *** [productshark] Error 2 make[3]: Leaving directory `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make' make[2]: *** [hotspot-build] Error 2 make[2]: Leaving directory `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk' make[1]: *** [stamps/icedtea.stamp] Error 2 make[1]: Leaving directory `/home/greatwall/amiko/icedtea6-1.11.4_build_1114' make: *** [hotspot] Error 2 [ what's more , run i run ./java -Xcomp -version ,it is ok and success ,how ever ./java -Xcomp -help is fail it seems the fail infomation is the same with above .is anybody met it before .Thank you very much ! BR//Amiko -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/a2d3d2e9/attachment.html From ptisnovs at icedtea.classpath.org Wed Nov 28 02:11:52 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 28 Nov 2012 10:11:52 +0000 Subject: /hg/gfx-test: Added first three tests to the test case src/org/g... Message-ID: changeset 0d149c4a9168 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=0d149c4a9168 author: Pavel Tisnovsky date: Wed Nov 28 11:14:48 2012 +0100 Added first three tests to the test case src/org/gfxtest/testsuites/PrintTestBitBltUsingBgColor.java. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/PrintTestBitBltUsingBgColor.java | 104 ++++++++++++ 2 files changed, 109 insertions(+), 0 deletions(-) diffs (134 lines): diff -r 1c62bee39f38 -r 0d149c4a9168 ChangeLog --- a/ChangeLog Tue Nov 27 09:39:58 2012 +0100 +++ b/ChangeLog Wed Nov 28 11:14:48 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-28 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/PrintTestBitBltUsingBgColor.java: + Added first three tests to this test case. + 2012-11-27 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 1c62bee39f38 -r 0d149c4a9168 src/org/gfxtest/testsuites/PrintTestBitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/PrintTestBitBltUsingBgColor.java Tue Nov 27 09:39:58 2012 +0100 +++ b/src/org/gfxtest/testsuites/PrintTestBitBltUsingBgColor.java Wed Nov 28 11:14:48 2012 +0100 @@ -40,7 +40,16 @@ package org.gfxtest.testsuites; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; + + + +import org.gfxtest.framework.CommonBitmapOperations; import org.gfxtest.framework.PrintTest; +import org.gfxtest.framework.TestImage; +import org.gfxtest.framework.TestResult; import org.gfxtest.framework.annotations.BitBltOperation; import org.gfxtest.framework.annotations.BitBltOperations; import org.gfxtest.framework.annotations.GraphicsPrimitive; @@ -70,6 +79,101 @@ public class PrintTestBitBltUsingBgColor extends PrintTest { + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltEmptyBufferedImageType3ByteRGB(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithEmptyImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltEmptyBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithEmptyImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ + private TestResult doBitBltEmptyBufferedImageType4ByteABGRPre(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithEmptyImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * Background color is set to Color.black. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRbackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * Background color is set to Color.black. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. + * Background color is set to Color.black. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.black); + } /** * Entry point to the test suite. From andrew at icedtea.classpath.org Wed Nov 28 02:40:09 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Nov 2012 10:40:09 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset ac23a08f7709 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ac23a08f7709 author: Andrew John Hughes date: Wed Nov 28 10:38:33 2012 +0000 Fix bootstrap build with OpenJDK6 by pre-building new CORBA classes. 2012-11-28 Andrew John Hughes * Makefile.am: (ICEDTEA_BOOTSTRAP_CLASSES): Add the generated file ORBUtilSystemException.java if the build JDK has the old version. * configure.ac: Add checks for com.sun.corba.se.impl.logging.ORBUtilSystemException and the method ioExceptionOnClose(Throwable). * patches/ecj/corba-dependencies.patch: Regenerated against new version of icedtea.patch. * patches/ecj/icedtea.patch: Remove unneeded addition of bootclasspath. changeset 5e25810d47d2 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=5e25810d47d2 author: Andrew John Hughes date: Wed Nov 28 10:39:54 2012 +0000 Add ANT_RESPECT_JAVA_HOME for Gentoo ant support. 2009-07-09 Andrew John Hughes * Makefile.am: Add ANT_RESPECT_JAVA_HOME for Gentoo ant support. diffstat: ChangeLog | 19 +++++++++++++++++++ Makefile.am | 9 +++++++++ configure.ac | 11 ++++++++++- patches/ecj/corba-dependencies.patch | 17 +++++++++-------- patches/ecj/icedtea.patch | 16 ---------------- 5 files changed, 47 insertions(+), 25 deletions(-) diffs (132 lines): diff -r dfe3209fcf64 -r 5e25810d47d2 ChangeLog --- a/ChangeLog Tue Nov 20 16:12:30 2012 +0000 +++ b/ChangeLog Wed Nov 28 10:39:54 2012 +0000 @@ -1,3 +1,22 @@ +2009-07-09 Andrew John Hughes + + * Makefile.am: + Add ANT_RESPECT_JAVA_HOME for Gentoo ant support. + +2012-11-28 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_BOOTSTRAP_CLASSES): Add the generated + file ORBUtilSystemException.java if the build JDK + has the old version. + * configure.ac: + Add checks for com.sun.corba.se.impl.logging.ORBUtilSystemException + and the method ioExceptionOnClose(Throwable). + * patches/ecj/corba-dependencies.patch: + Regenerated against new version of icedtea.patch. + * patches/ecj/icedtea.patch: + Remove unneeded addition of bootclasspath. + 2012-11-20 Andrew John Hughes RH513605: Updating/Installing OpenJDK should recreate diff -r dfe3209fcf64 -r 5e25810d47d2 Makefile.am --- a/Makefile.am Tue Nov 20 16:12:30 2012 +0000 +++ b/Makefile.am Wed Nov 28 10:39:54 2012 +0000 @@ -80,6 +80,14 @@ $(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java endif +# Workaround for old OpenJDK versions with older CORBA classes +if !LACKS_ORBUTILSYSTEMEXCEPTION +if LACKS_ORBUTILSYSTEMEXCEPTION_IOEXCEPTIONONCLOSE_THROWABLE +ICEDTEA_BOOTSTRAP_CLASSES += \ + $(abs_top_srcdir)/generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java +endif +endif + # Flags MEMORY_LIMIT = -J-Xmx1024m IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) @@ -561,6 +569,7 @@ JAVAC="" \ JAVA_HOME="" \ JDK_HOME="" \ + ANT_RESPECT_JAVA_HOME="TRUE" \ DISTRIBUTION_ID="$(DIST_ID)" \ DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ diff -r dfe3209fcf64 -r 5e25810d47d2 configure.ac --- a/configure.ac Tue Nov 20 16:12:30 2012 +0000 +++ b/configure.ac Wed Nov 28 10:39:54 2012 +0000 @@ -58,12 +58,21 @@ IT_DISABLE_JDK_TESTS IT_CHECK_FOR_METHOD([JAVAX_SWING_PLAF_BASIC_BASICDIRECTORYMODEL_ADDPROPERTYCHANGELISTENER], - [javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener], + [javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener(PropertyChangeListener)], [javax.swing.plaf.basic.BasicDirectoryModel], ["addPropertyChangeListener",java.beans.PropertyChangeListener.class], [javax.swing.plaf.basic.BasicDirectoryModel model = new javax.swing.plaf.basic.BasicDirectoryModel(new javax.swing.JFileChooser()); model.addPropertyChangeListener(model)] ) +# Workaround issue with old CORBA classes in old OpenJDK builds +IT_CHECK_FOR_CLASS([ORBUTILSYSTEMEXCEPTION],[com.sun.corba.se.impl.logging.ORBUtilSystemException]) +IT_CHECK_FOR_METHOD([ORBUTILSYSTEMEXCEPTION_IOEXCEPTIONONCLOSE_THROWABLE], + [com.sun.corba.se.impl.logging.ORBUtilSystemException.ioExceptionOnClose(Throwable)], + [com.sun.corba.se.impl.logging.ORBUtilSystemException], + ["ioExceptionOnClose",java.lang.Throwable.class], + [new com.sun.corba.se.impl.logging.ORBUtilSystemException(null).ioExceptionOnClose(new InternalError())] +) + # Use xvfb-run if found to run gui tests (check-jdk). AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], []) AC_SUBST(XVFB_RUN_CMD) diff -r dfe3209fcf64 -r 5e25810d47d2 patches/ecj/corba-dependencies.patch --- a/patches/ecj/corba-dependencies.patch Tue Nov 20 16:12:30 2012 +0000 +++ b/patches/ecj/corba-dependencies.patch Wed Nov 28 10:39:54 2012 +0000 @@ -1,15 +1,16 @@ -diff -Nru openjdk.orig/corba/make/common/Rules.gmk openjdk/corba/make/common/Rules.gmk ---- openjdk-ecj.orig/corba/make/common/Rules.gmk 2012-08-15 16:52:40.749869095 +0100 -+++ openjdk-ecj/corba/make/common/Rules.gmk 2012-08-15 16:59:16.800640493 +0100 -@@ -202,9 +202,11 @@ +diff -Nru openjdk-ecj.orig/corba/make/common/Rules.gmk openjdk-ecj/corba/make/common/Rules.gmk +--- openjdk-ecj.orig/corba/make/common/Rules.gmk 2012-10-26 19:21:47.000000000 +0100 ++++ openjdk-ecj/corba/make/common/Rules.gmk 2012-11-28 00:38:06.787628798 +0000 +@@ -201,8 +201,12 @@ + $(ECHO) "# Java sources to be compiled: (listed in file $(JAVA_SOURCE_LIST))"; \ $(CAT) $(JAVA_SOURCE_LIST); \ $(ECHO) "# Running javac:"; \ - $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \ -- -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ +- $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ +- $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ ++ $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) \ + -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \ + -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ - $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \ -- -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ ++ $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) \ + -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \ + -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ fi diff -r dfe3209fcf64 -r 5e25810d47d2 patches/ecj/icedtea.patch --- a/patches/ecj/icedtea.patch Tue Nov 20 16:12:30 2012 +0000 +++ b/patches/ecj/icedtea.patch Wed Nov 28 10:39:54 2012 +0000 @@ -327,22 +327,6 @@ # # We want to privatize JVM symbols on Solaris. This is so the user can -diff -Nru openjdk-ecj.orig/corba/make/common/Rules.gmk openjdk-ecj/corba/make/common/Rules.gmk ---- openjdk-ecj.orig/corba/make/common/Rules.gmk 2012-01-18 14:06:25.120768497 +0000 -+++ openjdk-ecj/corba/make/common/Rules.gmk 2012-01-18 21:44:43.635816486 +0000 -@@ -201,8 +201,10 @@ - $(ECHO) "# Java sources to be compiled: (listed in file $(JAVA_SOURCE_LIST))"; \ - $(CAT) $(JAVA_SOURCE_LIST); \ - $(ECHO) "# Running javac:"; \ -- $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ -- $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ -+ $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \ -+ -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ -+ $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \ -+ -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ - fi - @$(java-vm-cleanup) - diff -Nru openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk openjdk-ecj/corba/make/common/shared/Defs-java.gmk --- openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk 2012-01-18 16:50:57.569109033 +0000 +++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk 2012-01-18 21:43:04.150185964 +0000 From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 03:30:50 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Nov 2012 11:30:50 +0000 Subject: [Bug 1233] java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1233 --- Comment #5 from Andrew Haley --- You need to install the debuginfo for glibc and see which parameter is causing the problem. I wonder if GCC might be miscompiling Java_java_net_Inet4AddressImpl_getLocalHostName -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/90a3375f/attachment.html From ptisnovs at icedtea.classpath.org Wed Nov 28 03:36:07 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 28 Nov 2012 11:36:07 +0000 Subject: /hg/rhino-tests: Added four new tests into the test suite src/or... Message-ID: changeset 4ecf9a7bcab2 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=4ecf9a7bcab2 author: Pavel Tisnovsky date: Wed Nov 28 12:39:06 2012 +0100 Added four new tests into the test suite src/org/RhinoTests/CompilableTest.java. diffstat: ChangeLog | 5 +++ src/org/RhinoTests/CompilableTest.java | 48 ++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 0 deletions(-) diffs (70 lines): diff -r b67b5f8f811b -r 4ecf9a7bcab2 ChangeLog --- a/ChangeLog Tue Nov 27 09:59:10 2012 +0100 +++ b/ChangeLog Wed Nov 28 12:39:06 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-28 Pavel Tisnovsky + + * src/org/RhinoTests/CompilableTest.java: + Added four new tests. + 2012-11-27 Pavel Tisnovsky * src/org/RhinoTests/CompiledScriptTest.java: diff -r b67b5f8f811b -r 4ecf9a7bcab2 src/org/RhinoTests/CompilableTest.java --- a/src/org/RhinoTests/CompilableTest.java Tue Nov 27 09:59:10 2012 +0100 +++ b/src/org/RhinoTests/CompilableTest.java Wed Nov 28 12:39:06 2012 +0100 @@ -220,6 +220,54 @@ } /** + * Test if it is possible to compile and then run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileAndRunSimpleScriptStoredInString2() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.EMPTY_SCRIPT_2); + Object result = script.eval(); + assertNull(result, "result should be null"); + } + + /** + * Test if it is possible to compile and then run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileAndRunSimpleScriptStoredInString3() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.EMPTY_SCRIPT_3); + Object result = script.eval(); + assertNull(result, "result should be null"); + } + + /** + * Test if it is possible to compile and then run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileAndRunSimpleScriptStoredInString4() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.EMPTY_SCRIPT_4); + Object result = script.eval(); + assertNull(result, "result should be null"); + } + + /** + * Test if it is possible to compile and then run script from a string. + * + * @throws ScriptException + * this exception is thrown when this test case failed. + */ + protected void testCompileAndRunSimpleScriptStoredInString5() throws ScriptException { + CompiledScript script = getCompiledScript(JavaScriptSnippets.EMPTY_SCRIPT_5); + Object result = script.eval(); + assertNull(result, "result should be null"); + } + + /** * Entry point to this test case. * * @param args parameters passed from command line From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 03:57:23 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Nov 2012 11:57:23 +0000 Subject: [Bug 1233] java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1233 --- Comment #6 from sato --- (In reply to comment #5) > You need to install the debuginfo for glibc and see which parameter is > causing the problem. I wonder if GCC might be miscompiling > Java_java_net_Inet4AddressImpl_getLocalHostName I have no privilege to do that on the working environment... Any other way to investigate this? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/54eb1883/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 03:59:59 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Nov 2012 11:59:59 +0000 Subject: [Bug 1233] java.net.Inet4AddressImpl.getLocalHostName() causes SIGBUS error In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1233 --- Comment #7 from Andrew Haley --- I know of none. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/60fa903d/attachment.html From rkennke at redhat.com Wed Nov 28 05:26:34 2012 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2012 14:26:34 +0100 Subject: A new bug Error while do test_gama In-Reply-To: <218cc304.27f77.13b45e78313.Coremail.amiko212@126.com> References: <41fb2642.1ce93.13b06f70f5a.Coremail.amiko212@126.com> <218cc304.27f77.13b45e78313.Coremail.amiko212@126.com> Message-ID: <1354109194.2203.16.camel@mercury> Hi, > I write this letter for asking for all your help when I > compiler the icedtea1-11-4 with llvm-3.1 , A error happen in > test_gama ,for detail information ,please refer to the followings: I don't expect this to work with LLVM 3.1. I just brought OpenJDK/Shark up to date with latest LLVM and had to a lot of fixes to make it work with latest LLVM, and even then had problems with 3.1 in particular. For IcedTea, you might want to try an older version of LLVM, unfortunately I am not sure which one would work, the source code has references to 2.7, 2.8 and 2.9, so maybe try those first, in reverse order :-) Kind regards, Roman > > java full version "1.6.0-internal-root_15_aug_2012_17_31-b00" > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error (os_linux_zero.cpp:270), pid=11637, tid=745632944 > # fatal error: caught unhandled signal 11 > # > # JRE version: 6.0 > # Java VM: OpenJDK Shark VM (20.0-b12 mixed mode linux-mips64 ) > # Derivative: IcedTea6 1.11.4 > # Distribution: Custom build (Thu Nov 22 09:14:43 EST 2012) > # An error report file with more information is saved as: > # /home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk.build/hotspot/outputdir/linux_mips64_shark/product/hs_err_pid11637.log > # > # If you would like to submit a bug report, please include > # instructions how to reproduce the bug and visit: > # http://icedtea.classpath.org/bugzilla > # > ./test_gamma: line 11: 11637 Aborted > ${JAVA_HOME}/bin/javac > -d . /home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make/test/Queens.java > Using java runtime > at: /home/greatwall/amiko/icedtea6-1.11.4_build_1114/bootstrap/jdk1.6.0/jre > java version "1.6.0-internal" > OpenJDK Runtime Environment (build > 1.6.0-internal-root_15_aug_2012_17_31-b00) > OpenJDK Shark VM (build 20.0-b12, mixed mode) > > Exception in thread "main" java.lang.NoClassDefFoundError: Queens > Caused by: java.lang.ClassNotFoundException: Queens > at java.net.URL! ClassLoader$1.run(URLClassLoader.java:217) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:205) > at java.lang.ClassLoader.loadClass(ClassLoader.java:321) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) > at java.lang.ClassLoader.loadClass(ClassLoader.java:266) > Could not find the main class: Queens. Program will exit. > make[5]: *** [productshark] Error 1 > make[5]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build! > _1114/openjdk.build/hotspot/outputdir' > make[4]: *** [generic_buildshark] Error 2 > make[4]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make' > make[3]: *** [productshark] Error 2 > make[3]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make' > make[2]: *** [hotspot-build] Error 2 > make[2]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk' > make[1]: *** [stamps/icedtea.stamp] Error 2 > make[1]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build_1114' > make: *** [hotspot] Error 2 > [ > what's more , run i run ./! java -Xcomp -version ,it is ok and > success ,how ever ./java -Xcomp -help is fail it seems the fail > infomation is the same with above .is anybody met it before .Thank > you very much ! > > BR//Amiko > > > > > > > > > > From andrew at icedtea.classpath.org Wed Nov 28 06:42:46 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 28 Nov 2012 14:42:46 +0000 Subject: /hg/icedtea6: 3 new changesets Message-ID: changeset 62ea56e2d58a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=62ea56e2d58a author: Andrew John Hughes date: Wed Nov 28 13:34:53 2012 +0000 Use javac or ecj binaries in bootstrap rather than always using ecj.jar (largely backported from 7). 2012-11-28 Andrew John Hughes * acinclude.m4: (IT_FIND_COMPILER): Invoke IT_USING_ECJ. * javac.in: Add final else block which exits with an error. 2011-07-05 Andrew John Hughes * javac.in: Add -XDignore.symbol.file=true when using javac to avoid numerous proprietary warnings. 2010-12-08 Andrew John Hughes * javac.in: Pass -Xprefer:source (if javac is used) to pick up local OpenJDK versions of classes prior to those in the boot JDK. 2009-07-21 Andrew John Hughes * acinclude.m4: (IT_USING_ECJ): Work out whether javac is ecj or not. * javac.in: Run @JAVAC@ rather than @ECJ@ and vary arguments as needed depending on @USING_ECJ at . changeset 6787928de410 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6787928de410 author: Andrew John Hughes date: Wed Nov 28 14:41:42 2012 +0000 Only run -Xshare:dump when java exists and we aren't building CACAO or JamVM. 2012-11-28 Andrew John Hughes * Makefile.am: (add-archive): Only run -Xshare:dump when java exists and we aren't building CACAO or JamVM. (add-archive-debug): Likewise. (add-archive-ecj): Likewise. changeset cea49ba2afcd in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cea49ba2afcd author: Andrew John Hughes date: Wed Nov 28 14:42:31 2012 +0000 Restore deferencing of ecj arguments lost when backporting from 7. 2012-11-28 Andrew John Hughes * javac.in: Restore deferencing of ecj arguments lost when backporting from 7. diffstat: ChangeLog | 42 ++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 24 +++++++++++++++++++++--- acinclude.m4 | 16 ++++++++++++++++ javac.in | 18 ++++++++++++++++-- 4 files changed, 95 insertions(+), 5 deletions(-) diffs (171 lines): diff -r 5e25810d47d2 -r cea49ba2afcd ChangeLog --- a/ChangeLog Wed Nov 28 10:39:54 2012 +0000 +++ b/ChangeLog Wed Nov 28 14:42:31 2012 +0000 @@ -1,3 +1,45 @@ +2012-11-28 Andrew John Hughes + + * javac.in: + Restore deferencing of ecj arguments + lost when backporting from 7. + +2012-11-28 Andrew John Hughes + + * Makefile.am: + (add-archive): Only run -Xshare:dump when java + exists and we aren't building CACAO or JamVM. + (add-archive-debug): Likewise. + (add-archive-ecj): Likewise. + +2012-11-28 Andrew John Hughes + + * acinclude.m4: + (IT_FIND_COMPILER): Invoke IT_USING_ECJ. + * javac.in: + Add final else block which exits with an error. + +2011-07-05 Andrew John Hughes + + * javac.in: Add -XDignore.symbol.file=true + when using javac to avoid numerous proprietary + warnings. + +2010-12-08 Andrew John Hughes + + * javac.in: + Pass -Xprefer:source (if javac is used) to + pick up local OpenJDK versions of classes + prior to those in the boot JDK. + +2009-07-21 Andrew John Hughes + + * acinclude.m4: + (IT_USING_ECJ): Work out whether javac is ecj or not. + * javac.in: + Run @JAVAC@ rather than @ECJ@ and vary arguments as + needed depending on @USING_ECJ at . + 2009-07-09 Andrew John Hughes * Makefile.am: diff -r 5e25810d47d2 -r cea49ba2afcd Makefile.am --- a/Makefile.am Wed Nov 28 10:39:54 2012 +0000 +++ b/Makefile.am Wed Nov 28 14:42:31 2012 +0000 @@ -1778,14 +1778,26 @@ rm -f stamps/add-tzdata-support-debug.stamp stamps/add-archive.stamp: stamps/icedtea.stamp - $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump +if !ENABLE_JAMVM +if !ENABLE_CACAO + if [ -e $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump ; \ + fi +endif +endif touch stamps/add-archive.stamp clean-add-archive: rm -f stamps/add-archive.stamp stamps/add-archive-debug.stamp: stamps/icedtea-debug.stamp - $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump +if !ENABLE_JAMVM +if !ENABLE_CACAO + if [ -e $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump ; \ + fi +endif +endif touch stamps/add-archive-debug.stamp clean-add-archive-debug: @@ -1937,7 +1949,13 @@ rm -f stamps/add-tzdata-support-ecj.stamp stamps/add-archive-ecj.stamp: stamps/icedtea-ecj.stamp - $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump +if !ENABLE_JAMVM +if !ENABLE_CACAO + if [ -e $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \ + $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump ; \ + fi +endif +endif touch stamps/add-archive-ecj.stamp clean-add-archive-ecj: diff -r 5e25810d47d2 -r cea49ba2afcd acinclude.m4 --- a/acinclude.m4 Wed Nov 28 10:39:54 2012 +0000 +++ b/acinclude.m4 Wed Nov 28 14:42:31 2012 +0000 @@ -139,6 +139,9 @@ JAVAC="${ECJ} -nowarn" fi fi + + IT_USING_ECJ + AC_SUBST(ECJ) AC_SUBST(JAVAC) ]) @@ -1857,3 +1860,16 @@ AM_CONDITIONAL([DOWNLOADING], test x"${enable_downloading}" = "xyes") AC_SUBST([enable_downloading]) ]) + +AC_DEFUN([IT_USING_ECJ],[ +AC_CACHE_CHECK([if we are using ecj as javac], it_cv_ecj, [ +if $JAVAC -version 2>&1| grep '^Eclipse' >&AS_MESSAGE_LOG_FD ; then + it_cv_ecj=yes; +else + it_cv_ecj=no; +fi +]) +USING_ECJ=$it_cv_ecj +AC_SUBST(USING_ECJ) +AC_PROVIDE([$0])dnl +]) diff -r 5e25810d47d2 -r cea49ba2afcd javac.in --- a/javac.in Wed Nov 28 10:39:54 2012 +0000 +++ b/javac.in Wed Nov 28 14:42:31 2012 +0000 @@ -4,11 +4,13 @@ use constant STRIP_ARGS => qw(-Werror -implicit:none -J-Xbootclasspath/p:); my $ECJ_WARNINGS="-nowarn"; +my $JAVAC_WARNINGS="-nowarn"; my @bcoption; push @bcoption, '-bootclasspath', glob '@abs_top_builddir@/bootstrap/jdk1.6.0/jre/lib/rt.jar' unless grep {$_ eq '-bootclasspath'} @ARGV; my @ecj_parms = ($ECJ_WARNINGS, @bcoption); +my @javac_parms = ($JAVAC_WARNINGS, '-Xprefer:source', '-XDignore.symbol.file=true'); # Work around ecj's inability to handle duplicate command-line # options and unknown javac options. @@ -49,6 +51,18 @@ my $ecj_args = gen_ecj_opts( \@ARGV ); exec '@abs_top_builddir@/native-ecj', @ecj_parms, @$ecj_args ; } +elsif ( -e "@JAVAC@" ) +{ + if ("@USING_ECJ@" eq "yes") + { + my $ecj_args = gen_ecj_opts( \@ARGV ); + exec '@JAVAC@', @ecj_parms, @$ecj_args ; + } + else + { + exec '@JAVAC@', @javac_parms, @ARGV ; + } +} elsif ( -e "@ECJ_JAR@" ) { my ($vm_args, $javac_args) = split_vm_args (gen_ecj_opts( \@ARGV )); @@ -59,6 +73,6 @@ } else { - my $ecj_args = gen_ecj_opts( \@ARGV ); - exec '@ECJ@', @ecj_parms, @$ecj_args ; + print STDERR "No Java compiler to run"; + exit -1; } From jvanek at redhat.com Wed Nov 28 09:17:11 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 28 Nov 2012 18:17:11 +0100 Subject: [fyi] [icedtea-web] new code coverage direction - jacoco In-Reply-To: <50B4FA0C.5030502@redhat.com> References: <50B4FA0C.5030502@redhat.com> Message-ID: <50B64717.1040705@redhat.com> On 11/27/2012 06:36 PM, Jiri Vanek wrote: > hi all! > > Last few days I was hidding behind new codecoverage for icedtea-web. It have appeared to be more > tricky then I thought: > > * Support for jdk7 on field of coverage tool is desperate - the only tool which support it and is > alive (actually I really think it is the only one right now) is JACOCO. > * jacoco packages in fedora are broken - I have fixed them and post patch to its maintainer > * jacoco itself do not support coverage of boot-classapth, I have fixed this too, and I hope I will > be able to upstream this patch - quite simple patch but it will need some more tuning (xboot.patch) > [as I do not see to alll corners of this amazing tool] > * jacoco although having excellent API, have no commandline tool for report generation and for > merging of results. I have wrote my own (simple one, jacoco-tool.diff) and I hope I will be able to > upstream it to rather then fill icedtea-web with it. > > So do not use this patch for now - it uses custom packages upon custom sources with custom > dependences (Asm4 instead of asm3) :), but if all the fixes will go upstream then the results are > amazing! > > The integration of patched package with patched sources is then quite simple and same as emma was. > Coverage of unit tests, coverage of individual reproducers run, then merged all reproducers together > and at the end merged all reproducers and unit test's results. > On each sub-step xml and html report is generated. > > Good new is that it will be easy to cover also plugin [work in progress] > > Best regards > J. > > > ps: with litlle bit more tweaking on xbooth.patch I was able to create coverage report for most > rt.jar itself on openjdk build:) > hmm.. sun.reflect.* must be excluded on jdk7 too... From ekrichardson at gmail.com Wed Nov 28 10:49:33 2012 From: ekrichardson at gmail.com (Eric Richardson) Date: Wed, 28 Nov 2012 10:49:33 -0800 Subject: A new bug Error while do test_gama In-Reply-To: <218cc304.27f77.13b45e78313.Coremail.amiko212@126.com> References: <41fb2642.1ce93.13b06f70f5a.Coremail.amiko212@126.com> <218cc304.27f77.13b45e78313.Coremail.amiko212@126.com> Message-ID: Hi, You might want to check out this list. http://mail.openjdk.java.net/pipermail/zero-dev/2012-November/000428.html Eric On Tue, Nov 27, 2012 at 11:24 PM, liu chao jun wrote: > hi all > I write this letter for asking for all your help when I compiler > the icedtea1-11-4 with llvm-3.1 , A error happen in test_gama ,for detail > information ,please refer to the followings: > > java full version "1.6.0-internal-root_15_aug_2012_17_31-b00" > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error (os_linux_zero.cpp:270), pid=11637, tid=745632944 > # fatal error: caught unhandled signal 11 > # > # JRE version: 6.0 > # Java VM: OpenJDK Shark VM (20.0-b12 mixed mode linux-mips64 ) > # Derivative: IcedTea6 1.11.4 > # Distribution: Custom build (Thu Nov 22 09:14:43 EST 2012) > # An error report file with more information is saved as: > # > /home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk.build/hotspot/outputdir/linux_mips64_shark/product/hs_err_pid11637.log > # > # If you would like to submit a bug report, please include > # instructions how to reproduce the bug and visit: > # http://icedtea.classpath.org/bugzilla > # > ./test_gamma: line 11: 11637 Aborted > ${JAVA_HOME}/bin/javac -d . > /home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make/test/Queens.java > Using java runtime at: > /home/greatwall/amiko/icedtea6-1.11.4_build_1114/bootstrap/jdk1.6.0/jre > java version "1.6.0-internal" > OpenJDK Runtime Environment (build > 1.6.0-internal-root_15_aug_2012_17_31-b00) > OpenJDK Shark VM (build 20.0-b12, mixed mode) > > Exception in thread "main" java.lang.NoClassDefFoundError: Queens > Caused by: java.lang.ClassNotFoundException: Queens > at java.net.URL! ClassLoader$1.run(URLClassLoader.java:217) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:205) > at java.lang.ClassLoader.loadClass(ClassLoader.java:321) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) > at java.lang.ClassLoader.loadClass(ClassLoader.java:266) > Could not find the main class: Queens. Program will exit. > make[5]: *** [productshark] Error 1 > make[5]: Leaving directory `/home/greatwall/amiko/icedtea6-1.11.4_build! > _1114/openjdk.build/hotspot/outputdir' > make[4]: *** [generic_buildshark] Error 2 > make[4]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make' > make[3]: *** [productshark] Error 2 > make[3]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk/hotspot/make' > make[2]: *** [hotspot-build] Error 2 > make[2]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build_1114/openjdk' > make[1]: *** [stamps/icedtea.stamp] Error 2 > make[1]: Leaving directory > `/home/greatwall/amiko/icedtea6-1.11.4_build_1114' > make: *** [hotspot] Error 2 > [ > what's more , run i run ./! java -Xcomp -version ,it is ok and success > ,how ever ./java -Xcomp -help is fail it seems the fail infomation is the > same with above .is anybody met it before .Thank you very much ! > > BR//Amiko > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/6e2f0326/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 10:58:05 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Nov 2012 18:58:05 +0000 Subject: [Bug 1198] JSObject passed to Javascript incorrectly In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198 Adam Domurad changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|JSObject#eval creates |JSObject passed to |invalid JS object |Javascript incorrectly -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/0ab8eb05/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 11:04:02 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 28 Nov 2012 19:04:02 +0000 Subject: [Bug 843] www.mojebanka.cz hangs with icedtea-web In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=843 mysystemp at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED --- Comment #33 from mysystemp at gmail.com --- It seems the bug has been fixed. I've contacted KB IT dep. several months ago, so i am not sure if they change anything to solve this issue. Anyway it works like charm. Firefox: 17.0 java version "1.7.0_09" OpenJDK Runtime Environment (IcedTea7 2.3.3) (ArchLinux build 7.u9_2.3.3-1-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121128/9594f0ae/attachment.html From adomurad at redhat.com Wed Nov 28 13:12:50 2012 From: adomurad at redhat.com (Adam Domurad) Date: Wed, 28 Nov 2012 16:12:50 -0500 Subject: [icedtea-web] Proposed formatting for C++ side of plugin In-Reply-To: <20120522204944.GW29866@redhat.com> References: <1337717124.9450.6.camel@voip-10-15-18-79.yyz.redhat.com> <20120522203939.GU29866@redhat.com> <20120522204944.GW29866@redhat.com> Message-ID: <50B67E52.4060408@redhat.com> On 05/22/2012 04:49 PM, Deepak Bhole wrote: > * Deepak Bhole [2012-05-22 16:48]: >> * Adam Domurad [2012-05-22 16:06]: >>> So, currently the C++ side of the plugin uses inconsistent indents (tabs >>> and various # of spaces). An auto-format to make the code formatted more >>> like the Java side could be beneficial. >>> >>> As Omair pointed out however, formatting HEAD will cause back-ports to >>> become more difficult. >>> >>> I therefore propose to create an Eclipse formatting profile that will >>> define the standard formatting for the C++ side of the project, and then >>> back-port this formatting profile so that future back-ported patches are >>> not made more difficult due to indenting/line number differences. >>> >> Yep, there is a formatting profile for Java in the repos -- we'd just >> have to add something similar for C++. >> >> Also, I am unclear as to what you mean by "back-port this formatting >> profile" -- as in re-indent the code in stable branches? >> > Adam just confirmed that this indeed entails backporting the indentation > changes. > > I am OK with this as it will strictly be a spacing only change and no > matter when we do it, we will have to backport it to make future > backporting easier. > > Given the scope, I think at least one more person should sign off on > this one however. > > Cheers, > Deepak > Ping. Still want this :). I set up my eclipse autoformat to be near to the current format to keep things consistent - but the formatting itself right now is not consistent. As well, some parts of the formatting (ie return type on new line in function definition) I can't seem to get eclipse to do. I think this will enhance readability of the C++ side for people that are use to staring at Java as well. :) happy hacking, -Adam From andrew at icedtea.classpath.org Wed Nov 28 20:20:59 2012 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 29 Nov 2012 04:20:59 +0000 Subject: /hg/icedtea7: 2 new changesets Message-ID: changeset 24dbf739e406 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=24dbf739e406 author: Andrew John Hughes date: Thu Nov 29 04:18:45 2012 +0000 PR1212: IcedTea7 fails to build because Resources.getText() is no longer available for code to use 2012-11-29 Andrew John Hughes PR1212 * generated/sun/tools/jconsole/Version.java, Removed to avoid build breakage. * NEWS: Updated. changeset 293d04f4c449 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=293d04f4c449 author: Andrew John Hughes date: Thu Nov 29 04:20:36 2012 +0000 PR1197, S8003120: ResourceManager.getApplicationResources() does not close InputStreams 2012-11-29 Andrew John Hughes PR1197 * Makefile.am: (JDK_CHANGESET): Updated to tip. (JDK_SHA256SUM): Likewise. * NEWS: Updated. diffstat: ChangeLog | 15 ++++++++ Makefile.am | 4 +- NEWS | 5 ++ generated/sun/tools/jconsole/Version.java | 55 ------------------------------- 4 files changed, 22 insertions(+), 57 deletions(-) diffs (116 lines): diff -r 91cb89e3e986 -r 293d04f4c449 ChangeLog --- a/ChangeLog Wed Nov 07 14:31:11 2012 -0500 +++ b/ChangeLog Thu Nov 29 04:20:36 2012 +0000 @@ -1,3 +1,18 @@ +2012-11-29 Andrew John Hughes + + PR1197 + * Makefile.am: + (JDK_CHANGESET): Updated to tip. + (JDK_SHA256SUM): Likewise. + * NEWS: Updated. + +2012-11-29 Andrew John Hughes + + PR1212 + * generated/sun/tools/jconsole/Version.java, + Removed to avoid build breakage. + * NEWS: Updated. + 2012-11-07 Andrew John Hughes * patches/systemtap.patch: Removed. diff -r 91cb89e3e986 -r 293d04f4c449 Makefile.am --- a/Makefile.am Wed Nov 07 14:31:11 2012 -0500 +++ b/Makefile.am Thu Nov 29 04:20:36 2012 +0000 @@ -7,14 +7,14 @@ CORBA_CHANGESET = 1285389d6969 JAXP_CHANGESET = 8e9679984e79 JAXWS_CHANGESET = bbd4ecb4bbcb -JDK_CHANGESET = e9c857dcb964 +JDK_CHANGESET = c6a90ff85ffc LANGTOOLS_CHANGESET = 79e875e2dca3 OPENJDK_CHANGESET = 0fa8b0b4ca26 CORBA_SHA256SUM = 880683c950e833a792d4c36059af4f8a4a50dc8fb9d773831bd9cd4578f2f2f7 JAXP_SHA256SUM = ead7718f52579c1c096ed7e853582b2622ad7e64afbf9d360eae6af55de58377 JAXWS_SHA256SUM = 78d4e79dc8b08bfd5940f02990e9664c296242dfcef4b5e820f93744e98e7e2d -JDK_SHA256SUM = d47ae7848f09723302f18f40987f7419f98e0470131ed96f77377719bbe6e03e +JDK_SHA256SUM = 014ec54f8315f4511cfb7a0bf71ef5ecd05d7ac879063fe0f50f570fba3b8981 LANGTOOLS_SHA256SUM = 42444bf6a314d1914013b826d8137d6edf9843c14011cec5a4761289d1846a3d OPENJDK_SHA256SUM = acab74106ee2670962b048cd4f1b7cfbb0f55340477cd625b7cb40c6bc99036c diff -r 91cb89e3e986 -r 293d04f4c449 NEWS --- a/NEWS Wed Nov 07 14:31:11 2012 -0500 +++ b/NEWS Thu Nov 29 04:20:36 2012 +0000 @@ -12,6 +12,11 @@ New in release 2.4 (2012-XX-XX): +* Backports + - PR1197, S8003120: ResourceManager.getApplicationResources() does not close InputStreams +* Bug fixes + - PR1212: IcedTea7 fails to build because Resources.getText() is no longer available for code to use + New in release 2.3.3 (2012-10-17): * Security fixes diff -r 91cb89e3e986 -r 293d04f4c449 generated/sun/tools/jconsole/Version.java --- a/generated/sun/tools/jconsole/Version.java Wed Nov 07 14:31:11 2012 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -/* - * Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.tools.jconsole; - -import java.io.PrintStream; - -public class Version { - private static final String jconsole_version = - "1.7.0-b36"; - - public static void print(PrintStream ps) { - printFullVersion(ps); - - ps.println(Resources.getText("Name and Build", - System.getProperty("java.runtime.name"), - System.getProperty("java.runtime.version"))); - - ps.println(Resources.getText("Name Build and Mode", - System.getProperty("java.vm.name"), - System.getProperty("java.vm.version"), - System.getProperty("java.vm.info"))); - - } - - public static void printFullVersion(PrintStream ps) { - ps.println(Resources.getText("JConsole version", jconsole_version)); - } - - static String getVersion() { - return jconsole_version; - } -} From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 20:22:19 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 04:22:19 +0000 Subject: [Bug 1197] ResourceManager.getApplicationResources() does not close InputStreams In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1197 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #6 from Andrew John Hughes --- 2012-11-29 Andrew John Hughes PR1197 * Makefile.am: (JDK_CHANGESET): Updated to tip. (JDK_SHA256SUM): Likewise. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/d92f2472/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 20:21:59 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 04:21:59 +0000 Subject: [Bug 1212] IcedTea7 fails to build because Resources.getText( ) is no longer available for code to use In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1212 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #5 from Andrew John Hughes --- 2012-11-29 Andrew John Hughes PR1212 * generated/sun/tools/jconsole/Version.java, Removed to avoid build breakage. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/d0a2da68/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 20:22:39 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 04:22:39 +0000 Subject: [Bug 1212] IcedTea7 fails to build because Resources.getText( ) is no longer available for code to use In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1212 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.4 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/181226aa/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Nov 28 20:22:48 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 04:22:48 +0000 Subject: [Bug 1197] ResourceManager.getApplicationResources() does not close InputStreams In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1197 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.4 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/19bc81df/attachment.html From jvanek at redhat.com Thu Nov 29 00:40:08 2012 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 29 Nov 2012 09:40:08 +0100 Subject: [fyi] [icedtea-web] new code coverage direction - jacoco In-Reply-To: <50B64717.1040705@redhat.com> References: <50B4FA0C.5030502@redhat.com> <50B64717.1040705@redhat.com> Message-ID: <50B71F68.10203@redhat.com> On 11/28/2012 06:17 PM, Jiri Vanek wrote: > On 11/27/2012 06:36 PM, Jiri Vanek wrote: >> hi all! >> >> Last few days I was hidding behind new codecoverage for icedtea-web. It have appeared to be more >> tricky then I thought: >> >> * Support for jdk7 on field of coverage tool is desperate - the only tool which support it and is >> alive (actually I really think it is the only one right now) is JACOCO. >> * jacoco packages in fedora are broken - I have fixed them and post patch to its maintainer >> * jacoco itself do not support coverage of boot-classapth, I have fixed this too, and I hope I will >> be able to upstream this patch - quite simple patch but it will need some more tuning (xboot.patch) >> [as I do not see to alll corners of this amazing tool] >> * jacoco although having excellent API, have no commandline tool for report generation and for >> merging of results. I have wrote my own (simple one, jacoco-tool.diff) and I hope I will be able to >> upstream it to rather then fill icedtea-web with it. >> >> So do not use this patch for now - it uses custom packages upon custom sources with custom >> dependences (Asm4 instead of asm3) :), but if all the fixes will go upstream then the results are >> amazing! >> >> The integration of patched package with patched sources is then quite simple and same as emma was. >> Coverage of unit tests, coverage of individual reproducers run, then merged all reproducers together >> and at the end merged all reproducers and unit test's results. >> On each sub-step xml and html report is generated. >> >> Good new is that it will be easy to cover also plugin [work in progress] >> >> Best regards >> J. >> >> >> ps: with litlle bit more tweaking on xbooth.patch I was able to create coverage report for most >> rt.jar itself on openjdk build:) >> > hmm.. sun.reflect.* must be excluded on jdk7 too... > Here is the example of yesterdays run: http://10.34.2.200/icedtea-web-dailyreport/jacocoPreview/ not bad comapring to latrest emma run: http://10.34.2.200/icedtea-web-dailyreport/ICWDR_1343375169/tests.build/coverage/index.html :) From ptisnovs at icedtea.classpath.org Thu Nov 29 01:09:31 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 29 Nov 2012 09:09:31 +0000 Subject: /hg/gfx-test: Added eight new tests to the test suite src/org/gf... Message-ID: changeset f92cdf46d17a in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=f92cdf46d17a author: Pavel Tisnovsky date: Thu Nov 29 10:12:29 2012 +0100 Added eight new tests to the test suite src/org/gfxtest/testsuites/BitBltUsingBgColor.java. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 120 +++++++++++++++++++++ 2 files changed, 125 insertions(+), 0 deletions(-) diffs (142 lines): diff -r 0d149c4a9168 -r f92cdf46d17a ChangeLog --- a/ChangeLog Wed Nov 28 11:14:48 2012 +0100 +++ b/ChangeLog Thu Nov 29 10:12:29 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-29 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Added eight new tests to this test suite. + 2012-11-28 Pavel Tisnovsky * src/org/gfxtest/testsuites/PrintTestBitBltUsingBgColor.java: diff -r 0d149c4a9168 -r f92cdf46d17a src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Wed Nov 28 11:14:48 2012 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Nov 29 10:12:29 2012 +0100 @@ -373,6 +373,126 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. + * Background color is set to Color.black. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGR_Pre_backgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. + * Background color is set to Color.blue. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGR_Pre_backgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. + * Background color is set to Color.green. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGR_Pre_backgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. + * Background color is set to Color.cyan. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGR_Pre_backgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. + * Background color is set to Color.red. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGR_Pre_backgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. + * Background color is set to Color.magenta. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGR_Pre_backgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. + * Background color is set to Color.yellow. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGR_Pre_backgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_Pre. + * Background color is set to Color.white. + * + * @param image + * image to used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGR_Pre_backgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.white); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Thu Nov 29 01:18:37 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 29 Nov 2012 09:18:37 +0000 Subject: /hg/rhino-tests: Fixed several compiler warnings. Message-ID: changeset 9c72803a3232 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=9c72803a3232 author: Pavel Tisnovsky date: Thu Nov 29 10:21:35 2012 +0100 Fixed several compiler warnings. diffstat: ChangeLog | 9 ++ src/org/RhinoTests/BindingsClassTest.java | 4 +- src/org/RhinoTests/CompilableClassTest.java | 4 +- src/org/RhinoTests/InvocableClassTest.java | 1 - src/org/RhinoTests/ScriptEngineClassTest.java | 1 - src/org/RhinoTests/ScriptEngineTest.java | 96 +++++++++++++------------- 6 files changed, 60 insertions(+), 55 deletions(-) diffs (truncated from 516 to 500 lines): diff -r 4ecf9a7bcab2 -r 9c72803a3232 ChangeLog --- a/ChangeLog Wed Nov 28 12:39:06 2012 +0100 +++ b/ChangeLog Thu Nov 29 10:21:35 2012 +0100 @@ -1,3 +1,12 @@ +2012-11-29 Pavel Tisnovsky + + * src/org/RhinoTests/BindingsClassTest.java: + * src/org/RhinoTests/CompilableClassTest.java: + * src/org/RhinoTests/InvocableClassTest.java: + * src/org/RhinoTests/ScriptEngineClassTest.java: + * src/org/RhinoTests/ScriptEngineTest.java: + Fixed several compiler warnings. + 2012-11-28 Pavel Tisnovsky * src/org/RhinoTests/CompilableTest.java: diff -r 4ecf9a7bcab2 -r 9c72803a3232 src/org/RhinoTests/BindingsClassTest.java --- a/src/org/RhinoTests/BindingsClassTest.java Wed Nov 28 12:39:06 2012 +0100 +++ b/src/org/RhinoTests/BindingsClassTest.java Thu Nov 29 10:21:35 2012 +0100 @@ -52,7 +52,7 @@ import java.lang.reflect.Modifier; import javax.script.Bindings; -import javax.script.Invocable;import javax.script.SimpleBindings; +import javax.script.SimpleBindings; @@ -93,7 +93,7 @@ * Test for method javax.script.Bindings.getClass().isInstance() */ protected void testIsInstance() { - assertTrue(this.bindingsClass.isInstance((Bindings)(new SimpleBindings())), + assertTrue(this.bindingsClass.isInstance(new SimpleBindings()), "Method Bindings.getClass().isInstance() returns wrong value"); } diff -r 4ecf9a7bcab2 -r 9c72803a3232 src/org/RhinoTests/CompilableClassTest.java --- a/src/org/RhinoTests/CompilableClassTest.java Wed Nov 28 12:39:06 2012 +0100 +++ b/src/org/RhinoTests/CompilableClassTest.java Thu Nov 29 10:21:35 2012 +0100 @@ -52,9 +52,7 @@ import java.lang.reflect.Modifier; import javax.script.Compilable; -import javax.script.Invocable; import javax.script.ScriptEngineManager; -import javax.script.ScriptEngine; @@ -95,7 +93,7 @@ * Test for method javax.script.Compilable.getClass().isInstance() */ protected void testIsInstance() { - assertTrue(this.compilableClass.isInstance((Compilable)(new ScriptEngineManager().getEngineByName(Constants.EngineNames.ENGINE_NAME_JavaScript))), + assertTrue(this.compilableClass.isInstance(new ScriptEngineManager().getEngineByName(Constants.EngineNames.ENGINE_NAME_JavaScript)), "Method Compilable.getClass().isInstance() returns wrong value"); } diff -r 4ecf9a7bcab2 -r 9c72803a3232 src/org/RhinoTests/InvocableClassTest.java --- a/src/org/RhinoTests/InvocableClassTest.java Wed Nov 28 12:39:06 2012 +0100 +++ b/src/org/RhinoTests/InvocableClassTest.java Thu Nov 29 10:21:35 2012 +0100 @@ -53,7 +53,6 @@ import javax.script.Invocable; import javax.script.ScriptEngineManager; -import javax.script.ScriptEngine; diff -r 4ecf9a7bcab2 -r 9c72803a3232 src/org/RhinoTests/ScriptEngineClassTest.java --- a/src/org/RhinoTests/ScriptEngineClassTest.java Wed Nov 28 12:39:06 2012 +0100 +++ b/src/org/RhinoTests/ScriptEngineClassTest.java Thu Nov 29 10:21:35 2012 +0100 @@ -53,7 +53,6 @@ import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; -import javax.script.ScriptEngine; diff -r 4ecf9a7bcab2 -r 9c72803a3232 src/org/RhinoTests/ScriptEngineTest.java --- a/src/org/RhinoTests/ScriptEngineTest.java Wed Nov 28 12:39:06 2012 +0100 +++ b/src/org/RhinoTests/ScriptEngineTest.java Thu Nov 29 10:21:35 2012 +0100 @@ -82,7 +82,7 @@ * @throws Exception this exception is thrown if none script engine could be found. */ private ScriptEngine tryToFindEngineByName(String name) throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName(name); assertNotNull(scriptEngine, "JavaScript engine manager not found by name '" + name + "'"); return scriptEngine; @@ -96,7 +96,7 @@ * @throws Exception this exception is thrown if none script engine could be found. */ private ScriptEngine tryToFindEngineByMimeType(String mimeType) throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType(mimeType); assertNotNull(scriptEngine, "JavaScript engine manager not found by MIME type '" + mimeType + "'"); return scriptEngine; @@ -155,7 +155,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative1() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); try { @SuppressWarnings("unused") ScriptEngine scriptEngine = this.engineManager.getEngineByName(null); @@ -172,7 +172,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative2() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName(""); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -182,7 +182,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative3() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName(" "); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -192,7 +192,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative4() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName(" "); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -202,7 +202,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative5() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName("\t"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -212,7 +212,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative6() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName(" \t"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -222,7 +222,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative7() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName("\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -232,7 +232,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative8() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName("\b\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -242,7 +242,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative9() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName(" \b\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -252,7 +252,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative10() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName("\000"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -262,7 +262,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative11() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName("\u0000"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -272,7 +272,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative12() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName("really-wrong-name"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -282,7 +282,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative13() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName(" " + Constants.EngineNames.ENGINE_NAME_rhino); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -292,7 +292,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByNameNegative14() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByName("\b" + Constants.EngineNames.ENGINE_NAME_rhino); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -302,7 +302,7 @@ * @throws Exception this exception is thrown if none script engine could be found. */ protected void testGetEngineByExtension() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension(Constants.FileExtensions.EXTENSION_js); assertNotNull(scriptEngine, "JavaScript engine manager not found"); } @@ -312,7 +312,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative1() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); try { @SuppressWarnings("unused") ScriptEngine scriptEngine = this.engineManager.getEngineByExtension(null); @@ -329,7 +329,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative2() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension(""); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -339,7 +339,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative3() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension(" "); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -349,7 +349,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative4() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension(" "); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -359,7 +359,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative5() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("\t"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -369,7 +369,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative6() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension(" \t"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -379,7 +379,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative7() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -389,7 +389,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative8() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("\b\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -399,7 +399,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative9() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension(" \b\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -409,7 +409,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative10() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("\000"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -419,7 +419,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative11() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("\u0000"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -429,7 +429,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative12() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("js "); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -439,7 +439,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative13() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("\tjs"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -449,7 +449,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative14() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("js\t"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -459,7 +459,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative15() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension(" js"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -469,7 +469,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByExtensionNegative16() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByExtension("\bjs"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -528,7 +528,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative2() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType(""); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -538,7 +538,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative3() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType(" "); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -548,7 +548,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative4() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType(" "); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -558,7 +558,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative5() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType("\t"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -568,7 +568,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative6() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType(" \t"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -578,7 +578,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative7() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType("\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -588,7 +588,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative8() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType("\b\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -598,7 +598,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative9() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType(" \b\b"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -608,7 +608,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative10() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType("\000"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -618,7 +618,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative11() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType("\u0000"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -628,7 +628,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative12() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType("js "); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -638,7 +638,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative13() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType("\tjs"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -648,7 +648,7 @@ * @throws Exception if this test case fails. */ protected void testGetEngineByMimeTypeNegative14() throws Exception { - assertNotNull(engineManager, "Script engine manager was not created"); + assertNotNull(this.engineManager, "Script engine manager was not created"); ScriptEngine scriptEngine = this.engineManager.getEngineByMimeType("js\t"); assertNull(scriptEngine, "JavaScript engine manager was found but it's not expected"); } @@ -658,7 +658,7 @@ * @throws Exception if this test case fails. From helpcrypto at gmail.com Thu Nov 29 02:47:17 2012 From: helpcrypto at gmail.com (helpcrypto helpcrypto) Date: Thu, 29 Nov 2012 11:47:17 +0100 Subject: [Bug 1198] JSObject passed to Javascript incorrectly In-Reply-To: References: Message-ID: Hi Adam. Just to know, are there any news about this? Adam Domurad changed bug 1198 > What Removed Added Summary JSObject#eval creates invalid JS object JSObject > passed to Javascript incorrectly > > ------------------------------ > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/87ed4cef/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 29 06:36:07 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 14:36:07 +0000 Subject: [Bug 843] www.mojebanka.cz hangs with icedtea-web In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=843 Adam Domurad changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |adomurad at redhat.com --- Comment #34 from Adam Domurad --- Good to hear that its working mysystemp. Curious though (it was not in output you posted), what version of icedtea-web are you using ? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/921c2f64/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 29 06:49:59 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 14:49:59 +0000 Subject: [Bug 843] www.mojebanka.cz hangs with icedtea-web In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=843 --- Comment #35 from mysystemp at gmail.com --- I've got my Arch box up to date, so icedtea-web-java7 1.3.1-1 https://www.archlinux.org/packages/extra/x86_64/jre7-openjdk/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/3e2dcdb0/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 29 06:52:39 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 14:52:39 +0000 Subject: [Bug 843] www.mojebanka.cz hangs with icedtea-web In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=843 --- Comment #36 from mysystemp at gmail.com --- Here's direct link :) https://www.archlinux.org/packages/extra/x86_64/icedtea-web-java7/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/3167ca97/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 29 07:49:35 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 15:49:35 +0000 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1211 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |omajid at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/b6a29e78/attachment.html From helpcrypto at gmail.com Thu Nov 29 09:05:32 2012 From: helpcrypto at gmail.com (helpcrypto helpcrypto) Date: Thu, 29 Nov 2012 18:05:32 +0100 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: References: Message-ID: Hi Deepak. May I know what you want Omair do with [Bug 1211] "always trust content from this provider" NOT to be checked as default ? I didnt see any message discussing what to do (probably i missed it), but i dont think anything to be done... Thx. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/51f34dec/attachment.html From dbhole at redhat.com Thu Nov 29 09:34:10 2012 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 29 Nov 2012 12:34:10 -0500 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: References: Message-ID: <20121129173410.GV31589@redhat.com> * helpcrypto helpcrypto [2012-11-29 12:05]: > Hi Deepak. > May I know what you want Omair do with [Bug 1211] "always trust content > from this provider" NOT to be checked as default ? > I didnt see any message discussing what to do (probably i missed it), > but i dont think anything to be done... > Thx. Hi, I do not have a specific approach in mind. I just assigned it to Omair since he is already familiar with the matter and I don't want him to lose track of it as he is currently on PTO. Cheers, Deepak From adomurad at redhat.com Thu Nov 29 10:37:07 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 29 Nov 2012 13:37:07 -0500 Subject: [icedtea-web][rfc] Refactor a JS<->Java function, add browser-table mocking to C++ unit tests Message-ID: <50B7AB53.7030904@redhat.com> Hi all. This refactoring will help in the fix for the JSObject bug [1] Firstly, to aid in testing this I added a simple mechanism for mocking browser callbacks: Testing framework ChangeLog: 2012-11-XX Adam Domurad Added a simple mechanism for mocking functions in the browser function table. Can be exapanded as needed. * tests/cpp-unit-tests/main.cc: Call setup function, warn on browser function based memory leak. * tests/cpp-unit-tests/browser_mock.cc: New, implements simple error-checking mocks of browser callbacks. * tests/cpp-unit-tests/browser_mock.h: New, interface to mocking functions. A further idea for testing these functions (which rely on JavaRequestProcessor) is to have a different version of this class when compiling for unit tests. This would effectively 'mock' the class without having to modify the extensibility of the actual class (eg can make everything virtual but thats intrusive). The refactoring introduces two convenience methods, and breaks up IcedTeaPluginUtilities::javaResultToNPVariant into multiple, more manageable parts. This will make it easier to apply the fix (which requires a special case for sun.plugin.JSObject like the one done on java.lang.String). This refactoring is in jsfunc-refactor.patch, and (since the patch doesn't read well) copied into newjsfunc-snippet.cpp. Refactoring ChangeLog: 2012-11-XX Adam Domurad Breaks up IcedTeaPluginUtilities::javaResultToNPVariant into multiple, more manageable parts. * plugin/icedteanp/IcedTeaPluginUtils.cc: Make three helper functions for the different cases. Two new helper functions for converting from std::string to NPString and NPVariant. * plugin/icedteanp/IcedTeaPluginUtils.h: Two new helper functions. * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: Tests for the new NPString and NPVariant from std::string functions. [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198 Happy hacking, -Adam -------------- next part -------------- A non-text attachment was scrubbed... Name: browsermock.patch Type: text/x-patch Size: 6524 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/4804001d/browsermock.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: jsfunc-refactor.patch Type: text/x-patch Size: 11790 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/4804001d/jsfunc-refactor.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: newjsfunc-snippet.cpp Type: text/x-c++src Size: 3681 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/4804001d/newjsfunc-snippet.cpp From adomurad at redhat.com Thu Nov 29 11:13:54 2012 From: adomurad at redhat.com (Adam Domurad) Date: Thu, 29 Nov 2012 14:13:54 -0500 Subject: [Bug 1198] JSObject passed to Javascript incorrectly In-Reply-To: References: Message-ID: <50B7B3F2.6020303@redhat.com> On 11/29/2012 05:47 AM, helpcrypto helpcrypto wrote: > Hi Adam. > > Just to know, are there any news about this? > > > Adam Domurad changed bug 1198 > > What Removed Added > Summary JSObject#eval creates invalid JS object JSObject passed > to Javascript incorrectly > > ------------------------------------------------------------------------ > Hi. I'll hopefully have a fix posted by tomorrow or so. The issue is __that JSObject is passed to Javascript as if it were a normal java object - ie you can call JSObject specific methods on it like you can for other Java objects passed to JS. This is obviously not what should happen, the actual javascript object needs to be unboxed. This will be special cased so that the javascript object reference that the JSObject contains will be used, instead of a Java object wrapper. Happy hacking, - Adam -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/eab99dce/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Nov 29 12:05:30 2012 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 29 Nov 2012 20:05:30 +0000 Subject: [Bug 1219] PluginStreamHandler calls System.exit In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1219 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |adomurad at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121129/8bb20764/attachment.html From helpcrypto at gmail.com Fri Nov 30 04:58:27 2012 From: helpcrypto at gmail.com (helpcrypto helpcrypto) Date: Fri, 30 Nov 2012 13:58:27 +0100 Subject: [Bug 1198] JSObject passed to Javascript incorrectly In-Reply-To: <50B7B3F2.6020303@redhat.com> References: <50B7B3F2.6020303@redhat.com> Message-ID: Thanks a lot! Ill be waiting to test if our applet finally works. :D On Thu, Nov 29, 2012 at 8:13 PM, Adam Domurad wrote: > Hi. I'll hopefully have a fix posted by tomorrow or so. > The issue is **that JSObject is passed to Javascript as if it were a > normal java object - ie you can call JSObject specific methods on it like > you can for other Java objects passed to JS. This is obviously not what > should happen, the actual javascript object needs to be unboxed. > This will be special cased so that the javascript object reference that > the JSObject contains will be used, instead of a Java object wrapper. > > Happy hacking, > - Adam > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121130/5fea68d3/attachment.html From helpcrypto at gmail.com Fri Nov 30 04:58:50 2012 From: helpcrypto at gmail.com (helpcrypto helpcrypto) Date: Fri, 30 Nov 2012 13:58:50 +0100 Subject: [Bug 1211] "always trust content from this provider" NOT to be checked as default In-Reply-To: <20121129173410.GV31589@redhat.com> References: <20121129173410.GV31589@redhat.com> Message-ID: Thx ;) On Thu, Nov 29, 2012 at 6:34 PM, Deepak Bhole wrote: > * helpcrypto helpcrypto [2012-11-29 12:05]: >> Hi Deepak. >> May I know what you want Omair do with [Bug 1211] "always trust content >> from this provider" NOT to be checked as default ? >> I didnt see any message discussing what to do (probably i missed it), >> but i dont think anything to be done... >> Thx. > > Hi, > > I do not have a specific approach in mind. I just assigned it to Omair > since he is already familiar with the matter and I don't want him to > lose track of it as he is currently on PTO. > > Cheers, > Deepak From ptisnovs at icedtea.classpath.org Fri Nov 30 05:07:33 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 30 Nov 2012 13:07:33 +0000 Subject: /hg/gfx-test: Added and updated static methods in the class Comm... Message-ID: changeset 62c4c2946710 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=62c4c2946710 author: Pavel Tisnovsky date: Fri Nov 30 14:10:30 2012 +0100 Added and updated static methods in the class CommonPathsGenerator used by various tests. diffstat: ChangeLog | 5 + src/org/gfxtest/framework/CommonPathsGenerator.java | 136 ++++++++++++++++++- 2 files changed, 132 insertions(+), 9 deletions(-) diffs (193 lines): diff -r f92cdf46d17a -r 62c4c2946710 ChangeLog --- a/ChangeLog Thu Nov 29 10:12:29 2012 +0100 +++ b/ChangeLog Fri Nov 30 14:10:30 2012 +0100 @@ -1,3 +1,8 @@ +2012-11-30 Pavel Tisnovsky + + * src/org/gfxtest/framework/CommonPathsGenerator.java: + Added and updated static methods used by various tests. + 2012-11-29 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r f92cdf46d17a -r 62c4c2946710 src/org/gfxtest/framework/CommonPathsGenerator.java --- a/src/org/gfxtest/framework/CommonPathsGenerator.java Thu Nov 29 10:12:29 2012 +0100 +++ b/src/org/gfxtest/framework/CommonPathsGenerator.java Fri Nov 30 14:10:30 2012 +0100 @@ -192,6 +192,19 @@ * Create new path using Path2D.Double() which contains just one quadratic * curve. * + * @param image + * test image + * @return created path + */ + public static Path2D createQuadraticPathDouble(TestImage image) + { + return createQuadraticPathDouble(image.getWidth(), image.getHeight()); + } + + /** + * Create new path using Path2D.Double() which contains just one quadratic + * curve. + * * @param width * canvas width * @param height @@ -621,6 +634,50 @@ } /** + * Create simple new path using Path2D.Double() which contains just lines. + * + * @param image + * test image + * @return created path + */ + public static Path2D createClosedPathDouble(TestImage image) + { + return createClosedPathFloat(image.getWidth(), image.getHeight()); + } + + /** + * Create simple new path using Path2D.Double() which contains just lines. + * + * @param width + * canvas width + * @param height + * canvas height + * @return created path + */ + public static Path2D createClosedPathDouble(int width, int height) + { + Path2D path = new Path2D.Double(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = y1; + // 3rd vertex + int x3 = x2; + int y3 = height - LINE_PATH_OFFSET; + // 4rd vertex + int x4 = x1; + int y4 = y3; + path.moveTo(x1, y1); + path.lineTo(x2, y2); + path.lineTo(x3, y3); + path.lineTo(x4, y4); + path.closePath(); + return path; + } + + /** * * @param image * @return @@ -814,6 +871,50 @@ return path; } + /** + * Create new path using Path2D.Double() which contains just lines. + * + * @param image + * test image + * @return created path + */ + public static Path2D createCrossedClosedPathDouble(TestImage image) + { + return createCrossedClosedPathDouble(image.getWidth(), image.getHeight()); + } + + /** + * Create new path using Path2D.Double() which contains just lines. + * + * @param width + * canvas width + * @param height + * canvas height + * @return created path + */ + public static Path2D createCrossedClosedPathDouble(int width, int height) + { + Path2D path = new Path2D.Double(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = height - LINE_PATH_OFFSET; + // 3rd vertex + int x3 = x2; + int y3 = y1; + // 4rd vertex + int x4 = x1; + int y4 = y2; + path.moveTo(x1, y1); + path.lineTo(x2, y2); + path.lineTo(x3, y3); + path.lineTo(x4, y4); + path.closePath(); + return path; + } + public static Path2D createCrossedClosedPathContainingQuadraticSegmentFloat(TestImage image) { return createCrossedClosedPathContainingQuadraticSegmentFloat(image.getWidth(), image.getWidth()); @@ -833,10 +934,10 @@ int y3 = y1; // 4rd vertex int x4 = x1; - int y4 = y2; - path.moveTo(x1, y1); - path.quadTo(x2, y2, x3, y3); - path.lineTo(x4, y4); + int y4 = y2 - 100; + path.moveTo(x2, y1); + path.quadTo(x4, y2, x1, y3); + path.lineTo(x3, y4); path.closePath(); return path; } @@ -860,10 +961,10 @@ int y3 = y1; // 4rd vertex int x4 = x1; - int y4 = y2; - path.moveTo(x1, y1); - path.quadTo(x2, y2, x3, y3); - path.lineTo(x4, y4); + int y4 = y2 - 100; + path.moveTo(x2, y1); + path.quadTo(x3, y2, x4, y3); + path.lineTo(x2, y4); path.closePath(); return path; } @@ -875,7 +976,24 @@ public static Path2D createCrossedClosedPathContainingCubicSegmentFloat(int width, int height) { - return null; + Path2D path = new Path2D.Double(); + // 1st vertex + int x1 = LINE_PATH_OFFSET; + int y1 = LINE_PATH_OFFSET; + // 2nd vertex + int x2 = width - LINE_PATH_OFFSET; + int y2 = height - LINE_PATH_OFFSET * 4; + // 3rd vertex + int x3 = x2; + int y3 = y1; + // 4rd vertex + int x4 = x1; + int y4 = y2; + path.moveTo(x1, y1); + path.curveTo(x2 + 100, y2, x4 - 100, y4, x3, y3); + path.lineTo((x1 + x2) / 2, y2 - 100); + path.closePath(); + return path; } public static Path2D createCrossedClosedPathContainingCubicSegmentDouble(TestImage image) From ptisnovs at icedtea.classpath.org Fri Nov 30 08:03:26 2012 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 30 Nov 2012 16:03:26 +0000 Subject: /hg/rhino-tests: Added two tests into Message-ID: changeset 564fa4235e3e in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=564fa4235e3e author: Pavel Tisnovsky date: Fri Nov 30 17:06:26 2012 +0100 Added two tests into src/org/RhinoTests/AbstractScriptEngineClassTest.java and src/org/RhinoTests/CompilableClassTest.java. diffstat: ChangeLog | 6 ++ src/org/RhinoTests/AbstractScriptEngineClassTest.java | 52 +++++++++++++++++++ src/org/RhinoTests/CompilableClassTest.java | 52 +++++++++++++++++++ 3 files changed, 110 insertions(+), 0 deletions(-) diffs (137 lines): diff -r 9c72803a3232 -r 564fa4235e3e ChangeLog --- a/ChangeLog Thu Nov 29 10:21:35 2012 +0100 +++ b/ChangeLog Fri Nov 30 17:06:26 2012 +0100 @@ -1,3 +1,9 @@ +2012-11-30 Pavel Tisnovsky + + * src/org/RhinoTests/AbstractScriptEngineClassTest.java: + * src/org/RhinoTests/CompilableClassTest.java: + Added two tests. + 2012-11-29 Pavel Tisnovsky * src/org/RhinoTests/BindingsClassTest.java: diff -r 9c72803a3232 -r 564fa4235e3e src/org/RhinoTests/AbstractScriptEngineClassTest.java --- a/src/org/RhinoTests/AbstractScriptEngineClassTest.java Thu Nov 29 10:21:35 2012 +0100 +++ b/src/org/RhinoTests/AbstractScriptEngineClassTest.java Fri Nov 30 17:06:26 2012 +0100 @@ -506,6 +506,58 @@ } /** + * Test for method javax.script.AbstractScriptEngine.getClass().getAnnotations() + */ + protected void testGetAnnotations() { + // following annotations should be provided + final String[] annotationsThatShouldExists_jdk6 = { + }; + + final String[] annotationsThatShouldExists_jdk7 = { + }; + + // get all annotations + Annotation[] annotations = this.abstractScriptEngineClass.getAnnotations(); + // and transform the array into a list of annotation names + List annotationsAsString = new ArrayList(); + for (Annotation annotation : annotations) { + annotationsAsString.add(annotation.toString()); + } + String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; + // check if all required annotations really exists + for (String annotationThatShouldExists : annotationsThatShouldExists) { + assertTrue(annotationsAsString.contains(annotationThatShouldExists), + "annotation " + annotationThatShouldExists + " not found"); + } + } + + /** + * Test for method javax.script.AbstractScriptEngine.getClass().getDeclaredAnnotations() + */ + protected void testGetDeclaredAnnotations() { + // following annotations should be provided + final String[] annotationsThatShouldExists_jdk6 = { + }; + + final String[] annotationsThatShouldExists_jdk7 = { + }; + + // get all annotations + Annotation[] annotations = this.abstractScriptEngineClass.getDeclaredAnnotations(); + // and transform the array into a list of annotation names + List annotationsAsString = new ArrayList(); + for (Annotation annotation : annotations) { + annotationsAsString.add(annotation.toString()); + } + String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; + // check if all required annotations really exists + for (String annotationThatShouldExists : annotationsThatShouldExists) { + assertTrue(annotationsAsString.contains(annotationThatShouldExists), + "annotation " + annotationThatShouldExists + " not found"); + } + } + + /** * Test for instanceof operator applied to a class javax.script.AbstractScriptEngine */ @SuppressWarnings("cast") diff -r 9c72803a3232 -r 564fa4235e3e src/org/RhinoTests/CompilableClassTest.java --- a/src/org/RhinoTests/CompilableClassTest.java Thu Nov 29 10:21:35 2012 +0100 +++ b/src/org/RhinoTests/CompilableClassTest.java Fri Nov 30 17:06:26 2012 +0100 @@ -413,6 +413,58 @@ } /** + * Test for method javax.script.Compilable.getClass().getAnnotations() + */ + protected void testGetAnnotations() { + // following annotations should be provided + final String[] annotationsThatShouldExists_jdk6 = { + }; + + final String[] annotationsThatShouldExists_jdk7 = { + }; + + // get all annotations + Annotation[] annotations = this.compilableClass.getAnnotations(); + // and transform the array into a list of annotation names + List annotationsAsString = new ArrayList(); + for (Annotation annotation : annotations) { + annotationsAsString.add(annotation.toString()); + } + String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; + // check if all required annotations really exists + for (String annotationThatShouldExists : annotationsThatShouldExists) { + assertTrue(annotationsAsString.contains(annotationThatShouldExists), + "annotation " + annotationThatShouldExists + " not found"); + } + } + + /** + * Test for method javax.script.Compilable.getClass().getDeclaredAnnotations() + */ + protected void testGetDeclaredAnnotations() { + // following annotations should be provided + final String[] annotationsThatShouldExists_jdk6 = { + }; + + final String[] annotationsThatShouldExists_jdk7 = { + }; + + // get all annotations + Annotation[] annotations = this.compilableClass.getDeclaredAnnotations(); + // and transform the array into a list of annotation names + List annotationsAsString = new ArrayList(); + for (Annotation annotation : annotations) { + annotationsAsString.add(annotation.toString()); + } + String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; + // check if all required annotations really exists + for (String annotationThatShouldExists : annotationsThatShouldExists) { + assertTrue(annotationsAsString.contains(annotationThatShouldExists), + "annotation " + annotationThatShouldExists + " not found"); + } + } + + /** * Test for instanceof operator applied to a class javax.script.Compilable */ @SuppressWarnings("cast") From ptisnovs at redhat.com Fri Nov 30 09:03:58 2012 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 30 Nov 2012 12:03:58 -0500 (EST) Subject: [icedtea-web][rfc] Refactor a JS<->Java function, add browser-table mocking to C++ unit tests In-Reply-To: <50B7AB53.7030904@redhat.com> Message-ID: <644362232.2509179.1354295038482.JavaMail.root@redhat.com> Hi Adam, I think that your patches are ok. I have just two notes: ------------- +// It is expected that these will only run during a unit test +static void* mock_memalloc(uint32_t size) { + void* mem = malloc(size); + __allocations.insert(mem); + return mem; +} + +static void mock_memfree(void* ptr) { + if (__allocations.erase(ptr)) { + free(ptr); + } else { + printf("Attempt to free memory with browserfunctions.memfree that was not allocated by the browser!\n"); + CHECK(false); + } +} This is tiny, very nice & useful solution for basic memory checks! For the future version it would be good to allocate bigger memory block, say 16 bytes + size + 16 bytes, fill the prefix(16B) and suffix(16B) with some pattern and return (malloc() + 16) (but whole block will be saved into __allocations, ie. size+32). On memfree() you could easily check if both prefix and suffix blocks are not corrupted, which is a quick & dirty overflow checking. ------------- double d = strtod(value.c_str(), NULL); // See if it is convertible to int if (value.find(".") != std::string::npos || d < -(0x7fffffffL - 1L) || d > 0x7fffffffL) { PLUGIN_DEBUG("Method call returned a double %f\n", d); DOUBLE_TO_NPVARIANT(d, variant); } else { int32_t i = (int32_t) d; PLUGIN_DEBUG("Method call returned an int %d\n", i); INT32_TO_NPVARIANT(i, variant); } Well it's older code but still - I'm not sure whether we need to check for numbers like "1E-10" etc. too. They can be converted to double but does not contain '.' in the string form and are still inside the unsigned 32bit range... AFAIK it should be compatible with Rhino implementation (I need to check it!) ------------- Cheers, Pavel ----- Original Message ----- > Hi all. This refactoring will help in the fix for the JSObject bug > [1] > > Firstly, to aid in testing this I added a simple mechanism for > mocking > browser callbacks: > > Testing framework ChangeLog: > 2012-11-XX Adam Domurad > > Added a simple mechanism for mocking functions in the browser > function > table. Can be exapanded as needed. > * tests/cpp-unit-tests/main.cc: Call setup function, warn on > browser > function based memory leak. > * tests/cpp-unit-tests/browser_mock.cc: New, implements simple > error-checking mocks of browser callbacks. > * tests/cpp-unit-tests/browser_mock.h: New, interface to mocking > functions. > > A further idea for testing these functions (which rely on > JavaRequestProcessor) is to have a different version of this class > when > compiling for unit tests. This would effectively 'mock' the class > without having to modify the extensibility of the actual class (eg > can > make everything virtual but thats intrusive). > > The refactoring introduces two convenience methods, and breaks up > IcedTeaPluginUtilities::javaResultToNPVariant into multiple, more > manageable parts. This will make it easier to apply the fix (which > requires a special case for sun.plugin.JSObject like the one done on > java.lang.String). This refactoring is in jsfunc-refactor.patch, and > (since the patch doesn't read well) copied into > newjsfunc-snippet.cpp. > > Refactoring ChangeLog: > 2012-11-XX Adam Domurad > > Breaks up IcedTeaPluginUtilities::javaResultToNPVariant into > multiple, > more manageable parts. > * plugin/icedteanp/IcedTeaPluginUtils.cc: Make three helper > functions > for the different cases. Two new helper functions for converting > from > std::string to NPString and NPVariant. > * plugin/icedteanp/IcedTeaPluginUtils.h: Two new helper > functions. > * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: Tests for the > new > NPString and NPVariant from std::string functions. > > > [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1198 > > > Happy hacking, > -Adam > From adomurad at icedtea.classpath.org Fri Nov 30 10:09:23 2012 From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org) Date: Fri, 30 Nov 2012 18:09:23 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 0a968aa027ea in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=0a968aa027ea author: Adam Domurad date: Fri Nov 30 12:38:03 2012 -0500 C++ unit testing: Simple mocking of browser-table functions changeset 172a5691e70d in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=172a5691e70d author: Adam Domurad date: Fri Nov 30 13:08:45 2012 -0500 Refactor IcedTeaPluginUtilities::javaResultToNPVariant into multiple functions diffstat: ChangeLog | 22 ++ plugin/icedteanp/IcedTeaPluginUtils.cc | 227 +++++++++++++----------- plugin/icedteanp/IcedTeaPluginUtils.h | 8 +- tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc | 36 +++ tests/cpp-unit-tests/browser_mock.cc | 79 ++++++++ tests/cpp-unit-tests/browser_mock.h | 50 +++++ tests/cpp-unit-tests/main.cc | 16 +- 7 files changed, 334 insertions(+), 104 deletions(-) diffs (truncated from 542 to 500 lines): diff -r 054a17dd19f6 -r 172a5691e70d ChangeLog --- a/ChangeLog Tue Nov 27 09:20:50 2012 +0100 +++ b/ChangeLog Fri Nov 30 13:08:45 2012 -0500 @@ -1,3 +1,25 @@ +2012-11-30 Adam Domurad + + Breaks up IcedTeaPluginUtilities::javaResultToNPVariant into multiple, + more manageable parts. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Make three helper functions + for the different cases. Two new helper functions for converting from + std::string to NPString and NPVariant. + * plugin/icedteanp/IcedTeaPluginUtils.h: Two new helper functions. + * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: Tests for the new + NPString and NPVariant from std::string functions. + +2012-11-30 Adam Domurad + + Added a simple mechanism for mocking functions in the browser function + table. Can be expanded as needed. + * tests/cpp-unit-tests/main.cc: Call setup function, warn on browser + function based memory leak. + * tests/cpp-unit-tests/browser_mock.cc: New, implements simple + error-checking mocks of browser callbacks. + * tests/cpp-unit-tests/browser_mock.h: New, interface to mocking + functions. + 2012-11-27 Jiri Vanek Better error reporting from applets diff -r 054a17dd19f6 -r 172a5691e70d plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Tue Nov 27 09:20:50 2012 +0100 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Fri Nov 30 13:08:45 2012 -0500 @@ -715,116 +715,124 @@ } } +/** + * Convert either a void, boolean, or a number + */ +static void +javaPrimitiveResultToNPVariant(const std::string& value, NPVariant* variant) +{ + if (value == "void") + { + PLUGIN_DEBUG("Method call returned void\n"); + VOID_TO_NPVARIANT(*variant); + } else if (value == "null") + { + PLUGIN_DEBUG("Method call returned null\n"); + NULL_TO_NPVARIANT(*variant); + } else if (value == "true") + { + PLUGIN_DEBUG("Method call returned a boolean (true)\n"); + BOOLEAN_TO_NPVARIANT(true, *variant); + } else if (value == "false") + { + PLUGIN_DEBUG("Method call returned a boolean (false)\n"); + BOOLEAN_TO_NPVARIANT(false, *variant); + } else + { + double d = strtod(value.c_str(), NULL); + + // See if it is convertible to int + if (value.find(".") != std::string::npos || d < -(0x7fffffffL - 1L) || d > 0x7fffffffL) + { + PLUGIN_DEBUG("Method call returned a double %f\n", d); + DOUBLE_TO_NPVARIANT(d, *variant); + } else + { + int32_t i = (int32_t) d; + PLUGIN_DEBUG("Method call returned an int %d\n", i); + INT32_TO_NPVARIANT(i, *variant); + } + } +} + +static bool +javaStringResultToNPVariant(const std::string& jobject_id, NPVariant* variant) +{ + JavaRequestProcessor jrequest_processor; + JavaResultData* jstring_result = jrequest_processor.getString(jobject_id); + + if (jstring_result->error_occurred) + { + return false; + } + + std::string str = *jstring_result->return_string; + + PLUGIN_DEBUG( "Method call returned a string:\"%s\"\n", str.c_str()); + + *variant = IcedTeaPluginUtilities::NPVariantStringCopy(str); + + return true; +} + +static bool +javaObjectResultToNPVariant(NPP instance, const std::string& jobject_id, NPVariant* variant) +{ + // Reference the class object so we can construct an NPObject with it and the instance + + JavaRequestProcessor jrequest_processor; + JavaResultData* jclass_result = jrequest_processor.getClassID(jobject_id); + + if (jclass_result->error_occurred) + { + return false; + } + + std::string jclass_id = *jclass_result->return_string; + + NPObject* obj; + if (jclass_id.at(0) == '[') // array + { + obj = IcedTeaScriptableJavaPackageObject::get_scriptable_java_object(instance, jclass_id, + jobject_id, true); + } else + { + obj = IcedTeaScriptableJavaPackageObject::get_scriptable_java_object(instance, jclass_id, + jobject_id, false); + } + + OBJECT_TO_NPVARIANT(obj, *variant); + + return true; +} + bool IcedTeaPluginUtilities::javaResultToNPVariant(NPP instance, - std::string* java_value, - NPVariant* variant) + std::string* java_value, NPVariant* variant) { - JavaRequestProcessor java_request = JavaRequestProcessor(); - JavaResultData* java_result; + int literal_n = sizeof("literalreturn"); // Accounts for one space char + if (strncmp("literalreturn ", java_value->c_str(), literal_n) == 0) + { + javaPrimitiveResultToNPVariant(java_value->substr(literal_n), variant); + } else + { + std::string jobject_id = *java_value; - if (java_value->find("literalreturn") == 0) - { - // 'literalreturn ' == 14 to skip - std::string value = java_value->substr(14); + JavaRequestProcessor jrequest_processor; + JavaResultData* jclassname_result = jrequest_processor.getClassName(jobject_id); - // VOID/BOOLEAN/NUMBER - - if (value == "void") - { - PLUGIN_DEBUG("Method call returned void\n"); - VOID_TO_NPVARIANT(*variant); - } else if (value == "null") - { - PLUGIN_DEBUG("Method call returned null\n"); - NULL_TO_NPVARIANT(*variant); - }else if (value == "true") - { - PLUGIN_DEBUG("Method call returned a boolean (true)\n"); - BOOLEAN_TO_NPVARIANT(true, *variant); - } else if (value == "false") - { - PLUGIN_DEBUG("Method call returned a boolean (false)\n"); - BOOLEAN_TO_NPVARIANT(false, *variant); - } else - { - double d = strtod(value.c_str(), NULL); - - // See if it is convertible to int - if (value.find(".") != std::string::npos || - d < -(0x7fffffffL - 1L) || - d > 0x7fffffffL) - { - PLUGIN_DEBUG("Method call returned a double %f\n", d); - DOUBLE_TO_NPVARIANT(d, *variant); - } else - { - int32_t i = (int32_t) d; - PLUGIN_DEBUG("Method call returned an int %d\n", i); - INT32_TO_NPVARIANT(i, *variant); - } - } - } else { - // Else this is a complex java object - - // To keep code a little bit cleaner, we create variables with proper descriptive names - std::string return_obj_instance_id = std::string(); - std::string return_obj_class_id = std::string(); - std::string return_obj_class_name = std::string(); - return_obj_instance_id.append(*java_value); - - // Find out the class name first, because string is a special case - java_result = java_request.getClassName(return_obj_instance_id); - - if (java_result->error_occurred) + if (jclassname_result->error_occurred) { return false; } - return_obj_class_name.append(*(java_result->return_string)); - - if (return_obj_class_name == "java.lang.String") + // Special-case for NPString if string + if (*jclassname_result->return_string == "java.lang.String") { - // String is a special case as NPVariant can handle it directly - java_result = java_request.getString(return_obj_instance_id); - - if (java_result->error_occurred) - { - return false; - } - - // needs to be on the heap - NPUTF8* return_str = (NPUTF8*) malloc(sizeof(NPUTF8)*java_result->return_string->size() + 1); - strcpy(return_str, java_result->return_string->c_str()); - - PLUGIN_DEBUG("Method call returned a string: \"%s\"\n", return_str); - STRINGZ_TO_NPVARIANT(return_str, *variant); - - } else { - - // Else this is a regular class. Reference the class object so - // we can construct an NPObject with it and the instance - java_result = java_request.getClassID(return_obj_instance_id); - - if (java_result->error_occurred) - { - return false; - } - - return_obj_class_id.append(*(java_result->return_string)); - - NPObject* obj; - - if (return_obj_class_name.find('[') == 0) // array - obj = IcedTeaScriptableJavaPackageObject::get_scriptable_java_object( - instance, - return_obj_class_id, return_obj_instance_id, true); - else - obj = IcedTeaScriptableJavaPackageObject::get_scriptable_java_object( - instance, - return_obj_class_id, return_obj_instance_id, false); - - OBJECT_TO_NPVARIANT(obj, *variant); + return javaStringResultToNPVariant(jobject_id, variant); + } else // Else this needs a java object wrapper + { + return javaObjectResultToNPVariant(instance, jobject_id, variant); } } @@ -916,6 +924,25 @@ * @param func The function to post * @param data Arguments to *func */ +NPString IcedTeaPluginUtilities::NPStringCopy(const std::string& result) { + char* utf8 = (char*)browser_functions.memalloc(result.size() + 1); + strncpy(utf8, result.c_str(), result.size() + 1); + + NPString npstr = {utf8, result.size()}; + return npstr; +} + +NPVariant IcedTeaPluginUtilities::NPVariantStringCopy(const std::string& result) { + NPString npstr = NPStringCopy(result); + NPVariant npvar; +#if MOZILLA_VERSION_COLLAPSED < 1090200 + STRINGN_TO_NPVARIANT(npstr.utf8characters, npstr.utf8length, npvar); +#else + STRINGN_TO_NPVARIANT(npstr.UTF8Characters, npstr.UTF8Length, npvar); +#endif + return npvar; +} + void IcedTeaPluginUtilities::callAndWaitForResult(NPP instance, void (*func) (void *), AsyncCallThreadData* data) { diff -r 054a17dd19f6 -r 172a5691e70d plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Tue Nov 27 09:20:50 2012 +0100 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Fri Nov 30 13:08:45 2012 -0500 @@ -211,6 +211,12 @@ /* Copies a variant data type into a C++ string */ static std::string NPVariantAsString(NPVariant variant); + /* This must be freed with browserfunctions.memfree */ + static NPString NPStringCopy(const std::string& result); + + /* This must be freed with browserfunctions.releasevariantvalue */ + static NPVariant NPVariantStringCopy(const std::string& result); + /* Frees the given vector and the strings that its contents point to */ static void freeStringPtrVector(std::vector* v); @@ -242,7 +248,7 @@ static void printNPVariant(NPVariant variant); - static void NPVariantToString(NPVariant variant, std::string* result); + static void NPVariantToString(NPVariant variant, std::string* result); static bool javaResultToNPVariant(NPP instance, std::string* java_result, diff -r 054a17dd19f6 -r 172a5691e70d tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc --- a/tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc Tue Nov 27 09:20:50 2012 +0100 +++ b/tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc Fri Nov 30 13:08:45 2012 -0500 @@ -37,7 +37,11 @@ #include #include + +#include "browser_mock.h" + #include "IcedTeaPluginUtils.h" +#include "IcedTeaNPPlugin.h" TEST(NPVariantAsString) { NPVariant var; @@ -45,4 +49,36 @@ std::string cppstr = IcedTeaPluginUtilities::NPVariantAsString(var); CHECK(cppstr == "test"); + } + +TEST(NPStringCopy) { + std::string cppstr = "test"; + NPString npstr = IcedTeaPluginUtilities::NPStringCopy(cppstr); + + CHECK_EQUAL(4, npstr.UTF8Length); + CHECK_EQUAL("test", npstr.UTF8Characters); + + // NPAPI states that browser allocation function should be used for NPString/NPVariant + CHECK_EQUAL(1, browsermock_unfreed_allocations()); + + browser_functions.memfree((void*) npstr.UTF8Characters); + + CHECK_EQUAL(0, browsermock_unfreed_allocations()); +} + +TEST(NPVariantStringCopy) { + std::string cppstr = "test"; + NPVariant npvar = IcedTeaPluginUtilities::NPVariantStringCopy(cppstr); + + CHECK_EQUAL(NPVariantType_String, npvar.type); + + CHECK_EQUAL(4, npvar.value.stringValue.UTF8Length); + CHECK_EQUAL("test", npvar.value.stringValue.UTF8Characters); + + CHECK_EQUAL(1, browsermock_unfreed_allocations()); + + browser_functions.memfree((void*) npvar.value.stringValue.UTF8Characters); + + CHECK_EQUAL(0, browsermock_unfreed_allocations()); +} diff -r 054a17dd19f6 -r 172a5691e70d tests/cpp-unit-tests/browser_mock.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/cpp-unit-tests/browser_mock.cc Fri Nov 30 13:08:45 2012 -0500 @@ -0,0 +1,79 @@ +/* Copyright (C) 2012 Red Hat + + This file is part of IcedTea. + + IcedTea is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + IcedTea is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with IcedTea; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + +// Browser mock functions. Add more as needed. + +#include +#include + +#include "UnitTest++.h" + +#include "browser_mock.h" + +#include "IcedTeaNPPlugin.h" + +static std::set __allocations; + +// It is expected that these will only run during a unit test +static void* mock_memalloc(uint32_t size) { + void* mem = malloc(size); + __allocations.insert(mem); + return mem; +} + +static void mock_memfree(void* ptr) { + if (__allocations.erase(ptr)) { + free(ptr); + } else { + printf("Attempt to free memory with browserfunctions.memfree that was not allocated by the browser!\n"); + CHECK(false); + } +} + +void browsermock_setup_functions() { + memset(&browser_functions, 0, sizeof(NPNetscapeFuncs)); + + browser_functions.memalloc = &mock_memalloc; + browser_functions.memfree = &mock_memfree; +} + +void browsermock_clear_state() { + __allocations.clear(); +} + +int browsermock_unfreed_allocations() { + return __allocations.size(); +} diff -r 054a17dd19f6 -r 172a5691e70d tests/cpp-unit-tests/browser_mock.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/cpp-unit-tests/browser_mock.h Fri Nov 30 13:08:45 2012 -0500 @@ -0,0 +1,50 @@ +/* Copyright (C) 2012 Red Hat + + This file is part of IcedTea. + + IcedTea is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + IcedTea is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with IcedTea; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + +// Browser mock functions. +// This sets up a mock for unit testing purposes that puts simple +// functions in the 'browserfunctions' table. This enables unit testing +// of some functions that would otherwise not be possible. +// Add additional mock functions in browser_mock.cc as needed + +#ifndef __BROWSER_MOCK_H__ +#define __BROWSER_MOCK_H__ + +void browsermock_setup_functions(); +void browsermock_clear_state(); +int browsermock_unfreed_allocations(); + +#endif // __BROWSER_MOCK_H__ diff -r 054a17dd19f6 -r 172a5691e70d tests/cpp-unit-tests/main.cc --- a/tests/cpp-unit-tests/main.cc Tue Nov 27 09:20:50 2012 +0100 +++ b/tests/cpp-unit-tests/main.cc Fri Nov 30 13:08:45 2012 -0500 From adomurad at redhat.com Fri Nov 30 09:29:57 2012 From: adomurad at redhat.com (Adam Domurad) Date: Fri, 30 Nov 2012 12:29:57 -0500 Subject: [icedtea-web][rfc] Refactor a JS<->Java function, add browser-table mocking to C++ unit tests In-Reply-To: <644362232.2509179.1354295038482.JavaMail.root@redhat.com> References: <644362232.2509179.1354295038482.JavaMail.root@redhat.com> Message-ID: <50B8ED15.8000502@redhat.com> On 11/30/2012 12:03 PM, Pavel Tisnovsky wrote: > Hi Adam, > > I think that your patches are ok. I have just two notes: > > ------------- > > +// It is expected that these will only run during a unit test > +static void* mock_memalloc(uint32_t size) { > + void* mem = malloc(size); > + __allocations.insert(mem); > + return mem; > +} > + > +static void mock_memfree(void* ptr) { > + if (__allocations.erase(ptr)) { > + free(ptr); > + } else { > + printf("Attempt to free memory with browserfunctions.memfree that was not allocated by the browser!\n"); > + CHECK(false); > + } > +} > > This is tiny, very nice & useful solution for basic memory checks! Admittedly I do think its a bit elegant :) > For the future version it would be good to allocate bigger memory block, say 16 bytes + size + 16 bytes, fill the > prefix(16B) and suffix(16B) with some pattern and return (malloc() + 16) (but whole block will be saved into __allocations, ie. size+32). > > On memfree() you could easily check if both prefix and suffix blocks are not corrupted, which is a quick & dirty > overflow checking. I can do this in an update, although it will make the code slightly harder to understand (but may be worth the easy catching of off-by-one errors). As we discussed, running the test suite with a guarded malloc (address-sanitizer, valgrind, etc) is the fully correct solution. The majority of the allocations are not done through these browser functions, after all. Another thought I just had (but I will leave it for an update), I can distinguish between never allocating memory with the mock function, and attempted double-frees (currently it will tell you that the memory was never allocated with the function for both cases). > > ------------- > > double d = strtod(value.c_str(), NULL); > > // See if it is convertible to int > if (value.find(".") != std::string::npos || d < -(0x7fffffffL - 1L) || d > 0x7fffffffL) > { > PLUGIN_DEBUG("Method call returned a double %f\n", d); > DOUBLE_TO_NPVARIANT(d, variant); > } else > { > int32_t i = (int32_t) d; > PLUGIN_DEBUG("Method call returned an int %d\n", i); > INT32_TO_NPVARIANT(i, variant); > } > > Well it's older code but still - I'm not sure whether we need to check for numbers like "1E-10" etc. too. > They can be converted to double but does not contain '.' in the string form > and are still inside the unsigned 32bit range... > AFAIK it should be compatible with Rhino implementation (I need to check it!) As we discussed this code is not actually a generic double conversion but a conversion for specially crafted strings passed from icedtea-web. As such the decimal point is always guaranteed. The code could be cleaned up to make this clearer, however I was trying to avoid creeping the scope of my refactoring. > > ------------- > > Cheers, > Pavel > > Thanks for the review! Happy hacking, -Adam From adomurad at redhat.com Fri Nov 30 13:08:09 2012 From: adomurad at redhat.com (Adam Domurad) Date: Fri, 30 Nov 2012 16:08:09 -0500 Subject: [rfc][icedtea-web] Fix for PR1198, JSObject passed incorrectly to Javascript Message-ID: <50B92039.4070304@redhat.com> Hi all. Attached is a fix for PR1198. I still plan to write unit tests for at least the new method PluginAppletViewer.toObjectIDString, but I wanted to get this out before leaving for the weekend. One tricky thing with this patch was that it had to consolidate _a lot_ of duplicated functionality (actually I found some subtle differences in handling, this should be more consistent). Once that was done the actual patch was fairly straight forward. The basic issue was that JSObject was being passed as if it were a normal Java object, when the liveconnect spec specifies that it should be returned as the underlying javascript object. A method was added to JSObject to get the underlying reference. This was kept package-private to not pollute its public interface. As well, a new permission was added for accessing this method. To access this outside of the package, a utility was created in JSUtil. This patch adds a special case to Java->JS communication when sending objects, to indicate that a Javascript object is being passed. With patch applied, JSObjectFromEval should pass in all browsers. 2012-11-30 Adam Domurad Fix PR1198: JSObject passed incorrectly to Javascript * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Pass extra data for 'jsobject' object result messages. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. * plugin/icedteanp/IcedTeaPluginUtils.cc: Add special casing of javascript references passed from java. * plugin/icedteanp/java/netscape/javascript/JSObjectUnboxPermission.java: New permission for unboxing a JSObject's internal reference. * plugin/icedteanp/java/netscape/javascript/JSObject.java (getInternalReference): New, package-private, retrieves internal reference (Must have proper permission). * plugin/icedteanp/java/netscape/javascript/JSUtil.java (getJSObjectInternalReference) New, utility for accessing JSObject#getInternalReference from outside the package. * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: (toObjectIDString): New, creates a string that precisely identifies a Java object. (handleMessage): Replace a lot of duplicated functionality with 'toObjectIDString'. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Replace duplicated functionality with 'toObjectIDString'. * tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java: Don't print out type passed (differs from browser to browser). * tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java: Don't check type passed (differs from browser to browser). Remove known-to-fail. Reformat. -------------- next part -------------- A non-text attachment was scrubbed... Name: jsfix2.patch Type: text/x-patch Size: 32983 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121130/47dcc2df/jsfix2.patch From adomurad at redhat.com Fri Nov 30 13:10:53 2012 From: adomurad at redhat.com (Adam Domurad) Date: Fri, 30 Nov 2012 16:10:53 -0500 Subject: [Bug 1198] JSObject passed to Javascript incorrectly In-Reply-To: References: <50B7B3F2.6020303@redhat.com> Message-ID: <50B920DD.1070100@redhat.com> On 11/30/2012 07:58 AM, helpcrypto helpcrypto wrote: > Thanks a lot! > Ill be waiting to test if our applet finally works. > :D > > On Thu, Nov 29, 2012 at 8:13 PM, Adam Domurad > wrote: > > Hi. I'll hopefully have a fix posted by tomorrow or so. > The issue is that JSObject is passed to Javascript as if it were a > normal java object - ie you can call JSObject specific methods on > it like you can for other Java objects passed to JS. This is > obviously not what should happen, the actual javascript object > needs to be unboxed. > This will be special cased so that the javascript object reference > that the JSObject contains will be used, instead of a Java object > wrapper. > > Happy hacking, > - Adam > > I have posted the patch (actually, it was quite a lot of furious coding getting it out by today, but you motivated me :) I still plan to do some further testing but wanted your feedback as you have code relying on this feature. Please let me know how it fairs. The patch should be applied to icedtea-web HEAD. Let me know if theres patching/runtime problems, or if additional bugs surface. Cheers, - Adam -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20121130/55388cca/attachment.html