6.1.1 Release Notes

JBoss Enterprise Application Platform 6.1

New Features, Known Issues, and Support Information for Red Hat JBoss Enterprise Application Platform 6.1.1

Darrin Mison

Red Hat Engineering Content Services

Abstract

These release notes contain important information related to Red Hat JBoss Enterprise Application Platform 6.1.1. Known problems, additional resources, and other current issues are addressed here.
The changes documented in these release notes are relative to the previous release, 6.1.0.

1. Overview

Red Hat JBoss Enterprise Application Platform 6 is Red Hat's response to significant changes in the way organizations develop and deploy enterprise applications. As organizations seek to lower operational costs and reduce time to market for new applications, JBoss Enterprise Application Platform 6 has been rebuilt for a vision of the future, boasting an innovative modular, cloudy-ready architecture, powerful management and automation, and world class developer productivity.
Red Hat JBoss Enterprise Application Platform 6 is Java EE 6 certified and features powerful yet flexible management, improved performance and scalability, and many new features to improve developer productivity. All with Red Hat's market-leading reputation for certification and support, ensuring your administration and development needs continue to drive forward into the future and beyond.

2. Frequently Asked Questions

Q: What has changed in this release?
Q: Where's the rest of the documentation?
Q: Where are the upgrade instructions ?
Q: What operating systems, Java Virtual Machines, and database servers is this product supported on?
Q: Is the included H2 database supported in production?
Q: What industry standards does JBoss EAP 6.1.1 support?
Q: What issues might I encounter when migrating to this release?
Q: What components are included in this release and what version are they?
Q: What Technology Previews are included in this release?
Q: Where can I find out more details about my support contract ?
Q: I found a mistake in this document. How do I report it?
Q:
What has changed in this release?
A:
JBoss EAP 6.1.1 includes many improvements and fixes. For specific details refer to Section 7, “Changes in this release”.
Q:
Where's the rest of the documentation?
A:
The full JBoss EAP 6.1 documentation suite can be found at https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
Q:
Where are the upgrade instructions ?
A:
The upgrade instructions can be found in the Installation Guide. Refer to the documentation suite at https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
Q:
What operating systems, Java Virtual Machines, and database servers is this product supported on?
A:
Refer to https://access.redhat.com/site/articles/111663 for a complete list of the operating system, Java Virtual Machine, database server and JDBC driver combinations that have been tested and verified with JBoss EAP 6.1.1.
Q:
Is the included H2 database supported in production?
A:
No. The H2 database is included only for evaluation, testing and demonstration purposes. It is not a supported configuration for a production environment. Refer to https://access.redhat.com/site/solutions/148633 for additional information.
Q:
What industry standards does JBoss EAP 6.1.1 support?
A:
Refer to https://access.redhat.com/site/articles/113373 for a complete list of supported specifications and standards.
Q:
What issues might I encounter when migrating to this release?
A:
Refer to Section 7, “Changes in this release” to learn about the differences between this release of JBoss EAP and previous releases that may cause difficulties when migrating your applications to this version.
Q:
What components are included in this release and what version are they?
A:
Refer to https://access.redhat.com/site/articles/112673 for a complete list of the included components.
Q:
What Technology Previews are included in this release?
A:
JBoss EAP 6.1.1 includes a number of Technology Preview features. Technology Preview features are not supported, may not be functionally complete, and are not intended for production use. They are included to provide customers with early access to upcoming product innovations, enabling them to test functionality and provide feedback during the development process.
Refer to Section 4, “Features Provided as Tech Preview Only” for a complete list of Technology Preview features in this release.
Q:
Where can I find out more details about my support contract ?
A:
Details of support policies are located at the following URLs:
Support Processes
Production Support Scope of Coverage
Production Support Service Level Agreement
Developer Support Scope of Coverage
Developer Support Service Level Agreement
Product Update and Support Policy by Product
JBoss End User License Agreement
Q:
I found a mistake in this document. How do I report it?
A:
To provide feedback on this document, file a bug at https://bugzilla.redhat.com and specify the product JBoss Enterprise Application Platform, version 6.1.1, and component documentation-6.1.1_Release_Notes.

3. New Features

The following new features have been added in Red Hat JBoss Enterprise Application Platform 6.1.1.

4. Features Provided as Tech Preview Only

The following configurations and features are known to have issues and are provided as tech previews only. They are not supported in a production environment.
HornetQ discovery via JGroups
HornetQ now offers dynamic discovery of server connection settings via UDP and JGroups.
WS-Trust/STS with JBoss Web Services
JBoss Web Services now exposes WS-Trust/STS capabilities from the underlying CXF implementation.
JBoss CLI Silent Mode
A 'Silent Mode' has been added to the CommandContext API for processes embedding the CLI.
Adding Modules with JBoss CLI
The CLI offers a new commands to add and remove modules.
Syslog Handler Configuration
EAP now provides a handler and configuration for the syslog protocol.
New Hibernate Batch Loading Algorithms
Hibernate has added two batch loading algorithms to the existing Legacy algorithm, Dynamic and Padded.
Hibernate - Improved Second Level Caching of Object References for Non-Mutable Data
Hibernate - Improved and Expanded Bytecode Enhancement Support
WS-AT/XA Bridge
The WS-AT/XA transaction bridge functionality is provided as a technology preview only, and is not supported in a production environment.
RestEasy validation with the Hibernate Validator
RestEasy now delivers a validation provider to support the Hibernate Validator delivered with JBoss EAP 6.
Restored ServiceMBean helper classes
Module org.jboss.as.system-jmx has been introduced to restore helper classes available in earlier versions of JBoss EAP 6 that assist users in creating MBeans.
Multi-JSF
This feature enables a user to replace the JSF implementation provided with EAP with a user supplied JSF implementation.
JDBC Store for Transactions
JBoss Transactions can now be configured to use a JDBC database as its store. This is enabled in the Transactions Subsystem by setting the following two attributes using the CLI tool.
  1. Set use-jdbc-store to true.
    /subsystem=transactions:write-attribute(name=use-jdbc-store, value=true)
  2. Set jdbc-store-datasource to the JNDI name for the data source to use.
    /subsystem=transactions:write-attribute(name=jdbc-store-datasource, value=java:jboss/datasources/TransDS)
