20
I Use This!
Activity Not Available

News

Posted over 7 years ago
Finally a public release of OresmeKit.Started many years ago, it has finally come the moment for a first public release, since I put together even a first draft of documentation. Stay tuned for improvements and new graph types.Oresme is useful for ... [More] plotting and graphing data both native on Cocoa/MacOS as on GNUstep.OresmeKit is a framework which provides NSView subclasses that can display data. It is useful to easily embed charts and graphs in your applications, e.g. monitoring apps, dashboards and such. OresmeKit supports both GNUstep and Cocoa/MacOS.An initial API Documentation is also available as well as two example in the SVN repository. [Less]
Posted over 7 years ago
We are pleased to announce the release of IcedTea 3.8.0! The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as the ability to build against system ... [More] libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 8 support with the April 2018 security fixes from OpenJDK 8 u171. If you find an issue with the release, please report it to our bug database under the appropriate component. Development discussion takes place on the distro-pkg-dev OpenJDK mailing list and patches are always welcome. Full details of the release can be found below. What’s New? New in release 3.8.0 (2018-05-29) Security fixes S8180881: Better packaging of deserialization S8182362: Update CipherOutputStream Usage S8183032: Upgrade to LittleCMS 2.9 S8189123: More consistent classloading S8189969, CVE-2018-2790: Manifest better manifest entries S8189977, CVE-2018-2795: Improve permission portability S8189981, CVE-2018-2796: Improve queuing portability S8189985, CVE-2018-2797: Improve tabular data portability S8189989, CVE-2018-2798: Improve container portability S8189993, CVE-2018-2799: Improve document portability S8189997, CVE-2018-2794: Enhance keystore mechanisms S8190478: Improved interface method selection S8190877: Better handling of abstract classes S8191696: Better mouse positioning S8192025, CVE-2018-2814: Less referential references S8192030: Better MTSchema support S8192757, CVE-2018-2815: Improve stub classes implementation S8193409: Improve AES supporting classes S8193414: Improvements in MethodType lookups S8193833, CVE-2018-2800: Better RMI connection support New features PR3493: Run AES test to test intrinsics Import of OpenJDK 8 u162 build 12 S4354680: Runtime.runFinalization() silently clears interrupted flag in the calling thread S6618335: ThreadReference.stop(null) throws NPE instead of InvalidTypeException S6651256: jstack: DeleteGlobalRef method call doesn’t lead to descreasing of global refs count shown by jstack S6656031: SA: jmap -permstat number of classes is off by 1 S6977426: sun/tools tests can intermittently fail to find app’s Java pid S6988950: JDWP exit error JVMTI_ERROR_WRONG_PHASE(112) S7124271: [macosx] RealSync test failure S7162125: [macosx] A font has different behaviour for ligatures depending on its creation mod S8023667: SA: ExceptionBlob and other C2 classes not available in client VM S8031661: java/net/Authenticator/B4769350.java failed intermittently S8046778: Better error messages when starting JMX agent via attach or jcmd S8066185: VM crashed with SIGSEGV VirtualMemoryTracker::add_reserved_region S8072428: Enable UseLoopCounter ergonomically if on-stack-replacement is enabled S8073670: TypeF::eq and TypeD::eq do not handle NaNs correctly S8074812: More specific error message when the .java_pid well-known file is not secure S8078269: JTabbedPane UI Property TabbedPane.tabAreaBackground no longer works S8080504: [macosx] SunToolkit.realSync() may hang S8087291: InitialBootClassLoaderMetaspaceSize and CompressedClassSpaceSize should be checked consistent from MaxMetaspaceSize S8132374: AIX: fix value of os.version property S8134103: JVMTI_ERROR_WRONG_PHASE(112): on checking for an interface S8139218: Dialog that opens and closes quickly changes focus in original focusowner S8147002: [macosx] Arabic character cannot be rendered on MacOS X S8148786: xml.tranform fails on x86-64 S8155197: Focus transition issue S8157896: TestDSAGenParameterSpec.java test fails with timeout S8158633: BASE64 encoded cert not correctly parsed with UTF-16 S8159432: [PIT][macosx] StackOverflow in closed/java/awt/Dialog/DialogDeadlock/DialogDeadlockTest S8162530: src/jdk.management/share/native/libmanagement_ext/GcInfoBuilder.c doesn’t handle JNI exceptions properly S8164954: split_if creates empty phi and region nodes S8166742: SIGFPE in C2 Loop IV elimination S8169961: Memory leak after debugging session S8172751: OSR compilation at unreachable bci causes C1 crash S8175340: Possible invalid memory accesses due to ciMethodData::bci_to_data() returning NULL S8177026: jvm.dll file version not updated since 8u72 S8177414: Missing key events on Mac Os S8177958: Possible uninitialized char* in vm_version_solaris_sparc.cpp S8178047: Aliasing problem with raw memory accesses S8179086: java.time.temporal.ValueRange has poor hashCode() S8180370: Characters are skipped on input of Korean text on OS X S8180855: Null pointer dereference in OopMapSet::all_do of oopMap.cpp:394 S8181659: Create an alternative fix for JDK-8167102, whose fix was backed out S8181786: Extra runLater causes impossible states to be possible using javafx.embed.singleThread=true S8182402: Tooltip for Desktop button is in English when non-English locale is set S8182996: Incorrect mapping Long type to JavaScript equivalent S8184009: Missing null pointer check in InterpreterRuntime::update_mdp_for_ret() S8184271: Time related C1 intrinsics produce inconsistent results when floating around S8184328: JDK 8u131 socketRead0 hang at SSL read S8184893: jdk8u152 b06 : issues with nashorn when running kraken benchmarks S8185346: Relax RMI Registry Serial Filter to allow arrays of any type S8187023: Cannot read pkcs11 config file in UTF-16 environment S8189918: Remove Trailing whitespace from file while syncing 8u into 8u162-b03 S8190280: [macos] Font2DTest demo started failing for Arabic range from JDK 8 u162 b01 on Mac S8190542: 8u162 L10n resource file update S8192794: 8u162 L10n resource file update md20 Import of OpenJDK 8 u171 build 11 S8054213: Class name repeated in output of Type.toString() S8068778: [TESTBUG] CompressedClassSpaceSizeInJmapHeap.java fails if SA not available S8150530: Improve javax.crypto.BadPaddingException messages S8153955: increase java.util.logging.FileHandler MAX_LOCKS limit S8169080: Improve documentation examples for crypto applications S8175075: Add 3DES to the default disabled algorithm security property S8179665: [Windows] java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location S8186032: Disable XML Signatures signed with EC keys less than 224 bits S8186441: Change of behavior in the getMessage () method of the SOAPMessageContextImpl class S8187496: Possible memory leak in java.apple.security.KeychainStore.addItemToKeychain S8189851: [TESTBUG] runtime/RedefineTests/RedefineInterfaceCall.java fails S8191358: Restore TSA certificate expiration check S8191909: Nightly failures in nashorn suite S8192789: Avoid using AtomicReference in sun.security.provider.PolicyFile S8194259: keytool error: java.io.IOException: Invalid secret key format S8196952: Bad primeCertainty value setting in DSAParameterGenerator S8197030: Perf regression on all platforms with 8u171-b03 – early lambda use S8198494: 8u171 and 8u172 – Build failure on non-SE Linux Platforms S8198662: Incompatible internal API change in JDK8u161: signature of method exportObject() S8198963: Fix new rmi property name S8199001: [TESTBUG] RMIConnectionFilterTest.java test fails in compilation S8199141: Windows: new warning messaging for JRE installer UI in non-MOS cases S8200314: JDK 8u171 l10n resource file update – msg drop 40 Backports S8062808, PR3548: Turn on the -Wreturn-type warning S8141570, PR3548: Fix Zero interpreter build for –disable-precompiled-headers S8143245, PR3548: Zero build requires disabled warnings S8165489, PR3589: Missing G1 barrier in Unsafe_GetObjectVolatile S8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode _ S8184309, PR3596: Build warnings from GCC 7.1 on Fedora 26 S8185723, PR3553: Zero: segfaults on Power PC 32-bit S8186461, PR3557: Zero’s atomic_copy64() should use SPE instructions on linux-powerpcspe S8187577, PR3578: JVM crash during gc doing concurrent marking S8197429, PR3546, RH1536622: Increased stack guard causes segfaults on x86-32 S8197546, PR3542: Fix for 8171000 breaks Solaris + Linux builds S8197981, PR3548: Missing return statement in __sync_val_compare_and_swap_8 S8200556, PR3566: AArch64: assertion failure in slowdebug builds S8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong Bug fixes S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations S8199936, PR3591: Fix for bug 3533 doesn’t add -mstackrealign to JDK code PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build PR3549: Desktop file doesn’t reference versioned icon PR3550: Additional category used in jconsole.desktop.in is incorrect PR3559: Use ldrexd for atomic reads on ARMv7. PR3575, RH1567204: System cacerts database handling should not affect jssecacerts PR3592: Skip AES test on AArch64 due to VM crash PR3593: s390 needs to use ‘%z’ format specifier for size_t arguments as size_t != int PR3594: Patch for bug 3593 breaks Shenandoah build PR3597: Potential bogus -Wformat-overflow warning with -Wformat enabled Shenandoah PR3573: Fix TCK crash with Shenandoah Remove oop cast in oopMap.cpp again, as oopDesc::operator== has additional checking in Shenandoah. Fix new code for Shenandoah after the 8u171 merge Revert accidental OpSpinWait matching UseBiasedLocking should be disabled only for Shenandoah AArch32 port PR3548: Add missing return values for AArch32 port The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-3.8.0.tar.gz http://icedtea.classpath.org/download/source/icedtea-3.8.0.tar.xz We provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea-3.8.0.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-3.8.0.tar.xz.sig These are produced using my public key. See details below. PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 GnuPG >= 2.1 is required to be able to handle this key. SHA256 checksums: ef1a9110294d0a905833f1db30da0c8a88bd2bde8d92ddb711d72ec763cd25b0 icedtea-3.8.0.tar.gz 5ed72a7475d91e6ef863449f39c12f810d1352d815b4dd4d9a0b8b04d8604949 icedtea-3.8.0.tar.gz.sig ff9d3737ca5cc8712bad31c565c50939d8b062234d3d49c5efa083bbaa24c3e6 icedtea-3.8.0.tar.xz cb93df3c4b632d75b0b7c4e5280b868f109a0aef26f59f0455d5e6a1992b344c icedtea-3.8.0.tar.xz.sig The checksums can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-3.8.0.sha256 A 3.8.0 ebuild for Gentoo is available. The following people helped with these releases: Andrew Hughes (all other bug fixes and backports, release management) Aleksey Shipilëv (other Shenandoah issues) Roland Westrelin (PR3573) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-3.8.0.tar.gz or: $ tar x -I xz -f icedtea-3.8.0.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-3.8.0/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! [Less]
Posted over 7 years ago
The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as the ability to build against system libraries and support for alternative virtual machines and ... [More] architectures beyond those supported by OpenJDK. This release updates our OpenJDK 7 support in the 2.6.x series with the April 2018 security fixes from OpenJDK 7 u181. If you find an issue with the release, please report it to our bug database under the appropriate component. Development discussion takes place on the distro-pkg-dev OpenJDK mailing list and patches are always welcome. Full details of the release can be found below. What’s New? New in release 2.6.14 (2018-05-23) Security fixes S8162488: JDK should be updated to use LittleCMS 2.8 S8180881: Better packaging of deserialization S8182362: Update CipherOutputStream Usage S8183032: Upgrade to LittleCMS 2.9 S8189123: More consistent classloading S8189969, CVE-2018-2790: Manifest better manifest entries S8189977, CVE-2018-2795: Improve permission portability S8189981, CVE-2018-2796: Improve queuing portability S8189985, CVE-2018-2797: Improve tabular data portability S8189989, CVE-2018-2798: Improve container portability S8189993, CVE-2018-2799: Improve document portability S8189997, CVE-2018-2794: Enhance keystore mechanisms S8190478: Improved interface method selection S8190877: Better handling of abstract classes S8191696: Better mouse positioning S8192025, CVE-2018-2814: Less referential references S8192030: Better MTSchema support S8192757, CVE-2018-2815: Improve stub classes implementation S8193409: Improve AES supporting classes S8193414: Improvements in MethodType lookups S8193833, CVE-2018-2800: Better RMI connection support Import of OpenJDK 7 u181 build 0 S7132338: Use @code friendly idiom for ‘\’ in javadoc S8001419: Build the JCE portion of JDK-8000970 S8019360: Cleanup of the javadoc tag in java.security.* S8020842: IDN do not throw IAE when hostname ends with a trailing dot S8024068: sun/security/ssl/javax/net/ssl/ServerName/IllegalSNIName.java fails S8026982: javadoc errors in core libs S8029020: Check src/share/native/java/util/zip code for JNI pending exceptions S8029475: Fix more doclint issues in javax.security S8034031: [parfait] JNI exception pending in jdk/src/macosx/native/apple/security/KeystoreImpl.m S8054213: Class name repeated in output of Type.toString() S8064524: Compiler code generation improvements S8150530: Improve javax.crypto.BadPaddingException messages S8153955: increase java.util.logging.FileHandler MAX_LOCKS limit S8169080: Improve documentation examples for crypto applications S8175075: Add 3DES to the default disabled algorithm security property S8179665: [Windows] java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location S8186032: Disable XML Signatures signed with EC keys less than 224 bits S8187496: Possible memory leak in java.apple.security.KeychainStore.addItemToKeychain S8189789: tomcat gzip-compressed response bodies appear to be broken in update 151 S8191358: Restore TSA certificate expiration check S8191909: Nightly failures in nashorn suite S8192789: Avoid using AtomicReference in sun.security.provider.PolicyFile S8194259: keytool error: java.io.IOException: Invalid secret key format S8198494: 8u171 and 8u172 – Build failure on non-SE Linux Platforms S8198963: Fix new rmi property name S8200760: java.security-linux was missed in backport of JDK-8160104 Import of OpenJDK 7 u181 build 1 S8200314: JDK 8u171 l10n resource file update – msg drop 40 S8202850: Fix for 8189123 doesn’t include precompiled header Backports S8185723, PR3555: Zero: segfaults on Power PC 32-bit S8186461, PR3558: Zero’s atomic_copy64() should use SPE instructions on linux-powerpcspe S8197429, PR3547, RH1536622: Increased stack guard causes segfaults on x86-32 S8200556, PR3567: AArch64 port crashes on slowdebug builds S8201509, PR3580: Zero’s atomic_copy64() broken on s390 Bug fixes PR3551: Additional category used in jconsole.desktop.in is incorrect PR3576, RH1567204: System cacerts database handling should not affect jssecacerts PR3595: Bootstrapping with IcedTea 2.x as the bootstrap JDK broken by import of 7u181-b01 The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-2.6.14.tar.gz http://icedtea.classpath.org/download/source/icedtea-2.6.14.tar.xz We provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea-2.6.14.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-2.6.14.tar.xz.sig These are produced using my public key. See details below. PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 GnuPG >= 2.1 is required to be able to handle this key. SHA256 checksums: a486ceedb439218b4a88875665a9523e0795d621abc162f9c370c2785e7cec02 icedtea-2.6.14.tar.gz 266c5a91794c4eba40341c66a8b9087cc81f5272cabbc17ef15200a12f46dd5f icedtea-2.6.14.tar.gz.sig d4ecb24eb1c7fa08d35ee0893476256732a49dccd2b98fa38fc8257106a6f69a icedtea-2.6.14.tar.xz 363de40dfcf53b1fab45413cbc7b8ce4167ba22a947410082e317a88a096734f icedtea-2.6.14.tar.xz.sig The checksums can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-2.6.14.sha256 A 2.6.14 ebuild for Gentoo is available. The following people helped with these releases: Andrew Dinn (S8189123) Andrew Hughes (all other backports & bug fixes, release management) Martin Balao (S8189123) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-2.6.14.tar.gz or: $ tar x -I xz -f icedtea-2.6.14.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-2.6.14/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! [Less]
Posted over 7 years ago
While the quick start wizards in Visual Builder Cloud Service (VBCS) make it very easy to create tables and other UI components and bind them to business objects, it is good to understand what is going on behind the scenes, and what the wizards ... [More] actually do. Knowing this will help you achieve things that we still don't have wizards for. For example - let's suppose you created a business object and then created a UI table that shows the fields from that business object in your page. You probably used the "Add Data" quick start wizard to do that. But then you remembered that you need one more column added to your business object, however after you added that one to the BO, you'll notice it is not automatically shown in the UI. That makes sense since we don't want to automatically show all the fields in a BO in the UI. But how do you add this new column to the UI? The table's Add Data wizard will be disabled at this point - so is your only option to drop and recreate the UI table? Of course not!   If you'll look into the table properties you'll see it is based on a page level ServiceDataProvider ( SDP for short) variable. This is a special type of object that the wizards create to represent collections. If you'll look at the variable, you'll see that it is returning data using a specific type. Note that the type is defined at the flow level - if you'll look at the type definition you'll see where the fields that make up the object are defined. It is very easy to add a new field here - and modify the type to include the new column you added to the BO. Just make sure you are using the column's id - and not it's title - when you define the new field in the items array. Now back in the UI you can easily modify the code of the table to add one more column that will be hooked up to this new field in the SDP that is based on the type. Sounds complex? It really isn't - here is a 3 minute video showing the whole thing end to end: As you see - a little understanding of the way VBCS works, makes it easy to go beyond the wizards and achieve anything. [Less]
Posted over 7 years ago
When retailers throughout Europe adopt a new set of privacy and security regulations this week, it will be the first major revision of data protection guidelines in more than 20 years. The 2018 regulations address personal as well as financial data ... [More] , and require that retailers use systems already designed to fulfill these protections by default. In 1995, the European Commission adopted a Data Protection Directive that regulates the processing of personal data within the European Union. This gave rise to 27 different national data regulations, all of which remain intact today. In 2012, the EC announced that it would supersede these national regulations and unify data protection law across the EU by adopting a new set of requirements called the General Data Protection Regulation (GDPR). The rules apply to any retailer selling to European consumers. The GDPR, which takes effect May 25, 2018, pertains to any company doing business in, or with citizens of, the European Union, and to both new and existing products and services. Organizations found to be in violation of the GDPR will face a steep penalty of 20 million euros or four percent of their gross annual revenue, whichever is greater. Retailers Must Protect Consumers While Personalizing Offers GDPR regulations will encompass personal as well as financial data, including much of the data found in a robust customer engagement system, CRM, or loyalty program. It also includes information not historically considered to be personal data: device IDs, IP addresses, log data, geolocation data, and, very likely, cookies. For the majority of retailers relying on customer data to personalize offers, it is critically important to understand how to fulfill GDPR requirements and execute core retail, customer, and marketing operations. Developing an intimate relationship with consumers and delivering personalized offers means tapping into myriad data sources. This can be done, but systems must be GDPR-compliant by design and by default. A key concept underlying the GDPR is Privacy by Design (PBD), which essentially stipulates that systems be designed to minimize the amount of personal data they collect. Beginning this week, Privacy by Design features will become a regulatory requirement for both Oracle and our customers and GDPR stipulates that these protections are, by default, turned on. Implementing Security Control Features While the GDPR requires “appropriate security and confidentiality,” exact security controls are not specified. However, a number of security control features are discussed in the text and will likely be required for certain types of data or processing. Among them are multi-factor authentication for cloud services, customer-configurable IP whitelisting, granular access controls (by record, data element, data type, or logs), encryption, anonymization, and tokenization. Other security controls likely to be required are “separation of duties” (a customer option requiring two people to perform certain administrative tasks); customer options for marking some fields as sensitive and restricted; limited access on the part of the data controller (i.e. Oracle) to customer information; displaying only a portion of a data field; and the permanent removal of portions of a data element. Summary of Critical GDPR Requirements The GDPR includes a number of recommendations and requirements governing users’ overall approach to data gathering and use. Among the more important are: Minimization. Users are required to minimize the amount of data used, length of time it is stored, the number of people who have access to it, and the extent of that access. Retention and purging. Data may be retained for only as long as reasonably necessary. This applies in particular to personal data, which should be processed only if the purpose of processing cannot reasonably be fulfilled by other means. Services must delete customer data on completion of the services. Exports and portability. End users must be provided with copies of their data in a structured, commonly used digital format. Customers will be required to allow end users to send data directly to a competing service provider for some services. Access, correction, and deletion. End-user requests for data access, correction, and deletion for data they store in any service. Users may have a “right to be forgotten”—a right to have all their data erased. Notice and consent. When information is collected, end-user notice and consent for data processing is generally required. Backup and disaster recovery. Timely availability of end-user data must be ensured. Are you prepared? Oracle is prepared for the EU General Data Protection Regulation (GDPR) that was adopted by the European Parliament in April 2016 and will become effective on May 25, 2018. We welcome the positive changes it is expected to bring to our service offerings by providing a consistent and unified data protection regime for businesses across Europe. Oracle is committed to helping its customers address the GDPR’s new requirements that are relevant to our service offerings, including any applicable processor accountability requirements. Our customers can rest assured that Oracle Retail’s omnichannel suite will empower them to continue delivering personalized customer experiences that meet complex global data privacy regulations. Contact Oracle Retail to learn more about Oracle systems, services and GDPR compliance: [email protected]         [Less]
Posted over 7 years ago
Oracle is pleased to announce the availability of the Oracle E-Business Suite Person Data Removal Tool, designed to remove (obfuscate) data associated with people in E-Business Suite systems. Customers can apply the tool to select information in ... [More] their E-Business Suite production systems to help address internal operational and external regulatory requirements, such as the EU General Data Protection Regulation (GDPR). For more details, see: Release Announcement  Oracle E-Business Suite Person Data Removal Tool: Solution Overview Video [Less]
Posted over 7 years ago
____ / \ |-. .-.| (_@)(_@) .---_ \ /.. \_/ |__.-^ / } | | [ [ ] ... [More] ] | | [ [ ] / | __ \| |/ _/ /_ \ | |//___/__/__/_ \\ \ / // -____/_ // " \\ \___.- // \\ __.----._/_ / //|||\\ .- __> [ / __.- [ [ } \ \ / "-._____ \.____.--" | | | | | | | | | | | | | | | | { } { } | | | | | | | | | | | | / { | | .-" / [ -._ /___/ / \ \___"-. -" "- strace patch. [Less]
Posted almost 8 years ago
Important Graphos fix. Graphos had issues when printing and the view was not 100%: to speed up drawRect, all objects were represented scaled, so that they had not to be scaled each time, which especially for Bezier Paths is expensive with all the ... [More] associated handles.Thie issue is finally fixed by either caching both original and zoomed values for each object and conditionally drawing them depending on the drawingContext.Here the proof with GSPdf showing the generated PDF!Soon a new release then! [Less]
Posted almost 8 years ago
I’ve been working a bit more on my Emacs JIT, in particular on improving function calling.  This has been a fun project so I thought I’d talk about it a bit. Background Under the hood, the Emacs Lisp implementation has a few different ways to call ... [More] functions.  Calls to or from Lisp are dispatched depending on what is being called: For an interpreted function, the arguments are bound and then the interpreter is called; For a byte-compiled function using dynamic binding, the arguments are bound and then the bytecode interpreter is called; For a byte-compiled function using lexical binding, an array of arguments is passed to the bytecode interpreter; For a function implemented in C (called a “subr” internally), up to 8 arguments are supported directly — as in, C functions of the form f(arg,arg,...); for more than that, an array of arguments is passed and the function itself must decide which slot means what.  That is, there are exactly 10 forms of subr (actually there are 11 but the one missing from this description is used for special forms, which we don’t need to think about here). Oh, let’s just show the definition so you can read for yourself: union { Lisp_Object (*a0) (void); Lisp_Object (*a1) (Lisp_Object); Lisp_Object (*a2) (Lisp_Object, Lisp_Object); Lisp_Object (*a3) (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object (*a4) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object (*a5) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object (*a6) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object (*a7) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object (*a8) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object (*aUNEVALLED) (Lisp_Object args); Lisp_Object (*aMANY) (ptrdiff_t, Lisp_Object *); } function; Initial Approach Initially the JIT worked like a lexically-bound bytecode function: an array of arguments was passed to the JIT-compiled function.  The JIT compiler emitted a bunch of code to decode the arguments. For Lisp functions taking a fixed number of arguments, this wasn’t too bad — just moving values from fixed slots in the array to fixed values in the IR. Handling optional arguments was a bit uglier, involving a series of checks and branches, so that un-bound arguments could correctly be set to nil.  These were done something like: if nargs < 1 goto nope1 arg0 = array[0] if nargs < 2 goto nope2 arg1 = array[1] goto first_bytecode nope1: arg0 = nil nope2: arg1 = nil first_bytecode: ... &rest arguments were even a bit worse, requiring a call to create a list.  (This, I think, can’t be avoided without a much smarter compiler, one that would notice when reifying the list could be avoided.) Note that calling also has to use the fully generic approach: we make a temporary array of arguments, then call a C function (Ffuncall) that does the dispatching to the callee.  This is also a source of inefficiency. Today Recently, I changed the JIT from this approach to use the equivalent of the subr calling convention.  Now, any function with 8 or fewer (non-&rest) arguments is simply an ordinary function of N arguments, and we let the already-existing C code deal with optional arguments. Although this often makes the generated assembly simpler, it won’t actually perform any better — the same work is still being done, just somewhere else.  However, this approach does use a bit less memory (most JIT-compiled functions are shorter); and it opens the door to an even bigger improvement. The Future What I’m implementing now is an approach to removing most of the overhead from JIT-compiled function calls. Now, ideally what I’d like is to have every call site work “like C”: move the arguments to exactly where the callee expects them to be, and then call.  However, while looking at this I found some problems that make it tricky: We still need to be able to call Lisp functions from C, so we’re limited to, at best, subr-style calling conventions; While &rest arguments are straightforward (in our simple compiler, somebody just has to make the list); &optional arguments don’t have a good C-like analog.  The callee could push extra arguments, but… In Lisp, a function can be redefined at any time, and it is fine to change the function’s signature. Consider this example: (defun callee (x &optional y) (list x y)) (defun caller (callee 23)) (defun callee (x) (list x)) Now, if we compiled caller with a direct call, it would turn out like (callee 23 nil).  But then, after the redefinition, we’d have to recompile caller.  Note this can go the other way as well — we could redefine callee to have more optional arguments, or even more fixed arguments (meaning that the call should now throw an exception). Recompiling isn’t such a big deal, right?  The compiler is set up very naively: it just compiles every function that is invoked, and in this mode “recompilation” is equivalent to “just abandon the compiled code”. Except… what do you do if caller is being run when callee is redefined?  Whoops! Actually, of course, this is a known issue in JIT compilation, and one possible solution is “on-stack replacement” (“OSR”) — recompiling a function while it is running. This to me seemed like a lot of bookkeeping, though: keeping a list of which functions to compile when some function was redefined, and figuring out a decent way to implement OSR. The Plan Instead I came up a with a simpler approach, involving — you guessed it — indirection. On the callee side, I am going to keep the subr calling convention that is in place today.  This isn’t ideal in all cases, but it is reasonable for a lot of code.  Instead, all the changes will take place at spots where the JIT emits a call. I am planning to have three kinds of function calls in the JIT: Indirect.  If we see some code where we can’t determine the callee, we’ll emit a call via Ffuncall like we do today. Fully direct.  There are some functions that are implemented in C, and that I think are unreasonable to redefine.  For these, we’ll just call the C function directly.  Another fully-direct case is where the code dispatches to a byte-code vector coming from the function’s constant pool — here, there’s no possibility to redefine the function, so we can simply always call the JIT-compiled form. Semi-direct.  This will be the convention used when JIT-compiled code calls via a symbol. The core idea of a semi-direct call is to have multiple possible implementations of a function: One “true” implementation.  If the function has 8 or fewer arguments (of any kind), it will simply have that many arguments.  The JIT will simply pretend that an optional argument is fixed.  If it has more than 8 arguments, following the subr convention it will just accept an array of arguments. If the function has optional or rest arguments, there will be trampoline implementations with fewer arguments, that simply supply the required number of additional arguments and then call the true implementation. Remember how there are exactly 10 relevant kinds of subr?  Any forms not covered by the above can simply throw an exception. A vector of function pointers will be attached to each symbol, and so the JIT-compiled code can simply load the function pointer from the appropriate slot (a single load — the nice thing about a JIT is we can simply hard-code the correct address). Then, when a function is redefined, we simply define any of the trampolines that are required as well.  We won’t even need to define all of them — only the ones that some actually-existing call site has needed. Of course, no project like this is complete without a rathole, which is why instead of doing this I’m actually working on writing a compiler pre-pass so that the compiler itself can have the appropriate information about the callee at the point of call.  This sub-project turns out to feel a lot like writing a Java bytecode verifier… Further Future Currently the JIT is only used for lexically-bound bytecode functions.  That’s a reasonable restriction, I think — so one thing we should do is make sure that more of the Emacs core is using lexical binding.  Currently, only about 1/3 of the Lisp files in Emacs enable this feature; but many more easily could. Once my current project is done, the JIT will have a decent calling convention by default.  Since we’ll have information about callees at points of call, I think it will be a good time to look into inlining.  This will require tackling recompilation (and perhaps OSR) and having some sort of tiered optimization approach.  There is still a lot for me to learn here — when does it make sense to inline?  And what metrics should I use to decide when some code is hot enough to optimize?  So, good times head even once the current project is done; and BTW if you have a reading list for any of this I would love to hear about it. Once this is done, well, I have more ideas for even deeper JIT improvements.  Those will have to wait for another post. [Less]
Posted almost 8 years ago
We are pleased to announce the release of IcedTea 3.7.0! The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as the ability to build against system ... [More] libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 8 support with the January 2018 security fixes from OpenJDK 8 u161. If you find an issue with the release, please report it to our bug database under the appropriate component. Development discussion takes place on the distro-pkg-dev OpenJDK mailing list and patches are always welcome. Full details of the release can be found below. What’s New? New in release 3.7.0 (2018-02-28) Security fixes S8160104: CORBA communication improvements S8172525, CVE-2018-2579: Improve key keying case S8174756: Extra validation for public keys S8174962, CVE-2018-2582: Better interface invocations S8175932: Improve host instance supports S8176458: Revise default document styling S8178449, CVE-2018-2588: Improve LDAP logins S8178458: Better use of certificates in LDAP S8178466: Better RSA parameters S8179536: Cleaner print job handling S8179990: Cleaner palette entry handling S8180011: Cleaner native graphics device handling S8180015: Cleaner AWT robot handling S8180020: Improve SymbolHashMap entry handling S8180433: Cleaner CLR invocation handling S8180877: More deeply colored ICC spaces S8181664: Improve JVM UTF String handling S8181670: Improve implementation of keystores S8182125, CVE-2018-2599: Improve reliability of DNS lookups S8182387, CVE-2018-2603: Improve PKCS usage S8182601, CVE-2018-2602: Improve usage messages S8185292, CVE-2018-2618: Stricter key generation S8185325, CVE-2018-2641: Improve GTK initialization S8186080: Transform XML interfaces S8186212, CVE-2018-2629: Improve GSS handling S8186600, CVE-2018-2634: Improve property negotiations S8186606, CVE-2018-2633: Improve LDAP lookup robustness S8186699: Clean up extra Derby files S8186867: Improve native glyph layouts S8186998, CVE-2018-2637: Improve JMX supportive features S8189284, CVE-2018-2663: More refactoring for deserialization cases S8190289, CVE-2018-2677: More refactoring for client deserialization cases S8191142, CVE-2018-2678: More refactoring for naming deserialization cases Import of OpenJDK 8 u152 build 16 S4953367: MAWT: Java should be more careful manipulating NLSPATH, XFILESEARCHPATH env variables S6772009: java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java test failed with ‘Completed != 2′ S6947916: JarURLConnection does not handle useCaches correctly S6980209: Make tracking SecondaryLoop.enter/exit methods easier S7052625: com/sun/net/httpserver/bugs/6725892/Test.java fails intermittently S7102702: java/net/PortUnreachableException/OneExceptionOnly.java failing S7131356: (props) “No Java runtime present, requesting install” when creating VM from JNI [macosx] S7172652: With JDK 1.7 text field does not obtain focus when using mnemonic Alt/Key combin S8022291: Mac OS: Unexpected JavaLaunchHelper message displaying S8022580: sun.net.ftp.impl.FtpClient.nameList(String path) handles “null” incorrectly S8025306: Inet[4|6]Address class and fieldID initialization in networking native code S8028363: XmlGregorianCalendarImpl.getTimeZone() bug when offset is less than 10 minutes S8028725: [Parfait] warnings from b116 for jdk.src.solaris.native.java.net: JNI pending exceptions S8028769: Check src/share/native/java/lang/*.c for cases when JNI calls are used with pending warnings S8029018: (bf) Check src/share/native/java/nio/Bits.c for JNI pending exceptions S8030116: (process) Check Parfait warnings in src/solaris/native/java/lang/* S8031586: Check jdk/src/*/native/com/sun/security/auth/module for pending JNI exceptions S8033371: jdk/src/solaris/native/java/lang/ProcessEnvironment.c environ doesn’t check for JNI pending exceptions S8033372: Check jdk/src/share/native/java/lang for JNI pending exception issues S8034102: Check solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c for JNI pending exceptions S8034249: need more workarounds for suspend equivalent condition issue S8035158: Remove dependency on sun.misc.RegexpPool and friends S8035568: [macosx] Cursor management unification S8035653: InetAddress.getLocalHost crash S8037346: Need to terminate server process if client runs into problems S8037909: JNI warnings in jdk/src/windows/native/java/nio/MappedByteBuffer.c S8038075: JNI warnings in jdk/src/share/native/sun/misc/VMSupport.c S8038348: Instance field load is replaced by wrong data Phi S8039412: Stack overflow on Linux using DialogTypeSelection.NATIVE S8040322: TextArea.replaceRange() and insert() are broken with setText(null) S8040635: [macosx] Printing a shape filled with a texture doesn’t work under Mac OS X S8043913: remove legacy code in SPARC’s VM_Version::platform_features S8046768: com/sun/jndi/ldap/LdapTimeoutTest.java fails intermittently S8046893: JNI exception pending in jdk/src/solaris/native/java/net: ExtendedOptionsImpl.c, PlainDatagramSocketImpl.c S8046901: Check jdk/src/solaris/native/sun/nio for Parfait flagged uninitialized memory S8049717: expose L1_data_cache_line_size for diagnostic/sanity checks S8050478: [macosx] Cursor not updating correctly after closing a modal dialog S8054214: JapaneseEra.getDisplayName doesn’t return names if it’s an additional era S8055204: Memory leak in jdk/src/windows/native/java/lang/java_props_md.c S8058316: lookupDefaultPrintService returns null on Solaris 11 S8061258: [macosx] PrinterJob’s native Print Dialog does not reflect specified Copies or Page Ranges S8064470: JNI exception pending in jdk/src/java/base/unix/native/libjava/FileDescriptor_md.c S8066250: compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java fails product S8067059: PrinterJob.pageDialog() with DialogSelectionType.NATIVE returns a PageFormat when cancelled. S8071424: JCK test api/java_net/Socket/descriptions.html#Bind crashes on Windows S8075516: Deleting a file from either the open or save java.awt.FileDialog hangs. S8076249: NPE in AccessBridge while editing JList model S8076554: [macosx] Custom Swing text components need to allow standard accessibility S8080486: JNI exception pending in jdk/src/java.base/windows/native/libnet/DualStackPlainSocketImpl.c S8081219: hs_err improvement: Add event logging for class redefinition to the hs_err file S8087144: sun/security/krb5/auto/MaxRetries.java fails with Retry count is -1 less S8087342: Crash in klassItable::initialize_itable_for_interface S8089573: [macosx] Incorrect char to glyph mapping printing on OSX 10.10 S8129361: ISO 4217 amendment 160 S8130041: TsacertOptionTest.java intermittently fails on Mac S8132209: DiagnosticCommandImpl.getNotificationInfo() may expose internal representation S8132455: com/sun/jndi/ldap/LdapTimeoutTest.java fails at handleNamingException S8134119: Use new API to get cache line sizes S8134389: Crash in HotSpot with jvm.dll+0x42b48 ciObjectFactory::create_new_metadata S8134918: C2: Type speculation produces mismatched unsafe accesses S8135124: com/sun/jndi/ldap/LdapTimeoutTest.java failed intermittently S8136570: Stop changing user environment variables related to /usr/dt S8139189: VK_OEM_102 dead key detected as VK_UNDEFINED S8140309: [REDO] failed: no mismatched stores, except on raw memory: StoreB StoreI S8140525: AwtFrame::WmShowWindow() may steal focus S8141370: com/sun/jndi/ldap/LdapTimeoutTest.java failed intermittently S8143897: Weblogic12medrec assert(handler_address == SharedRuntime::compute_compiled_exc_handler(nm, pc, exception, force_unwind, true)) failed: Must be the same S8145207: [macosx] JList, VO can’t access non-visible list items S8145732: Duplicate entry in http.nonProxyHosts will ignore subsequent entries S8145952: ISO 4217 amendment 161 S8145981: (fs) LinuxWatchService can reports events against wrong directory S8146961: Fix PermGen memory leaks caused by static final Exceptions S8147772: Update KerberosTicket to describe behavior if it has been destroyed and fix NullPointerExceptions S8149521: automatic discovery of LDAP servers with Kerberos authentication S8149714: [parfait] char array lengths don’t match in awt_Font.cpp:1701 S8152000: Java FlightRecorder does not run on Java 8 compact 3 profile since u65 S8152172: PPC64: Support AES intrinsics S8152730: File Leak in CompileBroker::init_compiler_thread_log of compileBroker.cpp:1665. S8152981: Double icons with JMenuItem setHorizontalTextPosition on Win 10 S8153134: Infinite loop in handle_wrong_method in jmod S8153176: ParOldGC: Use correct TaskQueueSet for ParallelTaskTerminator in marking. S8153267: nmethod’s exception cache not multi-thread safe S8153925: (fs) WatchService hangs on GetOverlappedResult and locks directory (win) S8154945: Enable 8130150 and 8081778 intrinsics by default S8155691: Update GIFlib library to the latest up-to-date S8155781: C2: opaque unsafe access triggers an assert S8156116: [macosx] two JNI locals to delete in AWTWindow.m, CGraphicsEnv.m S8156723: JVM crash at sun.java2d.windows.GDIBlitLoops.nativeBlit S8157035: Use stronger algorithms and keys for JSSE testing S8157181: Compilers accept modification of final fields outside initializer methods S8157184: java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java failed with a fatal error S8157548: JVM crashes sometimes while starting S8157665: ProblemList.txt needs to be updated as 7041639 closed S8158325: [macosx] Memory leak in com.apple.laf.ScreenMenu S8158356: SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees S8158639: C2 compilation fails with SIGSEGV S8159035: CTSMode.java test crashed due to unhandled case of cipher length value as 0 S8159696: java.beans.MethodRef#get throws NullPointerException S8160024: jdb returns invalid argument count if first parameter to Arrays.asList is null S8160119: Utils.tryFindJvmPid sometimes find incorrect pid S8160174: java.net.NetworkInterface – fixes and improvements for network interface listing S8160370: System.getProperty(“os.version”) returns “Unknown” on Mac S8160551: assert(c == Bytecodes::_putfield) failed: must be putfield S8160570: [macosx] modal dialog can skip the activation/focus events S8160623: [PIT] Exception running java/awt/event/KeyEvent/KeyChar/KeyCharTest.java S8160664: JVM crashed with font manager on Solaris 12 S8160696: IllegalArgumentException: adding a component to a container on a different GraphicsDevice S8160893: [macosx] JMenuItems in JPopupMenu are not accessible S8160913: [TEST_BUG] javax/management/security/SecurityTest.java fails due to missing keyStore file S8160941: “text/uri-list” dataflavor concats the first two strings S8161039: System.getProperty(“os.version”) returns incorrect version number on Mac S8161664: Memory leak in com.apple.laf.AquaProgressBarUI removed progress bar still referenced S8161733: [parfait] Memory leak in imageioJPEG.c:2803 S8161742: [parfait] Uninitialised memory in isXTestAvailable of awt_Robot.c:65 S8161761: [parfait] 2 JNI exception pending defect groups in GraphicsPrimitiveMgr.c S8162101: C2: Handle “wide” aliases for unsafe accesses S8162488: JDK should be updated to use LittleCMS 2.8 S8162496: missing precedence edge for anti_dependence S8162598: XSLTC transformer swallows empty namespace declaration which is needed to undeclare default namespace S8162603: Unrecognized VM option ‘UseCountedLoopSafepoints’ S8162766: Unsafe_DefineClass0 accesses raw oops while in _thread_in_native S8162795: [REDO] MemberNameTable doesn’t purge stale entries S8162796: [macosx] LinearGradientPaint and RadialGradientPaint are not printed on OS X. S8163104: Unexpected NPE still possible on some Kerberos ticket calls S8163181: Further improvements for Unix NetworkInterface native implementation S8163518: Integer overflow in StringBufferInputStream.read() and CharArrayReader.read/skip() S8163877: Tests added in JDK-8163518 fail on some platforms S8163896: Finalizing one key of a KeyPair invalidates the other key S8163945: Honor Number type hint in toPrimitive on Numbers S8163969: Cyclic interface initialization causes JVM crash S8163979: [macosx] Chinese text shows as Latin w/ openVanilla input method S8164002: Add a new CPU family (S_family) for SPARC S7 and above processors S8164119: MoveToOtherScreenTest fails due wrong key attribute S8164366: ZoneOffset.ofHoursMinutesSeconds() does not reject invalid input S8164501: Uninitialised memory in byteArrayToPacket of SharedMemoryConnection.c S8164508: unexpected profiling mismatch in c1 generated code S8164784: ISO 4217 amendment 162 S8164846: CertificateException missing cause of underlying exception S8165153: Crash in rebuild_cpu_to_node_map S8165243: Base64.Encoder.wrap(os).write(byte[],int,int) with incorrect arguments should not produce output S8165320: Small flaw when integrating 8160174 to JDK8 S8165428: Security Warning dialog should be always on the top when multiple applets with APPLICATION_MODAL dialog launched in a browser S8165482: java in ldoms, with cpu-arch=generic has problems S8165717: [macosx] Various memory leaks in jdk9 S8165751: NPE hit with java.security.debug=provider S8165829: Android Studio 2.x crashes with NPE at sun.lwawt.macosx.CAccessibility.getAccessibleIndexInParent S8165988: Test JarURLConnectionUseCaches.java fails at windows: failed to clean up files after test S8166248: tools/pack200/Pack200Test.java fails on Win32: Could not reserve enough space S8166507: ConcurrentSkipListSet.clear() can leave the Set in an invalid state S8166747: Add invalid network / computer name cases to isReachable known failure switch S8166799: ASSEMBLY_EXCEPTION contains historical company name S8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining S8166872: GPL header in /hotspot/src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp S8166902: Nested object literal property maps not reset in optimistic recompilation S8167102: [macosx] PrintRequestAttributeSet breaks page size set using PageFormat S8168115: Remove and retag jdk8u122-b03 in 8u repo S8168364: [macosx] Delete unused class NSPrintinfo S8168373: don’t emit conversions for symbols outside their lexical scope S8168405: Pending exceptions in java.base/windows/native S8168751: Two “Direct Clip” threads are created to play the same “AudioClip” object, what makes clip sound corrupted S8168914: Crash in ClassLoaderData/JNIHandleBlock::oops_do during concurrent marking S8169056: StringIndexOutOfBoundsException in Pattern.compile with CANON_EQ flag S8169112: java.lang.VerifyError: (class: GregorSamsa, method: template-bash signature: (LGregorSamsa8;)V) Register 10 contains wrong type S8169229: RSAClientKeyExchange debug info is incorrect S8169355: Diacritics input works incorrectly on Windows if Spanish (Latin American) keyboard layout is used S8169481: StackOverflowError on start when parsing PAC file to autodetect Proxy settings S8169556: Wrapping of FileInputStream’s native skip and available methods S8169865: Downport minor fixes in java.net native code from JDK 9 to JDK 8 S8170153: PPC64/s390x/aarch64: Poor StrictMath performance due to non-optimized compilation S8170278: ticket renewal won’t happen with debugging turned on S8170409: CMS: Crash in CardTableModRefBSForCTRS::process_chunk_boundaries S8170465: JNI exception pending in jni_util.c:190 S8170466: JNI exception pending in jni_util.c:190 S8170536: Uninitialised memory in set_uintx_flag of attachListener.cpp S8170552: [macosx] Wrong rendering of diacritics on macOS S8170565: JSObject call() is passed undefined for the argument ‘thiz’ S8170578: CUPS Printing is broken with Ubuntu 16.10 (CUPS 2.2) S8170594: >>>=0 generates invalid bytecode for BaseNode LHS S8170913: Java “1.8.0_112″ on Windows 10 displays different characters for EUDCs from ones created in eudcedit.exe. S8170950: Text is displayed in bold when fonts are installed into symlinked folder S8170977: SparseArrayData should not grow its underlying dense array data S8171151: JDK8u ProblemList.txt Updates S8171155: Scanning method file for initialized final field updates can fail for non-existent fields S8171194: Exception “Duplicate field name&signature in class file” should report the name and signature of the field S8171219: Missing checks in sparse array shift() implementation S8171808: Performance problems in dialogs with large tables when JAB activated S8171849: Collection and Queue conversions not prioritized for Arrays S8171909: [PIT] on Windows, failure of java/awt/Dialog/DialogAboveFrame/DialogAboveFrameTest.java S8171952: [macosx] AWT_Modality/Automated/ModalExclusion/NoExclusion/ModelessDialog test fails as DummyButton on Dialog did not gain focus when clicked. S8172053: (ppc64) Downport of 8170153 breaks build on linux/ppc64 (big endian) S8172145: C2: anti dependence missed because store hidden by membar S8173373: C1: NPE is thrown instead of LinkageError when accessing inaccessible field on NULL receiver S8173423: Wrong display name for supplemental Japanese era S8173581: performance regression in com/sun/crypto/provider/OutputFeedback.java S8173654: Regression since 8u60: System.getenv doesn’t return env var set in JNI code S8173664: Typo in https://java.net/downloads/heap-snapshot/hprof-binary-format.html S8173853: IllegalArgumentException in java.awt.image.ReplicateScaleFilter S8173876: Fast precise scrolling and DeltaAccumulator fix for macOS Sierra 10.12.2 S8174736: [JCP] [Mac]Cannot launch JCP on Mac os with language set to “Chinese, Simplified” while region is not China S8174779: Locale issues with Mac 10.12 S8175025: The copyright section in the test/java/awt/font/TextLayout/DiacriticsDrawingTest.java should be updated S8175131: sun.rmi.transport.tcp.TCPChannel.createConnection close connection on timeout S8175345: Reported null pointer dereference defect groups S8175915: NullPointerException from JComboBox and JList when Accessibility enabled S8176287: [macosx] The print test crashed with Nimbus L&F S8176490: [macosx] Sometimes NSWindow.isZoomed hangs S8176511: JSObject property access is broken for numeric keys outside the int range S8176530: JDK support for JavaFX modal print dialogs S8177095: Range check dependent CastII/ConvI2L is prematurely eliminated S8177450: javax.swing.text.html.parser.Parser parseScript ignores a character after commend end S8177678: Overstatement of universality of Era.getDisplayName() implementation S8177776: Create an equivalent test case for JDK9′s SupplementalJapaneseEraTest S8177817: Remove assertions in 8u that were removed by 8056124 in 9. S8179515: Class java.util.concurrent.ThreadLocalRandom fails to Initialize when using SecurityManager S8180511: Null pointer dereference in Matcher::ReduceInst() S8180565: Null pointer dereferences of ConstMethod::method() S8180575: Null pointer dereference in LoadNode::Identity() S8180576: Null pointer dereference in Matcher::xform() S8180617: Null pointer dereference in InitializeNode::complete_stores S8180660: missing LNT entry for finally block S8180813: Null pointer dereference of CodeCache::find_blob() result S8180934: PutfieldError failed with UnsupportedClassVersionError S8180949: Correctly handle exception in TCPChannel.createConnection S8181191: getUint32 returning Long S8181192: [macos] javafx.print.PrinterJob.showPrintDialog() hangs on macOS S8181205: JRE fails to load/register security providers when started from UNC pathname S8181500: [TESTBUG] com/sun/jdi/LineNumberInfo.java fails with jArrayIndexOutOfBoundsException S8182672: Java 8u121 on Linux intermittently returns null for MAC address S8185779: 8u152 L10n resource file update S8186532: 8u152 L10n resource file update md20 Import of OpenJDK 8 u161 build 12 S8035105: DNS provider cleanups S8137255: sun/security/provider/NSASuiteB/TestDSAGenParameterSpec.java timeouts intermittently S8140436: Negotiated Finite Field Diffie-Hellman Ephemeral Parameters for TLS S8148108: Disable Diffie-Hellman keys less than 1024 bits S8148421, PR3504: Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension S8154344: sun/security/pkcs11/KeyAgreement/SupportedDHKeys.java fails on solaris S8156502: Use short name of SupportedEllipticCurvesExtension.java S8158116: com/sun/crypto/provider/KeyAgreement/SupportedDHParamGens.java failed with timeout S8159240: XSOM parser incorrectly processes type names with whitespaces S8159377: JMX Connections need white-list filters S8161598: Kitchensink fails: assert(nm->insts_contains(original_pc)) failed: original PC must be in nmethod/CompiledMethod S8163237: Restrict the use of EXPORT cipher suites S8166362: [TEST_BUG] test sun/net/www/http/HttpClient/B8025710.java failing with cert error in 8u121 b01 S8169944: sun/security/tools tests fail with CompilationError S8170157: Enable unlimited cryptographic policy by default in OracleJDK S8170245: [TEST_BUG] Cipher tests fail when running with unlimited policy S8170911: 8170823 changes in 8u131 causing signature-test failure in jck runtime8b suite S8171262: Stability fixes for lcms S8172297: In java 8, the marshalling with JAX-WS does not escape carriage return S8173631: Backout three hotspot fixes from 8u121-bpr repo S8176536: Improved algorithm constraints checking S8177144: [TEST BUG] sun/net/www/http/HttpClient/B8025710.java should run in ovm mode S8177750: Forgot TestSocketFactory testcase in 8163958 changeset S8178536: OOM ERRORS + SERVICE-THREAD TAKES A PROCESSOR TO 100% S8178728: Check the AlgorithmParameters in algorithm constraints S8179223: Integrate 8176490 into 8u131-bpr repo S8181439: Test the jdk.tls.namedGroups System Property S8181975: Run sun/security/pkcs11 tests on Mac S8182614: Backout JDK-8140436 from 8u161 S8183939: Import JDK-8182672 into 8u141-bpr repo S8184016: Text in native popup is not always updated with Sogou IME S8185572: Enable AssumeMP by default on SPARC machines S8185628: Backport jdk/test/lib/testlibrary/CompilerUtils.java to jdk8u which is helpful in test development S8185719: rmi TestSocketFactory does not flush S8185909: Disable JARs signed with DSA keys less than 1024 bits S8186539: [testlibrary] TestSocketFactory should allow triggers before match/replace S8187482: Backout JDK-8159377 S8187556: Backout of a fix reintroduced a dependency that had since been removed S8188880: A JAXB JCK test failure found after 8186080 S8190258, PR3499: (tz) Support tzdata2017c S8190259, PR3499: test tck.java.time.zone.TCKZoneRules is broken by tzdata2017c S8190266: closed/java/awt/ComponentOrientation/WindowTest.java throws java.util.MissingResourceException. S8190449: sun/security/pkcs11/KeyPairGenerator/TestDH2048.java fails on Solaris x64 5.10 S8190497: DHParameterSpec.getL() returns zero after JDK-8072452 S8190541: 8u161 L10n resource file update S8190789: sun/security/provider/certpath/LDAPCertStore/TestURICertStoreParameters.java fails after JDK-8186606 S8191137, PR3503: keytool fails to format resource strings for keys for some languages after JDK-8171319 S8191340: 8ux linux builds failing – com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl (unknown type) S8191352: Remove 8u161-b07 and 8u162-b07 tag to include 8191340 for b07 S8191907: PPC64 part of JDK-8174962: Better interface invocations S8192793: 8u161 L10n resource file update md20 S8193683: Increase the number of clones in the CloneableDigest Backports S8165996, PR3506: PKCS11 using NSS throws an error regarding secmod.db when NSS uses sqlite S8170523, PR3506: Some PKCS11 test cases are ignored with security manager S8187667, PR3517: Disable deprecation warning for readdir_r S8189789, PR3530: tomcat gzip-compressed response bodies appear to be broken in update 151 S8194739, PR3520: Zero port of 8174962: Better interface invocations S8194828, PR3520: Fix for 8194739: Zero port of 8174962: Better interface invocations S8195837, PR3522: (tz) Upgrade time-zone data to tzdata2018c S8196516, PR3523: [REDO] [linux] libfontmanager should be linked against headless awt library S8196978, PR3517: JDK-8187667 fails on GCC 4.4.7 as found on RHEL 6 Bug fixes PR3489: Incomplete reading of directory containing tzdb.dat PR3501: Revert 8165320 so as not to revert the work of 8034174 (PR2290) PR3526: configure fails to parse GCC version AArch64 port S8164113, PR3519: AArch64: follow-up the fix for 8161598 S8193133, PR3519: Assertion failure because 0xDEADDEAD can be in-heap S8194686, PR3519: AArch64 port of 8174962: Better interface invocations S8195859, PR3519: AArch64: vtableStubs gtest fails after 8174962 S8196136, PR3519: AArch64: Correct register use in patch for JDK-8194686 S8196221, PR3519: AArch64: Mistake in committed patch for JDK-8195859 PR3519: Fix functions with missing return value. PR3519: Fix further functions with a missing return value. AArch32 port S8140584: [aarch32] nmethod::oops_do_marking_epilogue always runs verification code S8174962: [aarch32] Better interface invocations Shenandoah Fix post-CPU merge Shenandoah regressions The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-3.7.0.tar.gz http://icedtea.classpath.org/download/source/icedtea-3.7.0.tar.xz We provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea-3.7.0.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-3.7.0.tar.xz.sig These are produced using my public key. See details below. PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 GnuPG >= 2.1 is required to be able to handle this key. SHA256 checksums: 936302694e193791885e81cf72097eeadee5b68ba220889228b0aafbfb2cb654 icedtea-3.7.0.tar.gz 1361859f0436dd542bb3aa0e1441331158217fcc4e12ead9c1b23654811cf7ea icedtea-3.7.0.tar.gz.sig bc50a4df0e9f81cb58e0e0cbd10bc7efda4f7ff11026b43d3b9ab19b91fdd827 icedtea-3.7.0.tar.xz 4c252427ca9164663e4090279143a28889adf8cf6fd8240b6b34a023a71b4eb3 icedtea-3.7.0.tar.xz.sig The checksums can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-3.7.0.sha256 A 3.7.0 ebuild for Gentoo is available. The following people helped with these releases: Andrew Dinn (PR3519/S8174962 AArch64 work & first missing return value fix) Andrew Haley (PR3519/S8174962 AArch64 work) Andrew Hughes (all other bug fixes and backports, release management) Roman Kennke (PR3519/S8193133) Aleksey Shipilëv (Shenandoah regressions) Fridrich Strba (PR3489) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-3.7.0.tar.gz or: $ tar x -I xz -f icedtea-3.7.0.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-3.7.0/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! [Less]