20
I Use This!
Activity Not Available

News

Posted over 8 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 2017 security fixes from OpenJDK 7 u141. . 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.10 (2017-05-16) Security fixes S8163520, CVE-2017-3509: Reuse cache entries S8163528, CVE-2017-3511: Better library loading S8165626, CVE-2017-3512: Improved window framing S8167110, CVE-2017-3514: Windows peering issue S8169011, CVE-2017-3526: Resizing XML parse trees S8170222, CVE-2017-3533: Better transfers of files S8171121, CVE-2017-3539: Enhancing jar checking S8171533, CVE-2017-3544: Better email transfer S8172299: Improve class processing New features PR3347: jstack.stp should support AArch64 Import of OpenJDK 7 u141 build 0 S4717864: setFont() does not update Fonts of Menus already on screen S6474807: (smartcardio) CardTerminal.connect() throws CardException instead of CardNotPresentException S6518907: cleanup IA64 specific code in Hotspot S6869327: Add new C2 flag to keep safepoints in counted loops. S7112912: Message “Error occurred during initialization of VM” on boxes with lots of RAM S7124213: [macosx] pack() does ignore size of a component; doesn’t on the other platforms S7124219: [macosx] Unable to draw images to fullscreen S7124552: [macosx] NullPointerException in getBufferStrategy() S7148275: [macosx] setIconImages() not working correctly (distorted icon when minimized) S7154841: [macosx] Popups appear behind taskbar S7155957: closed/java/awt/MenuBar/MenuBarStress1/MenuBarStress1.java hangs on win 64 bit with jdk8 S7160627: [macosx] TextArea has wrong initial size S7167293: FtpURLConnection connection leak on FileNotFoundException S7168851: [macosx] Netbeans crashes in CImage.nativeCreateNSImageFromArray S7197203: sun/misc/URLClassPath/ClassnameCharTest.sh failed, compile error S8005255: [macosx] Cleanup warnings in sun.lwawt S8006088: Incompatible heap size flags accepted by VM S8007295: Reduce number of warnings in awt classes S8010722: assert: failed: heap size is too big for compressed oops S8011059: [macosx] Support automatic @2x images loading on Mac OS X S8014058: Regression tests for 8006088 S8014489: tests/gc/arguments/Test(Serial|CMS|Parallel|G1)HeapSizeFlags jtreg tests invoke wrong class S8016302: Change type of the number of GC workers to unsigned int (2) S8024662: gc/arguments/TestUseCompressedOopsErgo.java does not compile. S8024669: Native OOME when allocating after changes to maximum heap supporting Coops sizing on sparcv9 S8024926: [macosx] AquaIcon HiDPI support S8025974: l10n for policytool S8027025: [macosx] getLocationOnScreen returns 0 if parent invisible S8028212: Custom cursor HiDPI support S8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization. S8031573: [macosx] Checkmarks of JCheckBoxMenuItems aren’t rendered in high resolution on Retina S8033534: [macosx] Get MultiResolution image from native system S8033786: White flashing when opening Dialogs and Menus using Nimbus with dark background S8035568: [macosx] Cursor management unification S8041734: JFrame in full screen mode leaves empty workspace after close S8059803: Update use of GetVersionEx to get correct Windows version in hs_err files S8066504: GetVersionEx in java.base/windows/native/libjava/java_props_md.c might not get correct Windows version 0 S8079595: Resizing dialog which is JWindow parent makes JVM crash S8080729: [macosx] java 7 and 8 JDialogs on multiscreen jump to parent frame on focus S8130769: The new menu can’t be shown on the menubar after clicking the “Add” button. S8133357: 8u65 l10n resource file translation update S8146602: jdk/test/sun/misc/URLClassPath/ClassnameCharTest.java test fails with NullPointerException S8147842: IME Composition Window is displayed at incorrect location S8147910: Cache initial active_processor_count S8150490: Update OS detection code to recognize Windows Server 2016 S8161147: jvm crashes when -XX:+UseCountedLoopSafepoints is enabled S8161195: Regression: closed/javax/swing/text/FlowView/LayoutTest.java S8161993: G1 crashes if active_processor_count changes during startup S8162603: Unrecognized VM option ‘UseCountedLoopSafepoints’ S8162876: [TEST_BUG] sun/net/www/protocol/http/HttpInputStream.java fails intermittently S8164533: sun/security/ssl/SSLSocketImpl/CloseSocket.java failed with “Error while cleaning up threads after test” S8167179: Make XSL generated namespace prefixes local to transformation process S8169465: Deadlock in com.sun.jndi.ldap.pool.Connections S8169589: [macosx] Activating a JDialog puts to back another dialog S8170307: Stack size option -Xss is ignored S8170316: (tz) Support tzdata2016j S8170814: Reuse cache entries (part II) S8171388: Update JNDI Thread contexts S8171949: [macosx] AWT_ZoomFrame Automated tests fail with error: The bitwise mask Frame.ICONIFIED is not setwhen the frame is in ICONIFIED state S8171952: [macosx] AWT_Modality/Automated/ModalExclusion/NoExclusion/ModelessDialog test fails as DummyButton on Dialog did not gain focus when clicked. S8173931: 8u131 L10n resource file update S8174844: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle S8175087: [bsd] Fix build after “8024900: PPC64: Enable new build on AIX (jdk part)” S8175163: [bsd] Fix build after “8005629: javac warnings compiling java.awt.EventDispatchThread…” S8176044: (tz) Support tzdata2017a Import of OpenJDK 7 u141 build 1 S8043723: max_heap_for_compressed_oops() declared with size_t, but defined with uintx Import of OpenJDK 7 u141 build 2 S8011123: serialVersionUID of java.awt.dnd.InvalidDnDOperationException changed in JDK8-b82 Backports S6515172, PR3362: Runtime.availableProcessors() ignores Linux taskset command S8011621, PR3209: live_ranges_in_separate_class.patch S8022284, PR3209: Hide internal data structure in PhaseCFG S8023003, PR3209: Cleanup the public interface to PhaseCFG S8023691, PR3209: Create interface for nodes in class Block S8023988, PR3209: Move local scheduling of nodes to the CFG creation and code motion phase (PhaseCFG) S8043780, PR3369: Use open(O_CLOEXEC) instead of fcntl(FD_CLOEXEC) S8157306, PR3209: Random infrequent null pointer exceptions in javac S8173783, PR3329: IllegalArgumentException: jdk.tls.namedGroups S8173941, PR3330: SA does not work if executable is DSO S8174729, PR3361: Race Condition in java.lang.reflect.WeakCache Bug fixes PR3349: Architectures unsupported by SystemTap tapsets throw a parse error PR3370: Disable ARM32 JIT by default in jdk_generic_profile.sh PR3379: Perl should be mandatory PR3390: javac.in and javah.in should use @PERL@ rather than a hardcoded path CACAO PR2732: Raise javadoc memory limits for CACAO again! AArch64 port S8177661, PR3367: Correct ad rule output register types from iRegX to iRegXNoSp The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-2.6.10.tar.gz http://icedtea.classpath.org/download/source/icedtea-2.6.10.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.10.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-2.6.10.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: 02af605d4437e314a55c85a334321719d16be3ff670064de8972c15e30f5ceed icedtea-2.6.10.tar.gz 48f7b14d67c9a67e5e29c5ada64e8b9875f3feefacf07df1dc66dd668166d8df icedtea-2.6.10.tar.gz.sig 1c49fd735cc908677044935b6899e59434356b7e65d163bb5033e32f6621a92a icedtea-2.6.10.tar.xz abcd0e05aad77528da4957e5ccebd02282adae0938b02685100244e93da27eac icedtea-2.6.10.tar.xz.sig The checksums can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-2.6.10.sha256 A 2.6.10 ebuild for Gentoo is available. The following people helped with these releases: James Le Cuirot (PR2732) Andrew Dinn (PR3347) Andrew Hughes (all other backports & bug fixes, release management) David Smith (PR3349) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-2.6.10.tar.gz or: $ tar x -I xz -f icedtea-2.6.10.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-2.6.10/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! [Less]
Posted over 8 years ago
We are pleased to announce the release of IcedTea 3.4.0: ARMed and Ready! 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 ... [More] against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 8 support with the April 2017 security fixes from OpenJDK 8 u131. We also add support for building using the AArch32 HotSpot port. This is now the default on arm[32], which should lead to significant performance increases over the previous default Zero assembler build. AArch64 also gets some love, with support for this architecture in the Shenandoah HotSpot build (PR3297) and the SystemTap JDK tapsets (PR3340). 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.4.0 (2017-05-16) Security fixes S8163520, CVE-2017-3509: Reuse cache entries S8163528, CVE-2017-3511: Better library loading S8165626, CVE-2017-3512: Improved window framing S8167110, CVE-2017-3514: Windows peering issue S8168699: Validate special case invocations S8169011, CVE-2017-3526: Resizing XML parse trees S8170222, CVE-2017-3533: Better transfers of files S8171121, CVE-2017-3539: Enhancing jar checking S8171533, CVE-2017-3544: Better email transfer S8172299: Improve class processing New features PR1969: Add AArch32 JIT port PR3297: Allow Shenandoah to be used on AArch64 PR3340: jstack.stp should support AArch64 Import of OpenJDK 8 u131 build 11 S6474807: (smartcardio) CardTerminal.connect() throws CardException instead of CardNotPresentException S6515172, PR3346: Runtime.availableProcessors() ignores Linux taskset command S7155957: closed/java/awt/MenuBar/MenuBarStress1/MenuBarStress1.java hangs on win 64 bit with jdk8 S7167293: FtpURLConnection connection leak on FileNotFoundException S8035568: [macosx] Cursor management unification S8079595: Resizing dialog which is JWindow parent makes JVM crash S8130769: The new menu can’t be shown on the menubar after clicking the “Add” button. S8146602: jdk/test/sun/misc/URLClassPath/ClassnameCharTest.java test fails with NullPointerException S8147842: IME Composition Window is displayed at incorrect location S8147910, PR3346: Cache initial active_processor_count S8150490: Update OS detection code to recognize Windows Server 2016 S8160951: [TEST_BUG] javax/xml/bind/marshal/8134111/UnmarshalTest.java should be added into :needs_jre group S8160958: [TEST_BUG] java/net/SetFactoryPermission/SetFactoryPermission.java should be added into :needs_compact2 group S8161147: jvm crashes when -XX:+UseCountedLoopSafepoints is enabled S8161195: Regression: closed/javax/swing/text/FlowView/LayoutTest.java S8161993, PR3346: G1 crashes if active_processor_count changes during startup S8162876: [TEST_BUG] sun/net/www/protocol/http/HttpInputStream.java fails intermittently S8162916: Test sun/security/krb5/auto/UnboundSSL.java fails S8164533: sun/security/ssl/SSLSocketImpl/CloseSocket.java failed with “Error while cleaning up threads after test” S8167179: Make XSL generated namespace prefixes local to transformation process S8168774: Polymorhic signature method check crashes javac S8169465: Deadlock in com.sun.jndi.ldap.pool.Connections S8169589: [macosx] Activating a JDialog puts to back another dialog S8170307: Stack size option -Xss is ignored S8170316: (tz) Support tzdata2016j S8170814: Reuse cache entries (part II) S8170888, PR3314, RH1284948: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments S8171388: Update JNDI Thread contexts S8171949: [macosx] AWT_ZoomFrame Automated tests fail with error: The bitwise mask Frame.ICONIFIED is not setwhen the frame is in ICONIFIED state S8171952: [macosx] AWT_Modality/Automated/ModalExclusion/NoExclusion/ModelessDialog test fails as DummyButton on Dialog did not gain focus when clicked. S8173030: Temporary backout fix #8035568 from 8u131-b03 S8173031: Temporary backout fix #8171952 from 8u131-b03 S8173783, PR3328: IllegalArgumentException: jdk.tls.namedGroups S8173931: 8u131 L10n resource file update S8174844: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle S8174985: NTLM authentication doesn’t work with IIS if NTLM cache is disabled S8176044: (tz) Support tzdata2017a Backports S6457406, PR3335: javadoc doesn’t handle http://…’> properly in producing index pages S8030245, PR3335: Update langtools to use try-with-resources and multi-catch S8030253, PR3335: Update langtools to use strings-in-switch S8030262, PR3335: Update langtools to use foreach loops S8031113, PR3337: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Basic.java fails intermittently S8031625, PR3335: javadoc problems referencing inner class constructors S8031649, PR3335: Clean up javadoc tests S8031670, PR3335: Remove unneeded -source options in javadoc tests S8032066, PR3335: Serialized form has broken links to non private inner classes of package private S8034174, PR2290: Remove use of JVM_* functions from java.net code S8034182, PR2290: Misc. warnings in java.net code S8035876, PR2290: AIX build issues after ’8034174: Remove use of JVM_* functions from java.net code’ S8038730, PR3335: Clean up the way JavadocTester is invoked, and checks for errors. S8040903, PR3335: Clean up use of BUG_ID in javadoc tests S8040904, PR3335: Ensure javadoc tests do not overwrite results within tests S8040908, PR3335: javadoc test TestDocEncoding should use -notimestamp S8041150, PR3335: Avoid silly use of static methods in JavadocTester S8041253, PR3335: Avoid redundant synonyms of NO_TEST S8043780, PR3368: Use open(O_CLOEXEC) instead of fcntl(FD_CLOEXEC) S8061305, PR3335: Javadoc crashes when method name ends with “Property” S8072452, PR3337: Support DHE sizes up to 8192-bits and DSA sizes up to 3072-bits S8075565, PR3337: Define @intermittent jtreg keyword and mark intermittently failing jdk tests S8075670, PR3337: Remove intermittent keyword from some tests S8078334, PR3337: Mark regression tests using randomness S8078880, PR3337: Mark a few more intermittently failuring security-libs S8133318, PR3337: Exclude intermittent failing PKCS11 tests on Solaris SPARC 11.1 and earlier S8144539, PR3337: Update PKCS11 tests to run with security manager S8144566, PR3352: Custom HostnameVerifier disables SNI extension S8153711, PR3313, RH1284948: [REDO] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command S8155049, PR3352: New tests from 8144566 fail with “No expected Server Name Indication” S8173941, PR3326: SA does not work if executable is DSO S8174164, PR3334, RH1417266: SafePointNode::_replaced_nodes breaks with irreducible loops S8174729, PR3336, RH1420518: Race Condition in java.lang.reflect.WeakCache S8175097, PR3334, RH1417266: [TESTBUG] 8174164 fix missed the test Bug fixes PR3348: Architectures unsupported by SystemTap tapsets throw a parse error PR3378: Perl should be mandatory PR3389: javac.in and javah.in should use @PERL@ rather than a hardcoded path AArch64 port S8168699, PR3372: Validate special case invocations [AArch64 support] S8170100, PR3372: AArch64: Crash in C1-compiled code accessing References S8172881, PR3372: AArch64: assertion failure: the int pressure is incorrect S8173472, PR3372: AArch64: C1 comparisons with null only use 32-bit instructions S8177661, PR3372: Correct ad rule output register types from iRegX to iRegXNoSp AArch32 port PR3380: Zero should not be enabled by default on arm with the AArch32 HotSpot build PR3384, S8139303, S8167584: Add support for AArch32 architecture to configure and jdk makefiles PR3385: aarch32 does not support -Xshare:dump PR3386, S8164652: AArch32 jvm.cfg wrong for C1 build PR3387: Installation fails on arm with AArch32 port as INSTALL_ARCH_DIR is arm, not aarch32 PR3388: Wrong path for jvm.cfg being used on arm with AArch32 build Shenandoah Fix Shenandoah argument checking on 32bit builds. Import from Shenandoah tag aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25 Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-02-20 Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-06 Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-09 Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-23 The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-3.4.0.tar.gz http://icedtea.classpath.org/download/source/icedtea-3.4.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.4.0.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-3.4.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: 2b606bbbf4ca5bcf2c8e811ea9060da30744860f3d63e1b3149fb5550a90b92b icedtea-3.4.0.tar.gz 15391447e489cb939277a6981ff9dbc2a57d50c6d3682e0159a1dab04a05da02 icedtea-3.4.0.tar.gz.sig b518f389c44d45bb264d7e954b3c0b836d3d23ba9fbd620ff7c68f934a012e9a icedtea-3.4.0.tar.xz 32e80eacf27e3ec31dd698486e2f79a92bc146c4bc37c76bb7e3d8b7e34a7084 icedtea-3.4.0.tar.xz.sig The checksums can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-3.4.0.sha256 A 3.4.0 ebuild for Gentoo is available. The following people helped with these releases: Andrew Dinn (PR3340) Andrew Hughes (all other bug fixes and backports, release management) David Smith (PR3348) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-3.4.0.tar.gz or: $ tar x -I xz -f icedtea-3.4.0.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-3.4.0/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! [Less]
Posted over 8 years ago
We are pleased to announce the release of IcedTea 3.4.0: ARMed and Ready! 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 ... [More] against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 8 support with the April 2017 security fixes from OpenJDK 8 u131. We also add support for building using the AArch32 HotSpot port. This is now the default on arm[32], which should lead to significant performance increases over the previous default Zero assembler build. AArch64 also gets some love, with support for this architecture in the Shenandoah HotSpot build (PR3297) and the SystemTap JDK tapsets (PR3340). 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.4.0 (2017-05-16) Security fixes S8163520, CVE-2017-3509: Reuse cache entries S8163528, CVE-2017-3511: Better library loading S8165626, CVE-2017-3512: Improved window framing S8167110, CVE-2017-3514: Windows peering issue S8168699: Validate special case invocations S8169011, CVE-2017-3526: Resizing XML parse trees S8170222, CVE-2017-3533: Better transfers of files S8171121, CVE-2017-3539: Enhancing jar checking S8171533, CVE-2017-3544: Better email transfer S8172299: Improve class processing New features PR1969: Add AArch32 JIT port PR3297: Allow Shenandoah to be used on AArch64 PR3340: jstack.stp should support AArch64 Import of OpenJDK 8 u131 build 11 S6474807: (smartcardio) CardTerminal.connect() throws CardException instead of CardNotPresentException S6515172, PR3346: Runtime.availableProcessors() ignores Linux taskset command S7155957: closed/java/awt/MenuBar/MenuBarStress1/MenuBarStress1.java hangs on win 64 bit with jdk8 S7167293: FtpURLConnection connection leak on FileNotFoundException S8035568: [macosx] Cursor management unification S8079595: Resizing dialog which is JWindow parent makes JVM crash S8130769: The new menu can’t be shown on the menubar after clicking the “Add” button. S8146602: jdk/test/sun/misc/URLClassPath/ClassnameCharTest.java test fails with NullPointerException S8147842: IME Composition Window is displayed at incorrect location S8147910, PR3346: Cache initial active_processor_count S8150490: Update OS detection code to recognize Windows Server 2016 S8160951: [TEST_BUG] javax/xml/bind/marshal/8134111/UnmarshalTest.java should be added into :needs_jre group S8160958: [TEST_BUG] java/net/SetFactoryPermission/SetFactoryPermission.java should be added into :needs_compact2 group S8161147: jvm crashes when -XX:+UseCountedLoopSafepoints is enabled S8161195: Regression: closed/javax/swing/text/FlowView/LayoutTest.java S8161993, PR3346: G1 crashes if active_processor_count changes during startup S8162876: [TEST_BUG] sun/net/www/protocol/http/HttpInputStream.java fails intermittently S8162916: Test sun/security/krb5/auto/UnboundSSL.java fails S8164533: sun/security/ssl/SSLSocketImpl/CloseSocket.java failed with “Error while cleaning up threads after test” S8167179: Make XSL generated namespace prefixes local to transformation process S8168774: Polymorhic signature method check crashes javac S8169465: Deadlock in com.sun.jndi.ldap.pool.Connections S8169589: [macosx] Activating a JDialog puts to back another dialog S8170307: Stack size option -Xss is ignored S8170316: (tz) Support tzdata2016j S8170814: Reuse cache entries (part II) S8170888, PR3314, RH1284948: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments S8171388: Update JNDI Thread contexts S8171949: [macosx] AWT_ZoomFrame Automated tests fail with error: The bitwise mask Frame.ICONIFIED is not setwhen the frame is in ICONIFIED state S8171952: [macosx] AWT_Modality/Automated/ModalExclusion/NoExclusion/ModelessDialog test fails as DummyButton on Dialog did not gain focus when clicked. S8173030: Temporary backout fix #8035568 from 8u131-b03 S8173031: Temporary backout fix #8171952 from 8u131-b03 S8173783, PR3328: IllegalArgumentException: jdk.tls.namedGroups S8173931: 8u131 L10n resource file update S8174844: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle S8174985: NTLM authentication doesn’t work with IIS if NTLM cache is disabled S8176044: (tz) Support tzdata2017a Backports S6457406, PR3335: javadoc doesn’t handle http://…’> properly in producing index pages S8030245, PR3335: Update langtools to use try-with-resources and multi-catch S8030253, PR3335: Update langtools to use strings-in-switch S8030262, PR3335: Update langtools to use foreach loops S8031113, PR3337: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Basic.java fails intermittently S8031625, PR3335: javadoc problems referencing inner class constructors S8031649, PR3335: Clean up javadoc tests S8031670, PR3335: Remove unneeded -source options in javadoc tests S8032066, PR3335: Serialized form has broken links to non private inner classes of package private S8034174, PR2290: Remove use of JVM_* functions from java.net code S8034182, PR2290: Misc. warnings in java.net code S8035876, PR2290: AIX build issues after ’8034174: Remove use of JVM_* functions from java.net code’ S8038730, PR3335: Clean up the way JavadocTester is invoked, and checks for errors. S8040903, PR3335: Clean up use of BUG_ID in javadoc tests S8040904, PR3335: Ensure javadoc tests do not overwrite results within tests S8040908, PR3335: javadoc test TestDocEncoding should use -notimestamp S8041150, PR3335: Avoid silly use of static methods in JavadocTester S8041253, PR3335: Avoid redundant synonyms of NO_TEST S8043780, PR3368: Use open(O_CLOEXEC) instead of fcntl(FD_CLOEXEC) S8061305, PR3335: Javadoc crashes when method name ends with “Property” S8072452, PR3337: Support DHE sizes up to 8192-bits and DSA sizes up to 3072-bits S8075565, PR3337: Define @intermittent jtreg keyword and mark intermittently failing jdk tests S8075670, PR3337: Remove intermittent keyword from some tests S8078334, PR3337: Mark regression tests using randomness S8078880, PR3337: Mark a few more intermittently failuring security-libs S8133318, PR3337: Exclude intermittent failing PKCS11 tests on Solaris SPARC 11.1 and earlier S8144539, PR3337: Update PKCS11 tests to run with security manager S8144566, PR3352: Custom HostnameVerifier disables SNI extension S8153711, PR3313, RH1284948: [REDO] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command S8155049, PR3352: New tests from 8144566 fail with “No expected Server Name Indication” S8173941, PR3326: SA does not work if executable is DSO S8174164, PR3334, RH1417266: SafePointNode::_replaced_nodes breaks with irreducible loops S8174729, PR3336, RH1420518: Race Condition in java.lang.reflect.WeakCache S8175097, PR3334, RH1417266: [TESTBUG] 8174164 fix missed the test Bug fixes PR3348: Architectures unsupported by SystemTap tapsets throw a parse error PR3378: Perl should be mandatory PR3389: javac.in and javah.in should use @PERL@ rather than a hardcoded path AArch64 port S8168699, PR3372: Validate special case invocations [AArch64 support] S8170100, PR3372: AArch64: Crash in C1-compiled code accessing References S8172881, PR3372: AArch64: assertion failure: the int pressure is incorrect S8173472, PR3372: AArch64: C1 comparisons with null only use 32-bit instructions S8177661, PR3372: Correct ad rule output register types from iRegX to iRegXNoSp AArch32 port PR3380: Zero should not be enabled by default on arm with the AArch32 HotSpot build PR3384, S8139303, S8167584: Add support for AArch32 architecture to configure and jdk makefiles PR3385: aarch32 does not support -Xshare:dump PR3386, S8164652: AArch32 jvm.cfg wrong for C1 build PR3387: Installation fails on arm with AArch32 port as INSTALL_ARCH_DIR is arm, not aarch32 PR3388: Wrong path for jvm.cfg being used on arm with AArch32 build Shenandoah Fix Shenandoah argument checking on 32bit builds. Import from Shenandoah tag aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25 Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-02-20 Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-06 Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-09 Import from Shenandoah tag aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-23 The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-3.4.0.tar.gz http://icedtea.classpath.org/download/source/icedtea-3.4.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.4.0.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-3.4.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: 2b606bbbf4ca5bcf2c8e811ea9060da30744860f3d63e1b3149fb5550a90b92b icedtea-3.4.0.tar.gz 15391447e489cb939277a6981ff9dbc2a57d50c6d3682e0159a1dab04a05da02 icedtea-3.4.0.tar.gz.sig b518f389c44d45bb264d7e954b3c0b836d3d23ba9fbd620ff7c68f934a012e9a icedtea-3.4.0.tar.xz 32e80eacf27e3ec31dd698486e2f79a92bc146c4bc37c76bb7e3d8b7e34a7084 icedtea-3.4.0.tar.xz.sig The checksums can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-3.4.0.sha256 A 3.4.0 ebuild for Gentoo is available. The following people helped with these releases: Andrew Dinn (PR3340) Christine Flood (S8170888, PR3314, RH1284948 CGroup memory limit handling) Severin Gehwolf (S8153711, PR3313, RH1284948 JDWP memory leak) Andrew Hughes (all other bug fixes and backports, release management) David Smith (PR3348) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-3.4.0.tar.gz or: $ tar x -I xz -f icedtea-3.4.0.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-3.4.0/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! [Less]
Posted over 8 years ago
Dear Members of the JCP Executive Committee: I am the Specification Lead for JSR 376, the Java Platform Module System. The goal of this JSR is to design a module system that is approachable by all developers for use in their own code yet scalable to ... [More] the modularization of the Java SE Platform itself, as stated in the JSR submission which the EC approved in December 2014. The present draft Specification achieves that goal, as further expressed in a set of requirements agreed to by the JSR 376 Expert Group in April 2015. The Specification reflects input not only from the EG but, also, from an active community of developers that includes the maintainers of some of the most widely-used open-source Java libraries, frameworks, and tools. We are still working on a few minor open issues, but I am confident that we can resolve them in short order. Just yesterday I posted a revised proposal for the automatic-modules issue raised by some of the core Maven developers, and they have responded positively. The Public Review Ballot for this JSR will close in a few days. Red Hat Middleware has indicated, as you know, that they will not support this JSR. That is disappointing, but not surprising. Red Hat Middleware initially agreed to the goals and requirements of the JSR, but then worked consistently to undermine them. They attempted to turn this JSR into something other than it was intended to be. Rather than design one module system that is both approachable and scalable they instead wanted to design a “meta” module system via which multiple different module systems could interoperate on an intimate basis. I can only assume that they pursued this alternate goal in order to preserve and protect their home-grown, non-standard module system, which is little used outside of the JBoss/Wildfly ecosystem. Designing a “meta” module system would be an interesting project, but it would be even larger in scope and much more difficult than this JSR. By focusing on an audience of module-system experts it would likely result in a design that is far from approachable by all developers. That is why I repeatedly pointed out to Red Hat Middleware that many of the features they advocated were out of scope, but they chose not to accept those decisions. IBM has declared publicly that they will cast an explicit vote against this JSR. That is disappointing also—and surprising. IBM has said very little during the course of this JSR. After they announced that they would vote against it they later sent a list of specific issues to the EG, but only in response to a request from another EG member. None of those issues is new, many of them were discussed long ago, and IBM was silent during most of the discussions. IBM’s recent position appears rooted in a vague desire for “closer consensus” amongst EG members. I would prefer more consensus too, but that is not possible given Red Hat Middleware’s position. I can only conclude that IBM has decided that their interests are best served by delaying this JSR and, also, JSR 379 (Java SE 9)—which is regrettable. Is the present Specification for this JSR perfect? No, of course not. It does, however, reflect years of development, testing, and refinement with active feedback from many developers. Could we make the Specification better if we spent more time on it? Yes, of course we could. What we have now does not solve every practical modularity-related problem that developers face, but it meets the agreed goals and requirements and is a solid foundation for future work. It is time to ship what we have, see what we learn, and iteratively improve. Let not the perfect be the enemy of the good. Should we further delay this JSR—possibly for years—in order to gain “closer consensus” by pursuing a different goal that will likely result in a design so bloated and complex that no working developer would ever use it? I do not see how that could possibly be in the best interest of the Java community. As you consider how to cast your vote I urge you to judge the Specification on its merits and, also, to take into account the nature of the precedent that your vote will set. A vote against this JSR due to lack of consensus in the EG is a vote against the Java Community Process itself. The Process does not mandate consensus, and for good reason. It intentionally gives Specification Leads broad decision powers, precisely to prevent EG members from obstructing progress in order to defend their own narrow interests. If you take away that authority then you doom future JSRs to the consensus of self-serving “experts.” Many failed technologies have been designed in exactly that way. That is not the future that I want for Java. Respectfully yours, Mark Reinhold [Less]
Posted over 8 years ago
Dear Members of the JCP Executive Committee: I am the Specification Lead for JSR 376, the Java Platform Module System. The goal of this JSR is to design a module system that is approachable by all developers for use in their own code yet scalable to ... [More] the modularization of the Java SE Platform itself, as stated in the JSR submission which the EC approved in December 2014. The present draft Specification achieves that goal, as further expressed in a set of requirements agreed to by the JSR 376 Expert Group in April 2015. The Specification reflects input not only from the EG but, also, from an active community of developers that includes the maintainers of some of the most widely-used open-source Java libraries, frameworks, and tools. We are still working on a few minor open issues, but I am confident that we can resolve them in short order. Just yesterday I posted a revised proposal for the automatic-modules issue raised by some of the core Maven developers, and they have responded positively. The Public Review Ballot for this JSR will close in a few days. Red Hat Middleware has indicated, as you know, that they will not support this JSR. That is disappointing, but not surprising. Red Hat Middleware initially agreed to the goals and requirements of the JSR, but then worked consistently to undermine them. They attempted to turn this JSR into something other than it was intended to be. Rather than design one module system that is both approachable and scalable they instead wanted to design a “meta” module system via which multiple different module systems could interoperate on an intimate basis. I can only assume that they pursued this alternate goal in order to preserve and protect their home-grown, non-standard module system, which is little used outside of the JBoss/Wildfly ecosystem. Designing a “meta” module system would be an interesting project, but it would be even larger in scope and much more difficult than this JSR. By focusing on an audience of module-system experts it would likely result in a design that is far from approachable by all developers. That is why I repeatedly pointed out to Red Hat Middleware that many of the features they advocated were out of scope, but they chose not to accept those decisions. IBM has declared publicly that they will cast an explicit vote against this JSR. That is disappointing also—and surprising. IBM has said very little during the course of this JSR. After they announced that they would vote against it they later sent a list of specific issues to the EG, but only in response to a request from another EG member. None of those issues is new, many of them were discussed long ago, and IBM was silent during most of the discussions. IBM’s recent position appears rooted in a vague desire for “closer consensus” amongst EG members. I would prefer more consensus too, but that is not possible given Red Hat Middleware’s position. I can only conclude that IBM has decided that their interests are best served by delaying this JSR and, also, JSR 379 (Java SE 9)—which is regrettable. Is the present Specification for this JSR perfect? No, of course not. It does, however, reflect years of development, testing, and refinement with active feedback from many developers. Could we make the Specification better if we spent more time on it? Yes, of course we could. What we have now does not solve every practical modularity-related problem that developers face, but it meets the agreed goals and requirements and is a solid foundation for future work. It is time to ship what we have, see what we learn, and iteratively improve. Let not the perfect be the enemy of the good. Should we further delay this JSR—possibly for years—in order to gain “closer consensus” by pursuing a different goal that will likely result in a design so bloated and complex that no working developer would ever use it? I do not see how that could possibly be in the best interest of the Java community. As you consider how to cast your vote I urge you to judge the Specification on its merits and, also, to take into account the nature of the precedent that your vote will set. A vote against this JSR due to lack of consensus in the EG is a vote against the Java Community Process itself. The Process does not mandate consensus, and for good reason. It intentionally gives Specification Leads broad decision powers, precisely to prevent EG members from obstructing progress in order to defend their own narrow interests. If you take away that authority then you doom future JSRs to the consensus of self-serving “experts.” Many failed technologies have been designed in exactly that way. That is not the future that I want for Java. Respectfully yours, Mark Reinhold [Less]
Posted over 8 years ago
Dear Members of the JCP Executive Committee: I am the Specification Lead for JSR 376, the Java Platform Module System. The goal of this JSR is to design a module system that is approachable by all developers for use in their own code yet scalable to ... [More] the modularization of the Java SE Platform itself, as stated in the JSR submission which the EC approved in December 2014. The present draft Specification achieves that goal, as further expressed in a set of requirements agreed to by the JSR 376 Expert Group in April 2015. The Specification reflects input not only from the EG but, also, from an active community of developers that includes the maintainers of some of the most widely-used open-source Java libraries, frameworks, and tools. We are still working on a few minor open issues, but I am confident that we can resolve them in short order. Just yesterday I posted a revised proposal for the automatic-modules issue raised by some of the core Maven developers, and they have responded positively. The Public Review Ballot for this JSR will close in a few days. Red Hat Middleware has indicated, as you know, that they will not support this JSR. That is disappointing, but not surprising. Red Hat Middleware initially agreed to the goals and requirements of the JSR, but then worked consistently to undermine them. They attempted to turn this JSR into something other than it was intended to be. Rather than design one module system that is both approachable and scalable they instead wanted to design a “meta” module system via which multiple different module systems could interoperate on an intimate basis. I can only assume that they pursued this alternate goal in order to preserve and protect their home-grown, non-standard module system, which is little used outside of the JBoss/Wildfly ecosystem. Designing a “meta” module system would be an interesting project, but it would be even larger in scope and much more difficult than this JSR. By focusing on an audience of module-system experts it would likely result in a design that is far from approachable by all developers. That is why I repeatedly pointed out to Red Hat Middleware that many of the features they advocated were out of scope, but they chose not to accept those decisions. IBM has declared publicly that they will cast an explicit vote against this JSR. That is disappointing also — and surprising. IBM has said very little during the course of this JSR. After they announced that they would vote against it they later sent a list of specific issues to the EG, but only in response to a request from another EG member. None of those issues is new, many of them were discussed long ago, and IBM was silent during most of the discussions. IBM’s recent position appears rooted in a vague desire for “closer consensus” amongst EG members. I would prefer more consensus too, but that is not possible given Red Hat Middleware’s position. I can only conclude that IBM has decided that their interests are best served by delaying this JSR and, also, JSR 379 (Java SE 9) — which is regrettable. Is the present Specification for this JSR perfect? No, of course not. It does, however, reflect years of development, testing, and refinement with active feedback from many developers. Could we make the Specification better if we spent more time on it? Yes, of course we could. What we have now does not solve every practical modularity-related problem that developers face, but it meets the agreed goals and requirements and is a solid foundation for future work. It is time to ship what we have, see what we learn, and iteratively improve. Let not the perfect be the enemy of the good. Should we further delay this JSR — possibly for years — in order to gain “closer consensus” by pursuing a different goal that will likely result in a design so bloated and complex that no working developer would ever use it? I do not see how that could possibly be in the best interest of the Java community. As you consider how to cast your vote I urge you to judge the Specification on its merits and, also, to take into account the nature of the precedent that your vote will set. A vote against this JSR due to lack of consensus in the EG is a vote against the Java Community Process itself. The Process does not mandate consensus, and for good reason. It intentionally gives Specification Leads broad decision powers, precisely to prevent EG members from obstructing progress in order to defend their own narrow interests. If you take away that authority then you doom future JSRs to the consensus of self-serving “experts.” Many failed technologies have been designed in exactly that way. That is not the future that I want for Java. Respectfully yours, Mark Reinhold [Less]
Posted over 8 years ago
After (too) many years, finally a new release of Graphos.This release has two new important features: cusps and images.Splines support now cusps, that is left and right asymmetrical tangents to a control point.A new image item object exists. This ... [More] allows you to paste a preferably small image and move it around like it were a box, resizing it at will.This is quite useful to be able to manually overlay lines and trace images.Since the image is directly encoded in the file and not saved as a separate image it is not very efficient and using large images is not advisable. In the future a new bundle file format needs to be implemented.The screenshot shows an example of tracing the GNUstep logo imported as a bitmap, using the cusp point in the upper right.Many bug fixes and improvements in these past years, some major:  Text improvements (editor display, reading/&saving, Mac support)  Circles/Ovals save/read fix  Properties inspector fixes  Portability fixes To support cusps, the file format changed again, reading of old formats is still supported. [Less]
Posted over 8 years ago
After almost fifteen years I have decided to quit working on IKVM.NET. The decision has been a long time coming. Those of you that saw yesterday’s Twitter spat, please don’t assume that was the cause. It rather shared an underlying cause. I’ve slowly ... [More] been losing faith in .NET. Looking back, I guess this process started with the release of .NET 3.5. On the Java side things don’t look much better. The Java 9 module system reminds me too much of the generics erasure debacle. I hope someone will fork IKVM.NET and continue working on it. Although, I’d appreciate it if they’d pick another name. I’ve gotten so much criticism for the name over the years, that I’d like to hang on to it 😊 I’d like to thank the following people for helping me make this journey or making the journey so much fun: Brian Goetz, Chris Brumme, Chris Laffra, Dawid Weiss, Erik Meijer, Jb Evain, John Rose, Mads Torgersen, Mark Reinhold, Volker Berlin, Wayne Kovsky, The GNU Classpath Community, The Mono Community. And I want to especially thank my friend Miguel de Icaza for his guidance, support, inspiration and tireless efforts to promote IKVM. Thank you all and goodbye. [Less]
Posted over 8 years ago
[NOTE: This article talks about commercial products and contains links to them, I do not receive any money if you buy those tools, nor I work for or I am affiliated to any of those companies. The opinion expressed here are mine and the review is ... [More] subjective] This is my attempt at a review of Spitfire Audio BT Phobos. Before diving into the review, and since I know I will be critic particularly on some aspects, I think it’s fair to assess the plugin right away: BT Phobos is an awesome tool, make no mistakes. BT Phobos is a “polyconvolution” synthesiser. It is, in fact, the first “standalone” plugin produced by Spitfire Audio, which is one of the companies I respect the most when it comes to music production and sample based instruments. The term polyconvolution is used by the Spitfire Audio team to indicate the simultaneous use of three convolvers for four primary audio paths: you can send any amount of each of those four primary sources (numbered 1 to 4) outputs to each of the three convolution engines (named W, X and Y). Source material controls There is lot of flexibility in the mixing capabilities; there are, of course, separate dry/wet signal knobs that send a specific portion of the unprocessed source material to the “amplifier” module, control how much of the signal goes to the convolution circuits, and finally how much of each of the convolution engines applies to each of the source sound. This last bit is achieved by means of an interesting nabla shaped X/Y pad: by positioning the icon that represents the source module closer to a corner it’s possible activate just the convolution engine that represents that corner; for example, top left is the W engine, top right the X and bottom the Y. Manually moving the icon gradually introduces contributions from the other engines, and double clicking on the icon makes all convolvers contribute equally to the wet sound, by positioning them to the center of the nabla. The convolution mixer Finally, each convolver has a control that allows to change the output level of the convolution engine before it reaches its envelope shaper. Spitfire Audio has released a very interesting flow diagram that shows the signal path in detail, which is linked below for reference. BT Phobos signal path In addition to the controls just described, the main GUI has basic controls to tweak the source material with an ADSR envelope which is directly accessible below each of the main sound sources as well as the convolutions modules, but it’s possible to have access to more advanced settings by clicking on the number or the letter that identifies the module name. The advanced controls interface An example of such controls is the Hold parameter, which let the user adjust the time the sound is held at full level before entering the Decay phase of its envelope; another useful tool is the sampling and IR offset controls, which allow to tweak parameters like the starting point of the material or the quantisation and its Speed (the playback speed for the samples, and is a function of the host tempo); there is also a control to influence the general pitch of the sound; finally a simple but effective section is dedicated to filtering – although a proper EQ is missing – as well as panning and level adjustments. All those parameters are particularly important settings when using loops, but also contribute to shaping the sound with the pitched material, and can be randomised for interesting effects and artefacts generated from the entropy (you can just randomise the material selection only as opposed to all the parameters). Modulation is also present, of course, with various LFOs of various kind that can be used to modulate basically everything. You can access them either by clicking on the mappings toggle below the ADSR envelope of each section, or by using the advanced settings pages. The amount of tweaks that can be made to the material in both the source and the convolution engines is probably the most important aspect of BT Phobos, since it gives an excellent amount of freedom to create new sounds from what’s available, which is already a massive amount of content, and allows to build wildly different patches with a bit of work, but it’s definitely not straightforward and needs time to understand the combined effects that each setting has on the whole. Since the material is polyphonic, the Impulse Responses for the convolution are created on the fly, and in fact, one interesting characteristic of BT Phobos is that there is no difference between a material for the convolution engines and one for the source module,  both draw from the same pool of sounds. BT Phobos beautiful GUI There is a difference on the type of material though, where loop based samples are, well, looped (and tempo sync’ed), and their pitch does not change based on the key that triggers them (although you can still affect the general pitch of the sound with the advanced controls), “tonal” material are pitched and change following the midi notes. One note about the LFOs: the mappings are “per module”. In other words, it is possible to modulate almost every parameter inside a single module, be it one of the four input sources or one of the three convolution engines, but there seem to be no way to define a global mapping of some kind. For example, I found a very nice patch from Mr. Christian Henson (which incidentally made, at least in my opinion, the best and most balanced overall presets), and I noticed I could make it even more interesting by using the modulation wheel. I wanted to modulate the CC1 message with an LFO (in fact, ideally it would be even better to have access to a custom envelope, but BT Phobos doesn’t have any for modulation use), but I could not find a way to do that other than using Logic’s own Midi FX. I understand that MIDI signals are generated outside the scope of the plugin, but it would be fantastic to have the option of tweaking and modulate everything from within the synth itself. All the sources and convolvers can be assigned to separate parts of the keyboard by tweaking the mapper at the bottom of the GUI. It is not possible to map a sound to start from an offset in the keyboard controls – for example to play C1 on the keyboard but trigger C2, or any other note – but of course you can change the global pitch so this has effectively the same result, and as said before it can also be modulated with an LFO or via DAW automation, for more interesting effects. Keyboard mapping tool Indeed, the flexibility of the tool, and the number of options at disposal for tweaking the sounds are very impressive. Most patches are very nice and ready to be used as they are, and blend nicely with lots of disparate styles. Some patches are very specific though, and pose a challenge to be used. Generally, I would consider these as starting points for exploration, rather than “final”. When reading about BT Phobos in the weeks before its release many people asked whether you could add your own sound to it or not. It’s not possible, unfortunately. At first, I thought that wasn’t a limitation or a deal breaker. I still think it’s not a deal breaker, but I see the value added that BT Phobos has even just as a standalone synth, as opposed to recreate the same kind of signal path manually with external tools, to give your own content the “Phobos treatment”, which is something that is entirely possible of course, for example just with Alchemy and Space Designer (which are both included in MainStage, so you can get them for a staggering 30 euros if you are a Mac user, even if you don’t use Logic Pro X!), but of course, we would be trading away the immediacy that BT Phobos delivers. That, maybe, is my main criticism to this synth, and I hope Spitfire Audio turns BT Phobos into a fully fledged tool for sound design over time, maybe enabling access to spectral shaping in some form or another, so we can literally paint over (or paint away!) portions of the sound, which is something you can do with iZotope Iris or Alchemy and is a very powerful way to shape a sound and do sound design in general. Another thing that is missing is a sound effect module, although I don’t know how important that is, given that there are thousands of outstanding plugins that do all sort of effects from delay to chorus etc… And, in fact, many patches benefit for added reverb (I use Eventide Blackhole and found that works extremely well with BT Phobos, since it’s also prominently used for weird sound effects). But it may be interesting to play by putting some effects (including a more proper EQ section) in various places in the signal path, although it’s all too easy to generate total chaos from such experimentation, so it’s possible the Spitfire Audio simply thought to leave this option for another time and instead focus on a better overall experience. And there’s no arpeggiator! Really! The number of polyphonic voices can be altered. Spitfire Audio states that the synth tweaks the number of voices at startup to match the characteristics of your computer, but I can’t confirm that, since every change I do seems to remain, even if I occasionally hear some pop and cracks at higher settings. Nevertheless, the CPU usage is pretty decent unless you go absolutely crazy with the polyphony count. I also noted that the numbers effect the clarity of the sound. This is understandable since an higher count means more notes can be generated at the same time, which means more things are competing for the same spectrum, and things can become very confusing very quickly. On the other end, a lower polyphony count has a bad impact on how the notes are generated. I feel sometime that things just stop generating sound, which is counter intuitive and very disturbing, especially since it’s very easy to have a high polyphony count with all those sources and convolvers. Also to note is that, by nature, some patches have very wild difference in their envelopes and level settings, which means it’s all to easy to move from a quiet to a very loud patch just by clicking “next” (which is possible in Logic at least with the next/prev patch buttons on top of the plugin main frame). The synth does not stop the sound, nor does any attempt to fade from one sound to the next, instead, the convolutions simply keep working on the next sample in queue with the new settings! I still have to decide if this is cool or not, perhaps it’s not intentional, but I can see how this could be used to automate patch changes in some clever way during playback! And indeed, a was able to create a couple of interesting side effects just by changing between patches at the right time. More on the sounds. The amount of content is really staggering, and simply cycling through the patches does not make justice to this synth, at all! What BT Phobos wants is a user that spends time tweaking the patches and play with the source material to get the most out it, however it’s easy to see how limiting this may feel at the same time, particularly with the more esoteric and atonal sounds, and there’s certainly a limit on how good a wood stick convolved with an aluminium thin can may sound, so indeed some patches do feel repetitive at times, as the source material does. There are quite a few very similar drum loops for example, or various pitches “wind blowing into a pipe” kind of things. This is a problem common to other synths based on the idea of tweaking sounds from the environment, though. For example, I have the amazing Geosonics from Soniccouture, which is an almost unusable library that, once tweaked, is capable of amazing awesomeness. Clearly, the authors of both synths – but this is especially valid for BT Phobos I think – are looking at an audience that is capable of listening through the detuned and dissonant sound waves and shape a new form of music. This is probably the reason why so many of the pre assembled patches dive the user full speed into total sound design territory; however, and this is another important point of criticism, this is sound design that has already been done for you… A lot of the BT patches, in particular, are clearly BT patches, using them as they are means you are simply redoing something that has already been done before, and, despite with a very experimental feeling still strongly present, it’s not totally unheard or new. For example, I also happen to have Break Tweaker and Stutter Edit (tools that also originally come from BT), and I could not resist to the temptation to play something that resembles BT work on “This Binary Universe” or “_” (fantastic albums)! While this seems exciting – BT in a box! And you can also see the democratising aspect of BT Phobos, I can do that in half hour instead of six months of manual CSound programming! – it’s an unfortunate and artificial limitation on a tool that is otherwise a very powerful enabler, capable of bringing complex sound design one step closer to the general public. Having the ability to process your own sounds would mitigate this aspect I think. I do see how this is useful for a composer in need of a quick solution for an approaching deadline even with the most experimental tones, though: those patches can resolve a deadlock or take you out of an impasse in a second. The potential for BT Phobos to become a must have tool for sound design are all there, especially if Spitfire Audio keeps adding content, perhaps more varied (and even better, allow to load your own content). The ability to shape the existing sounds already make it very usable. I don’t think it’s a general tool at this stage, though, and definitely it should not be the first synth or sound shaping processor in your arsenal, especially if you are starting out now. But it’s not just a one trick pony either, it does offer you quite a lot of possibilities, and the more you work on that, the more addictive it becomes, and I can see Spitfire Audio offering soon this synth within a collection comprising of some of their more experimental stuff like LCO and Enigma, which would be very nice, indeed. It’s unfortunate that Spitfire Audio does not offer an evaluation period: contrary to most of their offering, BT Phobos needs time to be fully grasped and it’s all but immediate (well, unless you are happy with the default patches or you really just need to “get out of troubles” quickly, but be careful with that because the tax is on the originality), but it can, and does, evolve, as its convolutions do, over time and it can absolutely deliver total awesomeness if used correctly. Most patches are also usable out of the box, and especially by adding some reverb or doing some post processing with other tools, it’s possible to squeeze even more life out of them. Overall, I do recommend BT Phobos, is a wonderful, very addictive synthesiser. [Less]
Posted over 8 years ago
[NOTE: This article talks about commercial products and contains links to them, I do not receive any money if you buy those tools, nor I work for or I am affiliated to any of those companies. The opinion expressed here are mine and the review is ... [More] subjective] This is my attempt at a review of Spitfire Audio BT Phobos. Before diving into the review, and since I know I will be critic particularly on some aspects, I think it’s fair to assess the plugin right away: BT Phobos is an awesome tool, make no mistakes. BT Phobos is a “polyconvolution” synthesiser. It is, in fact, the first “standalone” plugin produced by Spitfire Audio, which is one of the companies I respect the most when it comes to music production and sample based instruments. The term polyconvolution is used by the Spitfire Audio team to indicate the simultaneous use of three convolvers for four primary audio paths: you can send any amount of each of those four primary sources (numbered 1 to 4) outputs to each of the three convolution engines (named W, X and Y). Source material controls There is lot of flexibility in the mixing capabilities; there are, of course, separate dry/wet signal knobs that send a specific portion of the unprocessed source material to the “amplifier” module, control how much of the signal goes to the convolution circuits, and finally how much of each of the convolution engines applies to each of the source sound. This last bit is achieved by means of an interesting nabla shaped X/Y pad: by positioning the icon that represents the source module closer to a corner it’s possible activate just the convolution engine that represents that corner; for example, top left is the W engine, top right the X and bottom the Y. Manually moving the icon gradually introduces contributions from the other engines, and double clicking on the icon makes all convolvers contribute equally to the wet sound, by positioning them to the center of the nabla. The convolution mixer Finally, each convolver has a control that allows to change the output level of the convolution engine before it reaches its envelope shaper. Spitfire Audio has released a very interesting flow diagram that shows the signal path in detail, which is linked below for reference. BT Phobos signal path In addition to the controls just described, the main GUI has basic controls to tweak the source material with an ADSR envelope which is directly accessible below each of the main sound sources as well as the convolutions modules, but it’s possible to have access to more advanced settings by clicking on the number or the letter that identifies the module name. The advanced controls interface An example of such controls is the Hold parameter, which let the user adjust the time the sound is held at full level before entering the Decay phase of its envelope; another useful tool is the sampling and IR offset controls, which allow to tweak parameters like the starting point of the material or the quantisation and its Speed (the playback speed for the samples, and is a function of the host tempo); there is also a control to influence the general pitch of the sound; finally a simple but effective section is dedicated to filtering – although a proper EQ is missing – as well as panning and level adjustments. All those parameters are particularly important settings when using loops, but also contribute to shaping the sound with the pitched material, and can be randomised for interesting effects and artefacts generated from the entropy (you can just randomise the material selection only as opposed to all the parameters). Modulation is also present, of course, with various LFOs of various kind that can be used to modulate basically everything. You can access them either by clicking on the mappings toggle below the ADSR envelope of each section, or by using the advanced settings pages. The amount of tweaks that can be made to the material in both the source and the convolution engines is probably the most important aspect of BT Phobos, since it gives an excellent amount of freedom to create new sounds from what’s available, which is already a massive amount of content, and allows to build wildly different patches with a bit of work, but it’s definitely not straightforward and needs time to understand the combined effects that each setting has on the whole. Since the material is polyphonic, the Impulse Responses for the convolution are created on the fly, and in fact, one interesting characteristic of BT Phobos is that there is no difference between a material for the convolution engines and one for the source module,  both draw from the same pool of sounds. BT Phobos beautiful GUI There is a difference on the type of material though, where loop based samples are, well, looped (and tempo sync’ed), and their pitch does not change based on the key that triggers them (although you can still affect the general pitch of the sound with the advanced controls), “tonal” material are pitched and change following the midi notes. One note about the LFOs: the mappings are “per module”. In other words, it is possible to modulate almost every parameter inside a single module, be it one of the four input sources or one of the three convolution engines, but there seem to be no way to define a global mapping of some kind. For example, I found a very nice patch from Mr. Christian Henson (which incidentally made, at least in my opinion, the best and most balanced overall presets), and I noticed I could make it even more interesting by using the modulation wheel. I wanted to modulate the CC1 message with an LFO (in fact, ideally it would be even better to have access to a custom envelope, but BT Phobos doesn’t have any for modulation use), but I could not find a way to do that other than using Logic’s own Midi FX. I understand that MIDI signals are generated outside the scope of the plugin, but it would be fantastic to have the option of tweaking and modulate everything from within the synth itself. All the sources and convolvers can be assigned to separate parts of the keyboard by tweaking the mapper at the bottom of the GUI. It is not possible to map a sound to start from an offset in the keyboard controls – for example to play C1 on the keyboard but trigger C2, or any other note – but of course you can change the global pitch so this has effectively the same result, and as said before it can also be modulated with an LFO or via DAW automation, for more interesting effects. Keyboard mapping tool Indeed, the flexibility of the tool, and the number of options at disposal for tweaking the sounds are very impressive. Most patches are very nice and ready to be used as they are, and blend nicely with lots of disparate styles. Some patches are very specific though, and pose a challenge to be used. Generally, I would consider these as starting points for exploration, rather than “final”. When reading about BT Phobos in the weeks before its release many people asked whether you could add your own sound to it or not. It’s not possible, unfortunately. At first, I thought that wasn’t a limitation or a deal breaker. I still think it’s not a deal breaker, but I see the value added that BT Phobos has even just as a standalone synth, as opposed to recreate the same kind of signal path manually with external tools, to give your own content the “Phobos treatment”, which is something that is entirely possible of course, for example just with Alchemy and Space Designer (which are both included in MainStage, so you can get them for a staggering 30 euros if you are a Mac user, even if you don’t use Logic Pro X!), but of course, we would be trading away the immediacy that BT Phobos delivers. That, maybe, is my main criticism to this synth, and I hope Spitfire Audio turns BT Phobos into a fully fledged tool for sound design over time, maybe enabling access to spectral shaping in some form or another, so we can literally paint over (or paint away!) portions of the sound, which is something you can do with iZotope Iris or Alchemy and is a very powerful way to shape a sound and do sound design in general. Another thing that is missing is a sound effect module, although I don’t know how important that is, given that there are thousands of outstanding plugins that do all sort of effects from delay to chorus etc… And, in fact, many patches benefit for added reverb (I use Eventide Blackhole and found that works extremely well with BT Phobos, since it’s also prominently used for weird sound effects). But it may be interesting to play by putting some effects (including a more proper EQ section) in various places in the signal path, although it’s all too easy to generate total chaos from such experimentation, so it’s possible the Spitfire Audio simply thought to leave this option for another time and instead focus on a better overall experience. And there’s no arpeggiator! Really! The number of polyphonic voices can be altered. Spitfire Audio states that the synth tweaks the number of voices at startup to match the characteristics of your computer, but I can’t confirm that, since every change I do seems to remain, even if I occasionally hear some pop and cracks at higher settings. Nevertheless, the CPU usage is pretty decent unless you go absolutely crazy with the polyphony count. I also noted that the numbers effect the clarity of the sound. This is understandable since an higher count means more notes can be generated at the same time, which means more things are competing for the same spectrum, and things can become very confusing very quickly. On the other end, a lower polyphony count has a bad impact on how the notes are generated. I feel sometime that things just stop generating sound, which is counter intuitive and very disturbing, especially since it’s very easy to have a high polyphony count with all those sources and convolvers. Also to note is that, by nature, some patches have very wild difference in their envelopes and level settings, which means it’s all to easy to move from a quiet to a very loud patch just by clicking “next” (which is possible in Logic at least with the next/prev patch buttons on top of the plugin main frame). The synth does not stop the sound, nor does any attempt to fade from one sound to the next, instead, the convolutions simply keep working on the next sample in queue with the new settings! I still have to decide if this is cool or not, perhaps it’s not intentional, but I can see how this could be used to automate patch changes in some clever way during playback! And indeed, a was able to create a couple of interesting side effects just by changing between patches at the right time. More on the sounds. The amount of content is really staggering, and simply cycling through the patches does not make justice to this synth, at all! What BT Phobos wants is a user that spends time tweaking the patches and play with the source material to get the most out it, however it’s easy to see how limiting this may feel at the same time, particularly with the more esoteric and atonal sounds, and there’s certainly a limit on how good a wood stick convolved with an aluminium thin can may sound, so indeed some patches do feel repetitive at times, as the source material does. There are quite a few very similar drum loops for example, or various pitches “wind blowing into a pipe” kind of things. This is a problem common to other synths based on the idea of tweaking sounds from the environment, though. For example, I have the amazing Geosonics from Soniccouture, which is an almost unusable library that, once tweaked, is capable of amazing awesomeness. Clearly, the authors of both synths – but this is especially valid for BT Phobos I think – are looking at an audience that is capable of listening through the detuned and dissonant sound waves and shape a new form of music. This is probably the reason why so many of the pre assembled patches dive the user full speed into total sound design territory; however, and this is another important point of criticism, this is sound design that has already been done for you… A lot of the BT patches, in particular, are clearly BT patches, using them as they are means you are simply redoing something that has already been done before, and, despite with a very experimental feeling still strongly present, it’s not totally unheard or new. For example, I also happen to have Break Tweaker and Stutter Edit (tools that also originally come from BT), and I could not resist to the temptation to play something that resembles BT work on “This Binary Universe” or “_” (fantastic albums)! While this seems exciting – BT in a box! And you can also see the democratising aspect of BT Phobos, I can do that in half hour instead of six months of manual CSound programming! – it’s an unfortunate and artificial limitation on a tool that is otherwise a very powerful enabler, capable of bringing complex sound design one step closer to the general public. Having the ability to process your own sounds would mitigate this aspect I think. I do see how this is useful for a composer in need of a quick solution for an approaching deadline even with the most experimental tones, though: those patches can resolve a deadlock or take you out of an impasse in a second. The potential for BT Phobos to become a must have tool for sound design are all there, especially if Spitfire Audio keeps adding content, perhaps more varied (and even better, allow to load your own content). The ability to shape the existing sounds already make it very usable. I don’t think it’s a general tool at this stage, though, and definitely it should not be the first synth or sound shaping processor in your arsenal, especially if you are starting out now. But it’s not just a one trick pony either, it does offer you quite a lot of possibilities, and the more you work on that, the more addictive it becomes, and I can see Spitfire Audio offering soon this synth within a collection comprising of some of their more experimental stuff like LCO and Enigma, which would be very nice, indeed. It’s unfortunate that Spitfire Audio does not offer an evaluation period: contrary to most of their offering, BT Phobos needs time to be fully grasped and it’s all but immediate (well, unless you are happy with the default patches or you really just need to “get out of troubles” quickly, but be careful with that because the tax is on the originality), but it can, and does, evolve, as its convolutions do, over time and it can absolutely deliver total awesomeness if used correctly. Most patches are also usable out of the box, and especially by adding some reverb or doing some post processing with other tools, it’s possible to squeeze even more life out of them. Overall, I do recommend BT Phobos, is a wonderful, very addictive synthesiser. [Less]