The complete set of attributes is provided below.

Table 1. Transactions JDBC Store Properties

Property Description

use-jdbc-store

Set this to "true" to enable the JDBC store for transactions.

jdbc-store-datasource

The JNDI name of the JDBC datasource used for storage.

jdbc-action-store-drop-table

Drop and recreate the action store tables at launch. Optional, defaults to "false".

jdbc-action-store-table-prefix

The prefix for the action store table names. Optional.

jdbc-communication-store-drop-table

Drop and recreate the communication store tables at launch. Optional, defaults to "false".

jdbc-communication-store-table-prefix

The prefix for the communication store table names. Optional.

jdbc-state-store-drop-table

Drop and recreate the state store tables at launch. Optional, defaults to "false".

jdbc-state-store-table-prefix

The prefix for the state store table names. Optional.

5. Unsupported Features

Some configurations that worked for JBoss Enterprise Application Platform 5 are no longer supported. Please review them.
Infinispan API
The direct use of the Infinispan API is not supported in JBoss EAP 6. Infinispan is used as an implementation detail for various clustering technologies internal to JBoss Enterprise Application Platform. The API's module.xml incorrectly indicates that direct use is possible, even though this is not the case. This will be fixed in a future release. Direct use of the Infinispan API requires a subscription to JBoss Data Grid.
IPv6 Limitations of JDK 6
The following IPv6 limitations are caused by JDK 6, and are not defects in JBoss EAP 6.
  1. On Microsoft Windows Server, JDK 6 has only a partial IPv6 implementation. This implementation is not sufficient to run JBoss EAP 6. Full IPv6 support on Microsoft Windows Server requires JDK 7.
  2. On Red Hat Enterprise Linux, a bug in Oracle JDK 6 means that any address specified on a client (the network point establishing the connection) which contains a zone-id will fail. To use a zone-id, either upgrade to JDK 7, or use IcedTea/OpenJDK 6, which is available for Red Hat Enterprise Linux, and does not exhibit this bug. For more information about the bug, refer to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6800096 and https://issues.jboss.org/browse/JBPAPP-8833.
JPA 2.0 Context Propagation Outside of a JTA Transaction
The propagation of Extended Persistence Contexts (XPC) was not taking into account the existence of a transaction, with the XPC always being propagated. That behaviour is not in accordance with the JPA 2.0 specification. The handling of XPC has been modified so that when there is no transaction active the XPC's propagation is ignored and the bean being invoked has its own Persistence Context instead of the XPC.
If your application expects extended persistence contexts to be propagated outside of JTA transactions, you need to consider if your application needs to be modified. Refer to the Red Hat JBoss Enterprise Application Platform 6 Migration Guide for instructions on updating your application.
JBoss Enterprise Application Platform 5 provided a system property (JBPAPP-923.alwaysPropagate) to enable this behaviour. This system property is not available in JBoss EAP 6.
For more information about this decision, refer to https://issues.jboss.org/browse/AS7-1663.
PicketLink IDM
The PicketLink IDM (Identity Management) is not supported in JBoss EAP 6.
PicketLink STS
PicketLink STS (Security Token Service) is not supported in JBoss EAP 6.
Tanuki Service Wrapper
The Tanuki Service Wrapper is not supported with JBoss EAP 6. More information can be found at https://issues.jboss.org/browse/JBPAPP-8651.
XA Recovery on Microsoft SQL Server 2008
XA recovery does not work with Microsoft SQL Server 2008 R1. This features does work with Microsoft SQL Server 2008 R2 SP2. For more information refer to the following URLs:
XA Recovery on MySQL
The MySQL JDBC driver does not implement XA recovery properly. For more information refer to https://issues.jboss.org/browse/JBPAPP-2576.
JBoss OSGi
JBoss OSGi, an implementation of the OSGi specification, has been demoted from Technology Preview to Unsupported. For additional information refer to https://access.redhat.com/site/solutions/362814.

6. Components

The JBoss EAP 6 component matrix is available at the following location: https://access.redhat.com/knowledge/articles/112673.

7. Changes in this release

7.1. Bug Fixes

Apache Server (httpd) and Connectors

987851 - Multiple Issues with OCSP

Build

983322 - org.apache.commons.configuration missing dependency on org.apache.commons.beanutils

In previous versions of Red Hat JBoss Enterprise Application Platform 6, the org.apache.commons.configuration module did not declare a dependency on the org.apache.commons.beanutils module. This caused a Configuration class to throw a ClassNotFoundException due to a missing BeanUtils class when certain code paths were used. This release of the product has the dependency added to org.apache.commons.configuration so the code no longer throws a ClassNotFoundException.
979284 - EAP-6.1 Maven repository contains wrong jcip-annotations-1.0-redhat-3.pom

