Following is a list of known issues at the time of release.
General Known Issues
- JBPAPP-3673: The current JBoss Operations Network (version 2.3) has several known issues when used with JBoss Enterprise Web Platform. JBoss ON support for Enterprise Web Platform is planned for a future release of JBoss ON.
- JBPAPP-3036: The
jboss_init_hpuxscript does not pick up environment variables when executed in the GNU bash shell. This is related to JBPAPP-2036: https://jira.jboss.org/jira/browse/JBPAPP-2306. - JBPAPP-3035: The
-eand-Harguments of theshutdown.shscript cannot be used to directly terminate the JVM. - JBPAPP-3029: The
jboss_init_redhat.shscript is used to start and stop a server instance under a given user name. When using a non-loopback bind address, callingjboss_init_redhat.sh stopresults in aCommunicationExceptionbecause of a missing hostname parameter for the remote server the script attempts to contact. - JBPAPP-2998: When the server is started via a desktop icon, the machine's default Java set is used. This can cause exceptions when a Java version other than JDK 1.6 is used.
- JBAS-7049: The server manager does not function correctly when Open JDK 6 is used because a
NullPointerExceptioncheck is missing in Open JDK 6. The workaround is to comment out the java.security.debug statement in theimports/server-config.xmlfile. - JBPAPP-2598: Once the workaround for the JBAS-7049 issue is applied a new issue presents itself. A server running the surity manager using Open JDK 6 still fails to start, now with an access denied error. There is no currently known workaround for this issue.
- JBPAPP-2590: An issue exists in the
policy.providerdefined in${JAVA_HOME}/jre/lib/security/java.securitywhen IBM JDK 6 is used. By defaultorg.apache.harmony.security.fortress.DefaultPolicyis used and this should bepolicy.provider=sun.security.provider.PolicyFile. The workaround for this issue is to manually make this adjustment. - JBPAPP-2576: The MySQL JDBC driver does not currently implement XA Recovery correctly.
- JBPAPP-2871: High CPU utilization and reduced performance and transaction throughput has been observed when MySQL 5.0.41 when optimized settings are in use, as described in JBQA-2610. We recommend upgrading to MySQL 5.0.86 and applying optimized settings as described in JBQA-2610 to reduce CPU utilization and increase performance.
- JBPAPP-2162: Sun JAXB silently accepts messages with non-fatal errors where they should be rejected. The fix for JBPAPP-2114 corrects this, so that badly-formed messages are rejected.
- JBPAPP-2765:
LoadMgr3logs a failure to load a class as an error even when the failure to load is expected and intentional. (Seam, for example, catches exceptions in order to disable unnecessary components if a particular class is not found.) - JBPAPP-2894: Setting the
hibernate.bytecode.providersystem property injpa-deployers-jboss-beans.xmlis unreliable. The workaround for this issue is to add-Dhibernate.bytecode.provider=cglibto$JAVA_OPTSinjboss-as/bin/run.conf. - JBPAPP-2818: The current
main/src/bin/run.shdoes not allow users to override$JBOSS_HOME/bin/run.confwith a profile-specific$JBOSS_HOME/server/$PROFILE/run.conf. - JBPAPP-2713:
org.jboss.test.xml.DDValidatorUnitTestCaseconstantly fails and crashes the Java Virtual Machine. The workaround for this issue is to disable the JIT compiler by settingJAVA_COMPILER=NONEor using the command line switch-Djava.compiler=NONE. - JBAS-6966: The IBM distribution of JDK 6 does not support the
SSLv2Helloprotocol and generates a ERROR [AbstractKernelController] when used. It is currently recommended not to use this protocol.
Hibernate Known Issues
- JBPAPP-3034: When batch insert statements are ordered, embedded classes are not taken into account. There are two possible workarounds for this issue. The first is to set
ORDER_INSERTStoFALSEwhen embedded classes are used. The second option is to explicitly callsession.save()on child objects to enforce their SQL insertion orders. - JBPAPP-3032: MySQL does not currently support millisecond and microsecond measurements when returning database values such as
TIMEandTIMESTAMP. - JBPAPP-3031: On Sybase, the
current_timestamptext is not being recognized by the translator as a method mode. There is currently no way to work around this issue except to avoid relying upon function replacement forcurrent_timestamp. - JBPAPP-3030: On Sybase,
SchemaExportcannot be used to create stored procedures while in while in chained transaction mode. The workaround for this case is to add the following code immediately after the definition of the new stored prodecure:<database-object> <create> sp_procxmode paramHandling, 'chained' </create> <drop/> </database-object> - JBPAPP-2791: Applications that map Hibernate to use
cglibas a byte provider fail to deploy because of ajava.lang.SecurityException. An error message similar to the following is displayed:Deployment "persistence.unit:unitName=lobtest.ear/lobtest-ejb-1.0-SNAPSHOT.jar#lobtest-jpa-jndi" is in error due to the following reason(s): java.lang.SecurityException: class "com.redhat.gss.lobtest.jpa.Item$$EnhancerByCGLIB$$defd1a7f"'s signer information does not match signer information of other classes in the same package
This occurs because thecglib.jarin JBoss Enterprise Web Platform 5.0 is signed, and the cglib-instrumented proxy uses thecglib.jarsigner information instead of the signer information of the application target class.The patch for this issue has been released alongside JBoss Enterprise Web Platform 5.0 and can be downloaded from Red Hat Support. - JBPAPP-2957: The
evictAll()method inEntityRegionAccessStrategyandCollectionRegionAccessStrategyattempts to remove objects from the cache without regard for transaction isolation. Disregarding transaction isolation is currently unsupported because JBoss Cache is allowed visibility to any active transaction and will therefore use the transaction to control access to data in the cache. - JBPAPP-2945: Setting the query timeout for a PreparedStatement is not supported by PostgreSQL 8.3.7. This limitation means that queries will fail if they use an annotation like the following:
@QueryHint(name = "org.hibernate.timeout", value = "100") - JBPAPP-2892: When Enterprise JavaBean 3.0 entities are used with optimistic caching,
org.jboss.ejb3.entity.OptimisticJBCCache.DataVersionAdapter.newerThanincorrectly returnstrueforA.newerThan ( A ). This causes aDataVersioningExceptionwhen JBoss Cache attempts to remove the entry. The workaround for this issue is to use Multiversion Concurrency Control (mvcc-entity) instead of optimistic caching. This is recommended even if the exception has not been observed. - JBPAPP-2867: Sybase does not currently support Hibernate
Blobs orClobs, and Hibernate does not support Sybasetextorimagedata types. The workaround for this issue is to create user-defined types that map to the Sybasetextandimagetypes. - JBPAPP-2789:
ShemaExportfails on Oracle and Sybase when a redundant@Column(unique=true)orUniqueContraint(columnnames={...})annotation is used on a column that is implicitly defined as unique by the declared model. The workaround is to remove the redundant@Column(unique=true)orUniqueContraint(columnnames={...})annotation. - JBPAPP-2613: When the DB2 v9.7 driver is used with progressive streaming (the default), operations on
BlobandCloblocators fail. The workaround is to disable progressive streaming using connection properties, as recommended in the linked JIRA issue. - JBPAPP-2408: An issue exists with the DB2 v9.7 driver when using an identity or native ID generator with Hibernate. The
Statement.getGeneratedKeys()driver method in DB2 returns an empty resultset instead of the generated keys, which causes Hibernate to throw an exception that states that the database returned no natively generated identity value. This issue has been fixed in the version of DB2 9.7 JDBC driver released with Data Studio 2.2 and is available for download from the DB2 website. This is the recommended version for use with Hibernate. - JBPAPP-2278: The
Saveoperation may fail when a transient entity is reachable by multiple paths and at least one of those paths does not cascade for theSaveopperation. The current workaround for this is to save the transient entity before executing the save that had previously failed. If this is not possible, another workaround is to modify either or both cascade and entity mappings to change the order of the cascade paths so that the transient entity is saved before it cascades to the entity that requires it to be non-transient. - JBPAPP-2277: Hibernate uses
ClassLoader.loadClass()for arrays, which is no longer supported by default as of Java 6. The current workaround for this issue is to use the -Dsun.lang.ClassLoader.allowArraySyntax=true property. This workaround is implemented by default as the default injboss-eap-5.0/jboss-as/run.conf. - JBPAPP-2276: The iteration order of
HashMapsandHashSetsfor JDK 6 causes the order of columns in union clauses or union subclasses to differ depending on whether JDK 5 or 6 is used. Since the change in column order is consistent across union clauses, the resulting queries are valid; however, this change can potentially affect performance. - JBPAPP-2275: Hibernate cannot be compiled under JDK 6. This occurs because the following classes require methods to be added in order to fully implement JDK 6 interfaces:
org.hibernate.jdbc.ResultSetWrapperorg.hibernate.lob.BlobImplto implementjava.sql.Bloborg.hibernate.lob.ClobImplorg.hibernate.lob.SerializableBloborg.hibernate.lob.SerializableClob
If the application you are running requires a method missing from the above classes, a NoSuchMethodError will be generated. - JBPAPP-2922: Hibernate warns that
The CGLIB BytecodeProvider impl is considered deprecated and not recommended for use.cglibis not deprecated, so this warning can be safely ignored. - JBPAPP-2792: Sybase fails to insert a new entity if it overflows its column. However, it does not throw an exception, so Hibernate cannot tell that the insert failed. To work around this issue, the application must validate entity properties to ensure that they do not overflow the underlying column.
- JBPAPP-2791:
SchemaUpdates fail in Sybase ASE 15 tables when a new column is added without a default value. To work around this issue, ensure that a default value is included when adding new columns withSchemaUpdate. - JBPAPP-1613: Null values for columns mapped as
Booleanin Sybase are persisted as0instead ofnull. The workaround for this issue is to maptype="org.hibernate.test.where.NumericTrueFalseType"instead oftype="boolean". - JBPAPP-1554: Sybase only allows only one entry (for example, column name or '*') in a subquery select list. The HQL function,
elements(), fails when the collection elements have a composite ID, because the generated SQL contains a subquery select list with multiple entries. The workaround is to avoid using HQLelements()if the elements have a composite key. Instead, reformulate the HQL so that no subquery has multiple entries in its select list. - JBPAPP-1547:
org.hibernate.dialect.SybaseASE15Dialect.areStringComparisonsCaseInsensitive()returnsfalseand is not overridden bySybaseDialect. - JBPAPP-1545: On Sybase, when a query has an ANSI join with three or more joins, and one join involves a union subclass, the query may fail with
SybSQLExceptionbecause a column is not within the scope of the joined table expression. The current recommendation is to avoid using join fetches that involve union subclasses. - JBPAPP-2858:
getSingleResult()fails for some databases and queries when automatic pagination is attempted. The workaround for this issue is to usegetResultList()instead ofgetSingleResult(). - JBPAPP-1998:
EntityNotFoundExceptionis incorrectly thrown upon an optimistic locking failure when oneEntityManagertries to delete an entity that has been updated by a differentEntityManagerandhibernate.jdbc.batch_versioned_datais set tofalse(the default value).OptimisticLockExceptionshould be thrown instead. - JBPAPP-1230: When a
DetachedCriteriais used as a subquery, the generated SQL contains a column alias in the subquery. On Sybase, aSybSQLExceptionis thrown because Sybase does not allow column aliases in subqueries. The workaround for this issue is to use an HQL query instead of aDetachedCriteriain a subquery. - JBPAPP-1123: When
@OrderByis used on joined classes (using a join table), the generated SQL is invalid on MySQL, PostgreSQL, Oracle, and MSSQL because the "order by" clause qualifies the columns using the actual table name. The "order by" clause should use the table alias instead. - JBPAPP-1082: When a
charproperty is used and it is not initialized, then Hibernate initializes it to0and persists a string containing the character\u0000. PostgreSQL throws an exception because it does not allow character\u0000embedded in a string. An email thread describing this problem is available from:- http://markmail.org/message/jvzlzxw6ui2rcsmv#query:\u0000%20postgresql+page:1+mid:gpu34f4iwanbyjqh+state:results
There is currently no workaround for persisting\u0000in acharcolumn using PostgreSQL.If the user intends to persist a NULL for an uninitializedcharproperty instead of\u0000, thenjava.lang.Charactershould be used instead of the primitivechartype. This avoids the exception when the property is initialized. Attempting to persist ajava.lang.Characterproperty that is set to\u0000still results in an exception. - JBPAPP-1071: In some cases, when there are foreign key constraints defined on columns in a primary key,
SchemaExportincorrectly declares them as nullable when it generatesCREATE TABLEstatements. This fails on MSSQL, DB2, and Sybase because those databases require primary key columns to be non-nullable.The workaround for this issue is to explicitly indicate which columns should be non-nullable, such as:- Add
nullable=falseto@JoinColumn - Add
optional=falseto@ManyToOne - Add an
@AttributeOverridewith@Column(name="mapkey", nullable=false)in case of a@CollectionOfElementsusing a Map - Add
nullable=falsein@Columnwhen inside a@CollectionIdor inside@MapKey
- JBPAPP-3010: The
evict(Object)method inEntityRegionAccessStrategyandCollectionRegionAccessStrategyattempts to remove objects from the cache without regard for transaction isolation. This is currently unsupported because JBoss Cache'sremoveNodemethod does not deal with transactions. - JBPAPP-3019: The
doc/examples/jboss-web-services-examplescontext causes a number of exceptions to occur. This context error means that the JBoss Web Services examples will not work correctly.
JBoss Web Services Known Issues
- JBPAPP-3028: The upgrade from JBoss Web Services 2.0.1.SP to JBoss Web Services Native 3.1.2.SP incorporated many changes and new features. The additional processing time required for several new features (resource injection, support for
@PostConstructand@PreDestroy, etc.) has resulted in a slight degradation in overall performance.
RESTEasy Known Issues
- JBPAPP-3802: the readme file for the JAXB/JSON example located at
doc/examples/resteasy-examples/jaxb-json/README.txtcontains the wrong Maven goal. The following text is incorrect:- mvn jetty6:run-exploded
It should read as follows:- mvn jetty:run-exploded
Seam Known Issues
- JBPAPP-3572: The Seam
todoexample application cannot be deployed becausebsh.jaris not included as part of JBoss Enterprise Web Platform. Attempting to deploy this example application will result in a java.lang.NoClassDefFoundError. - JBPAPP-3562: Seam integration with jBPM currently requires that
bsh-1..0.jarbe added to your application'slibdirectory. You can download this JAR file from http://repository.jboss.org/maven2-brew/org/beanshell/bsh/1.3.0/bsh-1.3.0.jar. - JBPAPP-3561: The Seam
remoting/chatroomexample was included in this distribution, but cannot be deployed on JBoss Enterprise Web Platform because it relies on JBoss Messaging functionality. - JBPAPP-3543: The Seam
seambayexample cannot be deployed becausequartz.jaris not included as part of JBoss Enterprise Web Platform. - JBPAPP-3541: Seam cannot be compiled from source because its
root.pom.xmlreferences an incorrect version ofjavax.transaction:jta:jar. - JBPAPP-2385: Seam's Spring example fails with an
IllegalStateExceptionwhen the login form is submitted on the IBM virtual machine. This is due to a defect in the IBM virtual machine. The fix for this issue has been deferred until the IBM virtual machine has been fixed. - JBPAPP-2377: The Seamspace example fails with a
NullPointerExceptionwhen submitting a new blog entry on the IBM virtual machine. This is due to a defect in the IBM virtual machine. The fix for this issue has been deferred until the IBM virtual machine has been fixed. - JBPAPP-3001: The seam script included in this distribution does not have an executable permission set. An executable permission set is planned for inclusion in the next release of JBoss Enterprise Web Platform 5.
mod_cluster Known Issues
- JBPAPP-3724: In
mod-cluster-jboss-beans.xml, the default value formaxAttemptsis incorrectly set to-1. This value is invalid. The correct value,1, is used by default. - JBPAPP-3463: When an application is undeployed, sessions that were forwarded to the application server by mod_cluster before undeploy notification was received may result in an error 503 - This application is not currently available.
- MODCLUSTER-123: If the
rootcontext ("/") is deployed and enabled, other contexts cannot be disabled. It is also impossible to specify that other contexts not be forwarded to therootcontext. - MODCLUSTER-120: Should you encounter an
[emerg] create_mem_node <node file path> failederror, use theipcrm -mcommand before restarting httpd. - MODCLUSTER-113:
org.jboss.modcluster.demo.servlet.ThreadCountLoadServlethas been removed from mod_cluster but is still specified in theweb.xmlfile belonging toload-demo.war. This results in deployment errors. The workaround for this issue is to remove the<servlet>and<servlet-mapping>sections for thethreadsservlet.