Some users encountered dependency resolution problems with the IVY dependency manager in a previous version of Red Hat JBoss Enterprise Application Platform 6.

The issue was traced to an incorrect artifact reference in the /JBOSS_HOME/net/jcip/jcip-annotations/1.0-redhat-3/jcip-annotations-1.0-redhat-3.pom file.

This error has been corrected and the affected dependencies resolve as expected.

CLI

961425 - EAP 6.1 CLI script usage breaks on last new line

A bug in the Aesh (Another Extendable Shell) component was causing Aesh to not parse data chunks correctly. If the last byte of data was a new line (and the preceding data had contained newlines) it would be swallowed and not parsed.

This problem was found to be causing users' custom CLI scripts to fail.

The Aesh bug has been fixed and user scripts now function as they did with earlier versions of Red Hat JBoss Enterprise Application Platform 6.

Consoles

910718 - Console should react properly to loss of connection

The Web Management Interface used in Red Hat JBoss Enterprise Application Platform 6 is a Google Web Toolkit (GWT) application and, as such, uses GWT deferred binding to load application components on demand. In some cases the deferred loading failed and would freeze the overall application with no indication about the source of the problem.

In this release, proper error handling for the deferred binding has been introduced.

Now, in the event of a problem when loading application compoments on demand, the exceptions are handled gracefully and the web console remains accessible.
908664 - Failover Shutdown property is deprecated for Bridges

In previous versions of Red Hat JBoss Enterprise Application Platform 6, the option to set the FAILOVER_ON_SERVER_SHUTDOWN property of the the HornetQ subsystem was available via the console even though the property had been marked for deprecation and attempts to set it were ignored. The option has been removed from the console in this release of the product.

Domain Management

960497 - 'whoami' operation unexpectedly requires the domain wide configuration lock

In previous versions of Red Hat JBoss Enterprise Application Platform 6 the metadata for the whoami operation was not marked as read-only. This meant that executing the operation would acquire a domain wide write lock. This could adversely affect the execution of other tasks and, in some cases, lead to an Out of Memory error. This release of the product corrects this behavior by setting a read-only flag on the whoami metadata. This allows other operations to function as expected.
968815 - Cannot remove jgroups subsystem from CLI by saying "JBAS014807: Management resource ... not found"

In previous versions of Red Hat JBoss Enterprise Application Platform 6 a path included in JGroupsSubsystemRemove was formatted without an element to define the server’s profile.

In a standalone environment this did not cause a problem. In domain mode, however, this oversight caused an error when attempting to remove the JGroups subsystem using the command:

[domain@localhost:9999 /] /profile=test/subsystem=jgroups:remove()

This command would produce the following error: "JBAS014807: Management resource [(\"subsystem\" ⇒ \"jgroups\")] not found"

This version of Red Hat JBoss Enterprise Application Platform 6 includes the missing profile element in the PathAddress and users are now able to remove the JGroups subsystem using the CLI command above.

EE

978603 - Possible race in jboss-invocation proxies resulting in NPE in initializer

In previous versions of Red Hat JBoss Enterprise Application Platform 6 the jboss-invocation was using a ThreadLocal to pass information into the proxies static initializer. As a result, there was a very short window where if a second thread attempted to use the proxy immediately after it had been defined this second thread would call the static initializer, and the ThreadLocal data that the initializer was expecting would not be present, resulting in a NullPointerException.

This behavior has been corrected in this release of the product and the NPE will no longer be encountered.

EJB

956227 - java.lang.ArrayIndexOutOfBoundsException

There was an issue in previous versions of JBoss EAP 6 when calling an EJB on a remote server where the node identifier was longer than 9 characters. This resulted in an ArrayIndexOutOfBoundsException being thrown.

This issue was fixed in the EJB client library so that it now properly constructs an Xid while parsing the node identifier. As a result, calls to an EJB on a remote server should no longer throw exceptions caused by a long node identifier.
910193 - ejb timer service creates empty directories for all ejbs including those without timers

In previous versions of Red Hat JBoss Enterprise Application Platform 6, it was found that the EJB timer service was being created for every bean that was eligible to have a timer service, rather than being limited to beans actually using a timer. As a result the service would create unnecessary directories to store timer data when the service started.

This issue has been resolved and a timer service is now only started for beans that have timeout or schedule methods. Other EJBs use a non-functional timer service that can still be looked up in JNDI (as per the Java EE specification) but does not schedule timers (as the EJB does not have a timeout method).
909804 - Client Locally transmitted context data is not received by EJB

In previous versions of Red Hat JBoss Enterprise Application Platform 6 a bug presented when an invocation was done on a remote EJB interface of a bean that was deployed on the same server instance as the calling client with the "LocalEJBReceiver" used to handle that invocation. If an EJB client interceptor was used in these instances to pass along certain invocation data that data was never propagated to the target EJB or any of the (server side) interceptors that are applicable for that EJB invocation. This release of the product includes a patch that resolves this issue and all data is now propagated correctly.
950864 - Sporadiacal a NullPointerException is thrown if a SFSB is removed
983324 - Seeing ConcurrentModificationException in EJBClientContext on start up.
981174 - javax.transaction.xa.XAException thrown when using JTS transactions
959236 - Remote calls of a SLSB marked as @Clustered is hanging for the first invocation

There was an issue in JBoss EAP 6 where a client could potentially hang when interacting with a clustered server for EJB invocations.

This issue could occur while a server was constructing an EJBClientContext, as it would send a cluster topology to a client in one thread, whilst in another thread continuing to construct the EJBClientContext. This situation may have created a deadlock, resulting in a client hang, and after the client was terminated, the shutdown of the server would also hang.

This issue was fixed in the EJBClientContext library by ensuring that the internal implementation code path does not lead to such a deadlock.

Hibernate

981720 - Upgrade to Hibernate 4.2.0.SP1

HornetQ

959789 - HQ core bridge does not failover

In previous versions of JBoss EAP 6, a HornetQ core bridge server would not properly failover to a backup HornetQ server when the primary HornetQ server became unavailable. This issue occurred because the HornetQ core bridge server would attempt to reconnect to any other server node, rather than the correct backup HornetQ server.

This issue has been fixed in this release of JBoss EAP 6, and a HornetQ core bridge server will now always retry to connect to the backup HornetQ server when the primary HornetQ server becomes unavailable.
963215 - JMS bridge does not failover
986362 - Inflow XA transaction recovery fails due to ironjacamar calling unsupported method in HornetQResourceAdapter

There was an issue in JBoss EAP 6 where during the recovery of HornetQ transactions, the transaction manager would output error messages to the log, although the transactions would still be finished correctly.

This would occur because the JCA Adapter (IronJacamar) will request the MDB Resource Adpater for inflow XIDs. HornetQ self-registers itself on the transaction manager, and as a result HornetQ would throw an exception what would confuse IronJacamar’s recovery mechanism.

As a result, ignorable warnings on the transaction manager were produced, for example:
ERROR [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryInflowImpl] (Periodic Recovery) IJ000902: Error
during inflow crash recovery for 'org.hornetq.ra.HornetQResourceAdapter'
(org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@4f02d3d2
destination=jms/queue/InQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null
maxSession=15)): javax.resource.ResourceException: Unsupported
    at org.hornetq.ra.HornetQResourceAdapter.getXAResources(HornetQResourceAdapter.java:204)

This issue was fixed by not returning an empty Array to IronJacamar instead of throwing an Unsupported exception. As a result, there will no longer be ignorable warnings and transactions will still finish through the transaction manager’s recovery.
991049 - Incorrect log level is used for XAException when TX recovery happens

Installer

977736 - Appclient starting script and configuration file shouldn't be installed withoud appclient

When using the installer for JBoss EAP 6, if the
AppClient+ check box on the Pack Installation screen was cleared, AppClient files would still be installed.

This issue with the installer has been fixed in this release of JBoss EAP 6 so that AppClient files will only be installed if the
AppClient+ check box is selected.
977717 - Key shortcuts with Alt are not working for some languages

In previous versions of the JBoss EAP 6 installer there existed an issue where the keyboard shortcuts for buttons would not work for some languages.

This happened where the starting letter for the button’s label, which was indicated as a keyboard shortcut, was the same as another.

For example: The Spanish button for
Next is
Siguiente , and
Cancel is
Salir . Both Spanish buttons would be displayed with an underlined S, indicating a keyboard combination of
Alt+S . However that keyboard combination would only the trigger
Salir ( Cancel ) button, and there would be no keyboard combination that would trigger the
Siguiente ( Next) button.

In this release of JBoss EAP 6, all buttons displayed on each step of the installer now have a unique underlined letter, indicating the functioning keyboard shortcut.
977822 - There is no option to install natives on HP-UX

When running the text-based installer on Hewlett-Packard HP-UX with a 64-bit JVM, the native components were not offered as an installation option, preventing their installation by this method. The cause of the problem was that a reference to the HP-UX 64-bit native components was missing from one of the installer’s configuration files. This issue has now been resolved and the text-based installer now offers the native components as an installation option when using either a 32-bit or 64-bit JVM.

JCA

976294 - regression: using a ResourceAdaptor (rar) which has properties that use primitives as arguments will fail to deploy

In previous versions of JBoss EAP 6 there was an issue when using a resource adapter that had properties which used primitive data types as arguments.

This issue would cause the resource adapter to fail to deploy, with the log file containing messages relating to the attributes of the resource adapter not being set.

In this version of JBoss EAP 6, this issue has been fixed by using data type introspection to check the attributes, including primitive data types.

Resource adapters should no longer fail to deploy as a result of having primitive data types as arguments.
913804 - LogWriter of ManagedConnectionFactory outputs nothing to stdout

In previous versions of JBoss EAP 6 a PrintWriter object that passed through the setLogWriter method of a ManagedConnectionFactory would not output any log messages to standard output (stdout).

This was caused because the PrintWriter within the AbstractResourceAdapterDeploymentService class was not set to autoflush, and this has been fixed in this release.

Output messages of a PrintWriter object set by the setLogWriter method of a ManagedConnectionFactory now appear in stdout.
980920 - ResourceAdapter instances not registered for inflow crash recovery

In previous versions of JBoss EAP 6, resource adapters were not being registered for inflow crash recovery. As a result, XA recovery would not be performed on inflow resource adapters, and may have caused an inconsistent state following a server crash.

In this release of JBoss EAP 6, inflow resource adapters are now registered for crash recovery when they are activated. As a result, a consistent state for inflow resource adapters is maintained in the event of a server crash.

Logging

969530 - ClassCastException when JBoss LogManager is initialized before the logging subsystem expects

If the JBoss LogManager was added to the boot classpath, for example for custom Java agents (e.g. Introscope or JMX agent), the JBoss LogManager would be bootstrapped using the default configurator, rather than using the logging subsystem’s own configurator.

As the logging subsystem assumed that its own configurator would be used, this resulted in the JBoss EAP 6 failing to start, displaying the following error:
ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 5) JBAS014612: Operation ("add") failed - address: ([
    ("subsystem" => "logging"),
    ("console-handler" => "CONSOLE")
]): java.lang.ClassCastException: org.jboss.logmanager.PropertyConfigurator cannot be cast to org.jboss.as.logging.logmanager.ConfigurationPersistence
...

This issue has been fixed in this release of JBoss EAP 6, so that the the logging subsystem no longer assumes that its own configurator is used. If the logging subsystem’s own configurator is not used, it replaces the original configurator (usually the default configurator).

As a result of this fix, custom Java agents can now be used without affecting how the JBoss LogManager is initially configured.
971190 - log4j appenders force initialization of the appender/handler on reboot

In previous versions of JBoss EAP 6 , when a custom Apache log4j appender was added, the manually configured appender’s class name was incorrectly compared to the included class name during bootstrapping.

This issue resulted in the custom handler being reconfigured during every reboot of the JBoss EAP 6 instance. This issue may have affected configurations which used a FileAppender that was not set to append, resulting in overwritten log files.

This issue was fixed by wrapping the log4j appender in a java.util.logging.Handler named org.jboss.as.logging.logmanager.Log4jAppenderHandler, and properly checking the class name with the appender’s class name from the handler.

As a result, if the checks match, a custom log4j appender handler is not reconfigured during every reboot of the JBoss EAP 6 instance.
975557 - Syslog Handler: Message length is not calculated correctly for multi-byte characters

There existed an issue in previous versions of JBoss EAP 6 where the syslog handler would incorrectly calculate a message length as the number of characters in the message, rather than correctly as the total number of bytes.

If a syslog message contained any characters that were more than one byte in length, for example characters with umlauts, an invalid message length would be sent. As a result of this issue, some log messages contained invalid or missing characters.

In this version of JBoss EAP 6, the syslog handler has been updated and now calculates syslog message lengths correctly. There should no longer be any invalid or missing characters recorded by the syslog handler as a result of invalid message lengths.
975559 - Handler rollback gets null instance reference if prepare are invoked

In previous versions of JBoss EAP 6, a rollback of a composite operation to remove and re-add an Apache log4j appender would fail if the appender’s name was staying the same. The rollback of the composite operation would fail because the reference to the previous log4j appender would have already been removed.

This issue was fixed by not validating whether the reference to the log4j appender exists, as it may be created later.

As a result of this fix, no errors should be seen when a composite operation to remove and re-add an Apache log4j appender is rolled back.
981544 - PeriodicRotatingFileHandler does not roll the File on 12AM but 12PM

A bug was found in previous versions of Red Hat JBoss Enterprise Application Platform 6 that caused the LogManager to not rotate the log file the day after a restart. The bug presented if the server was restarted in the PM hour range. It was caused by the LogManager not correctly handling half-day periods. This bug has been resolved with an update to the LogManager version.
975085 - Unable to remove custom logging handler

In previous versions of JBoss EAP 6, during the removal process for a custom log handler (e.g. Apache log4j), attempts were made to execute post-configuration methods after an instance was removed. This resulted in a failure to remove a custom log handler.

In this release of JBoss EAP 6 changes have been made to the logging susbsystem to prevent this issue from occurring, and custom log handlers can now be removed.
973450 - File attribute always replaces the file even if the values are equal

There was an issue in previous versions of JBoss EAP 6 in which logging events that were recorded during bootstrapping by a file log handler would be overwritten. This issue would occur if the file log handler was not set to append.

This issue occurred because the logging subsystem did not not properly check the value for the FILE attribute of the file log handler when comparing it to the value used during bootstrapping.

In this release of JBoss EAP 6, the logging subsystem has been updated to fix this issue. For file log handlers that are not set to append, the FILE attribute is now properly checked against the value used during bootstrapping, so that events that are recorded during bootstrapping are no longer overwritten.

PicketLink

956782 - An IDP "hosted" page using a CSS file will result in java.lang.IllegalStateException: getOutputStream() has already been called for this response

Security

958252 - HttpServletRequest.logout() invalidates session when clustered SSO enabled

In previous versions of Red Hat JBoss Enterprise Application Platform 6, when SSO was used, a call to HttpServletRequest.logout() resulted in the session being invalidated. Expected behavior would be for the session to be logged out, but not invalidated.

This release has added the org.apache.catalina.authenticator.AuthenticatorBase.UNREGISTER_SSO_ON_LOGOUT system property which allows a session to be logged out as expected instead of being invalidated.

The SSO log out behavior can be toggled between the new and old methods using this property. When UNREGISTER_SSO_ON_LOGOUT is set to false (the default setting), the session will be logged out without being invalidated as expected per the specification. If UNREGISTER_SSO_ON_LOGOUT is set to true the original session invalidating log out behavior will be used.

Transaction Manager

968125 - Performance problem in FileSystemStore.openAndLock

Web

900886 - org.jboss.web.tomcat.security.GenericHeaderAuthenticator is missing in EAP6

Recent versions of Red Hat JBoss Enterprise Application Platform 6 did not contain a header-based authentication facility. This version of the product introduces org.jboss.as.web.security.GenericHeaderAuthenticator to address this issue.
922180 - Race condition in ContextConfig.authenticatorConfig()

Previous versions of Red Hat JBoss Enterprise Application Platform 6 contained a potential race condition that occasionally caused applications using JBossWeb authenticators to fail to load. The problem was traced to org.apache.catalina.startup.ContextConfig and the instantiation of authenticator properties. It was found that one thread could attempt to use the authenticator properties before the instantiating thread had finished loading them. This release of the product uses a static initializer to avoid this race condition and applications now load as expected.

doc-Administration_and_Configuration_Guide

988827 - 16.5.3. How to install mod_cluster from RPM is missing

jbossas

963298 - Module Service Dependencies do not take transitive dependencies into account

There existed an issue in JBoss EAP 6 where dependency graph resolution was not taking into account situations where the Class-Path specified in deployment manifests may be transitive.

This would result in a module attempting to start before all its dependencies were started, and would cause the application to fail to deploy, resulting in the following exception:
Caused by: org.jboss.modules.ModuleLoadException: JBAS018760: Timeout waiting for module service: deployment.example.ear.example-ejb.jar:main
...

To fix this issue, a multi-stage resolution process was added to make sure that all dependent module specification services have started before starting a module service.

As a result, a deployment should no longer fail where transitive dependencies are specified in its Class-Path.

7.2. Enhancements

Build,Maven Repository

987273 - BOMs for customer usage are not specified

As as part of ongoing efforts to streamline development for Red Hat JBoss Enterprise Application Platform, this release includes new Bill of Materials (BOM) files for use with the downloadable JBoss Enterprise Application Platform 6 Maven Repository. Refer to the Enterprise Application Platform Developer Guide for details about the new BOM files and downloading the repository.

7.3. Known Issues

Clustering

959753 - DIST SYNC: Service jboss.infinispan.web.default-host/XY won't start after node restart with "Initial state transfer timed out"
900483 - Stale session data received when using DIST SYNC on node shutdown

During testing, some cases showed that stale session data was received when a node shut down and DIST SYNC or DIST ASYNC cache mode was used. This issue is still under investigation.
900707 - Property substition breaks when the string "localhost" is used as part of the default value

Property substitution does not work correctly when the string localhost was used as part of a default value in the JGroups subsystem configuration. Property substitution is a feature provided for JBoss Enterprise Application Platform 6 subsystems. However not all subsystems have it enabled, and some subsystems (like JGroups) do some of their own substitution. However this behavior is not standardized and differs from the supported subsystem properties. Red Hat recommends not to use property substitution with the JGroups subsystem until this issue is resolved.
900378 - CDI beans with SET replication trigger are not replicating

Due to a bug in the Weld component, the setAttribute method is not called correctly. This causes CDI beans with the SET replication trigger to fail to be replicated. The workaround is to use the SET_AND_NON_PRIMITIVE_GET trigger for these beans. This will be fixed in a future release.

Distribution

965315 - jboss-ec2-eap timeout of user script does not work properly

The timeout feature implemented in the user script on JBoss Enterprise Application Platform’s AMI images does not work. If a command in the user script hangs, this will prevent the virtual machine booting successfully. The timeout feature was intended to allow the virtual machine to continue to boot, regardless of a hung user script commmand, allowing diagnostics to be carried out on the user script. The cause of this problem is that the Bash shell does not support job control in non-interactive shells and this feature is required by the timeout implemented in the user script. No workaround is currently available but it is expected to be resolved in the next release.

EJB

900480 - CLONE - Extremely slow response times in Remote EJB invocation on cluster membership change

On server shutdown or crash, membership changes can take up to one minute to complete. This issue is currently under investigation.
923836 - remote:// protocol does not work over SSL with IBM JDK

There is a Known Issue in this release of JBoss Enterprise Application Platform 6 wherein the remote naming lookup fails intermittently on an IBM JDK with the following exception:
org.jboss.remoting3.NotOpenException: Endpoint is not open.

This issue appears to present when the client uses the IBM JDK. In instances where the server is on the IBM JDK and the and the client uses another JDK, the issue does not present.

The issue is being investigated for a resolution.
962734 - IOException during EJB invocation causes a hang

If a server-side EJB protocol receiver received invalid message headers from a client, a message similar to the following would be logged, and the client would hang.
15:06:46,092 WARN  [org.jboss.as.ejb3] (Remoting "dhcp-4-126" task-4) JBAS014254: Received unsupported message header 0xffffffff on channel Channel ID 0c51fad8 (inbound) of Remoting connection 4589adff to /127.0.0.1:33329

When the invalid message header is received and logged, the EJB protocol receiver did not re-enrol itself on the channel, so it would not respond to any further messages. The client would be left waiting for a response which would never be sent because the original message was not processed by the server.

A partial workaround exists for this issue. Setting an invocation.timeout property when creating the EJB client context will prevent the client from hanging indefinitely, however it will not let the client continue EJB invocations.

Hibernate

900321 - HHH-7287 Problem in caching proper natural-id-values when obtaining result by naturalIdQuery using NaturalIdLoadAccess

The Hibernate interface NaturalIdLoadAccess behaves inconsistently when trying to load entities from the Level Two (L2) Cache following an update of their natural-id values from a non-transactional scenario.

Hibernate currently does not support proper L2 caching of entities with natural identifiers in scenarios where there is a mix of transactional and non-transactional access to the database.

HornetQ

959616 - Deadlock during clean shutdown of backup during activation

An JBoss Enterprise Application Platform 6 server that is configured as a HornetQ backup server will fail to shutdown in the following situation:
  • Message-Driven Beans are locally deployed on the server, and
  • the shutdown command is performed during the server’s activation.

In this scenario the shutdown will result in a deadlock that prevents the shutdown process from completing. Once deadlocked, the server must be forcibly terminated. On Red Hat Enterprise Linux 6 this can be done using the kill -9 command.

To avoid this situation, only attempt to shutdown the server before or after activation, and not during the journal loading process.
899966 - Problem with Netty on IPv6 link-local addresses

Due to a JDK bug, if you use link local addresses, zone IDs are used to distinguish which interface is chosen. This problem does not affect global addresses. A workaround will be included in a future version of the Netty component.
912653 - Clone: Remote JNDI is not working with a HornetQ-only JMS bridge

IPv6 support

900564 - Wrong format of IPv6 addresses in log entries

IPv6 addresses should be formatted with square brackets ([ and ]) around them, such as in http://[2620:52:0:105f::ffff:2]:9990. The brackets are missing in the log files for JBoss Enterprise Application Platform 6. This issue is scheduled to be fixed in a future release.
900609 - Opened IPv4 sockets on Windows when server is bound to IPv6

If JBoss Enterprise Application 6 is started in Microsoft Windows server with the IPv4 stack disabled and the IPv6 stack enabled, IPv4 sockets are still opened. This issue is still under investigation.

JCA

952277 - disable xa-data-source causes that data-source loses its attribute enabled set to false and after reload it becomes enabled

There is a known issue in JBoss EAP 6 where a disabled non-XA data source is incorrectly enabled when the JBoss EAP 6 server instance is rebooted.

This issue occurs when there is a disabled non-XA data source and an XA data source on the same server, and the XA data source is disabled prior to the JBoss EAP 6 server reboot.

The cause of this issue is currently under investigation.

mod_cluster

958991 - mod_cluster core when use ProxyPass / balancer://bal and CreateBalancers 1

Users of JBoss Enterprise Application Platform 6, who have CreateBalancers 1 set in /conf.d/mod_cluster.conf, and who have not set the stickysession=JSESSIONID|jsessionid configuration will encounter the following segmentation fault:
[notice] child pid 7787 exit signal Segmentation fault (11)

Adding the stickysession element to the CreateBalancers configuration will resolve the issue.

For example:
CreateBalancers 1
ProxyPass / balancer://qacluster stickysession=JSESSIONID|jsessionid
963720 - mod_cluster: proxy DNS lookup failure with IPv6 on Solaris

Java returns IPv6 with a zone value similar to 2001:db8:0:f101::1%2. Subsequently, when returning a node address, the modcluster subsystem sends the IPv6 information as it exists in Java. In Solaris, apr_sockaddr_info_get() does not support the returned format and fails to resolve the IP as a host name. As a result, httpd mod_cluster does not work as expected IPv6 node addresses.

The workaround for this issue is to use address="hostname" in the web subsystem connector.
960243 - Regression in ProxyPass integration

Due to a regression from an earlier version of mod_proxy_cluster.so included in JBoss EAP 6, accessing a directory (for example /app/clusterbench/requestinfo/ returns a HTTP 503 error.

This is a known issue in JBoss EAP 6.1.1, and currently no workaround is available for this problem.
901227 - node-timeout, worker-timeout, flush-wait and ttl mod_cluster attributes in web console

There is a known issue in the JBoss EAP 6 web-based Management Console that prevents users from viewing or setting a -1 value for the following mod_cluster attributes:
  • node-timeout
  • worker-timeout
  • flush-wait
  • ttl

If a -1 value is already set, the Management Console incorrectly displays the attribute’s value as 0. When attempting to use the Management Console to set the attribute’s value to -1, the Management Console warns Invalid numeric value.

As a workaround, users are still able to set the affected attributes to a -1 value by using the Management CLI.

The cause of this issue is currently under investigation.
900801 - Adding modcluster via the CLI fails.

There exists an issue in JBoss EAP 6 where the mod_cluster subsystem cannot be added by a single command via the Management CLI, nor can it be added by a sequence of commands that are executed individually.

The /subsystem=modcluster:add() command requires that a connector be added as part of the same set of commands, however the /subsystem=modcluster:add() command itself does not allow connectors to be configured.

Attempting to add the mod_cluster subsystem via the Management CLI fails with an error: JBAS014746: connector may not be null.

To workaround this issue, execute the add() and connector configuration commands in batch mode. For example:
[standalone@localhost:9999 /] batch
[standalone@localhost:9999 / #] /subsystem=modcluster:add
[standalone@localhost:9999 / #] /subsystem=modcluster/mod-cluster-config=configuration:add(connector=ajp,advertise-socket=modcluster)
[standalone@localhost:9999 / #] run-batch

This issue will be fixed in a future release.
980246 - mod_cluster-manager may break up aliases from a single VirtualHost, causing a messy page

Transaction Manager

988724 - Crash recovery against PostgreSQL getting exception on rollback attempt

An issue has been identified in which the PostgreSQL JDBC driver returns an incorrect return code in specific recovery situations.

This issue occurs when a transaction manager running Java Transaction Service (JTS) performs a recovery following a crash during a transaction prepare phase. This results in XAException messages being written to the server log.

This issue is caused by a second call against a non-existent transaction Xid, however this behaviour is defined to be valid according to the JTS specification.

This issue has been identified as an incorrect behaviour within the PostreSQL JDBC driver, and the driver issue and its status can be monitored at https://github.com/pgjdbc/pgjdbc/issues/78

Other

900047 - SystemMemoryUsageLoadMetric is not correct on Linux/Unix

The SystemMemoryUsageLoadMetric does not show useful information on Linux or UNIX operating systems. For these systems, HeapMemoryUsageLoadMetric provides more useful information. The solution to this problem will be to change the algorithm of SystemMemoryUsageLoadMetric to subtract the buffers/cache value from the used number. The best method for doing this is under investigation.
901231 - Usage of finalize() needs extra guards on IBM JDK

JBoss Enterprise Application Platform 6 can experience intermittent failures when running on the IBM JDK 6 and 7. This is because the IBM garbage collector is much more aggressive than that of other JVMs. This can sometimes result in memory being reclaimed in situations that were unanticipated and did not manifest when testing on other JVMs.

Until this issue is resolved Red Hat recommends using the OpenJDK or Oracle JDK to run JBoss Enterprise Application Platform 6 on Red Hat Enterprise Linux.
901210 - Cleanup deploy directories - AS7-6031

RESTEasy

958896 - RESTEasy: Invalid Content-Type in response - Bad behavior when invalid accept header is specified in request header

There exists a problem within the RESTEasy subsystem of JBoss EAP 6 where an incorrect HTTP 200 response is sent when there is an invalid accept header in a received HTTP request.

When an invalid accept header is provided, the correct response should be HTTP 500. This issue is currently under investigation.

Scripts and Commands

990227 - jboss-cli.sh freeze when run unattended - e.g. from scripts

If the jboss-cli.sh script is called from another script, but authentication details (username and/or password) are not provided to the script as parameters, the calling script hangs. This is a known issue and expected to be resolved in a future release. Ensure that all the required parameters are provided when calling this script from another script.
916960 - Standalone.bat does not work if parentheses are on path to EAP.

This release of JBoss Enterprise Application Platform 6 has a known issue with the Windows installer and installations to a default directory containing parentheses. For example; C: Program Files (x86)\jboss-eap-6.1\.

In these circumstances the standalone.bat file may fail with a message \jboss-eap-6.1 was unexpected at this time.

This is because the DOS processor interprets the ending parenthesis in the "echoed" JBoss path name as the end of the preceding if statement.

To resolve this issue:
  1. Open the JBOSS_HOME\bin\standalone.bat file in an editor.
  2. Find the following line:
    echo    JBOSS_HOME: %JBOSS_HOME%
  3. Add double-quotes around the %JBOSS_HOME% variable:
    echo    JBOSS_HOME: "%JBOSS_HOME%"

This will ensure the parentheses are interpreted correctly and the standalone.bat will execute successfully.
998913 - standalone.bat still sets -XX:+TieredCompilation JVM option

There is a known issue in JBoss EAP 6 where standalone configurations on Windows Server may potentially experience degraded performance.

This issue is caused by the setting of the -XX:+TieredCompilation JVM option in standalone.bat.

As a workaround for this issue, the following code that sets the -XX:+TieredCompilation JVM option can be removed from standalone.bat:
if not "%PRESERVE_JAVA_OPTS%" == "true" (
  rem Add tiered compilation, if supported (64 bit VM), and not overriden
  echo "%JAVA_OPTS%" | findstr /I "\-XX:\-TieredCompilation \-client" > nul
  if errorlevel == 1 (
    "%JAVA%" -XX:+TieredCompilation -version > nul 2>&1
    if not errorlevel == 1 (
      set "JAVA_OPTS=-XX:+TieredCompilation %JAVA_OPTS%"
    )
  )
)

This issue is expected to be fixed in a future release of JBoss EAP 6.
956281 - Starting EAP 6.1 on 32bit jvm can result in failure to start JVM

On Windows 8 32-bit JVMs, the default max perm gen space setting causes the JVM to not be created, which then prevents the server from starting. To work around this issue, remove the -XX:MaxPermSize=256m parameter from the startup parameters of the JVM. This will allow the JVM to be created and the server to start.

Security

920160 - Unauthorized access to a web application protected with a custom authorization module results in HTTP 200 (OK) instead of HTTP 403 (Forbidden)

When an unauthorized HTTP request is attempted on a web application that uses a custom authorization module, the unauthorized request results in an empty HTTP 200 (OK) response. For unauthorized HTTP requests, the correct response should be HTTP 403 (Forbidden). This issue is currently under investigation.

Web Services

900634 - JBossWS-CXF doesn't send fault message to a FaultTo endpoint when request-response message.

If the FaultTo element of WS-Addressing is set to a WS client, the WS server does not send fault messages to the FaultTo destination. However, if the ReplyTo element is set, the WS server does send the responses to the ResponseTo destination. The cause of this issue is still under investigation.

A. Revision History

Revision History
Revision 1.1-7Wed Sep 10 2014Misha Husnain Ali
BZ-1004638: Fixed a minor typo.
Revision 1.1-5Wed Sep 4 2013Russell Dickenson
JBoss Enterprise Application Platform 6.1.1 GA Release.

Legal Notice

Copyright © 2013 Red Hat, Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.