[jboss-jira] [JBoss JIRA] Created: (JBAS-6086) the root of the problem is hibernate, resultset and

halil agin (JIRA) jira-events at lists.jboss.org
Tue Oct 14 04:23:20 EDT 2008


the root of the problem is hibernate, resultset
 and  the methods of org.jboss.resource.adapter.jdbc.WrappedResultSet class.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Precedence: bulk

the root of the problem is hibernate, resultset and=20
the root of the problem is hibernate, resultset and  the methods of org.jbo=
ss.resource.adapter.jdbc.WrappedResultSet class.
---------------------------------------------------------------------------=
---------------------------------------------------------------------------=
---------------------------

                 Key: JBAS-6086
                 URL: https://jira.jboss.org/jira/browse/JBAS-6086
             Project: JBoss Application Server
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Hibernate service, Transaction Manager (JBossTM)
    Affects Versions: JBossAS-4.2.3.GA
         Environment: Linux Pardus, Turkish Locale, Java jdk 1.5
            Reporter: halil agin
            Assignee: Steve Ebersole
            Priority: Critical


when http://localhost:8080/portal is called, the error is printed on the pa=
ge. it is below.


type Exception report

message

description The server encountered an internal error () that prevented it f=
rom fulfilling this request.

exception

javax.servlet.ServletException: org.postgresql.util.PSQLException: Bu Resul=
tSet i=C3=A7inde LISTENER10_0_ s=C3=BCtun ad=C4=B1 bulunamad=C4=B1.
=09org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java=
:278)
=09javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
=09org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte=
r.java:96)

root cause

org.postgresql.util.PSQLException: Bu ResultSet i=C3=A7inde LISTENER10_0_ s=
=C3=BCtun ad=C4=B1 bulunamad=C4=B1.
=09org.postgresql.jdbc2.AbstractJdbc2ResultSet.findColumn(AbstractJdbc2Resu=
ltSet.java:2391)
=09org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2Resul=
tSet.java:2210)
=09org.jboss.resource.adapter.jdbc.WrappedResultSet.getString(WrappedResult=
Set.java:888)
=09org.hibernate.type.StringType.get(StringType.java:18)
=09org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
=09org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
=09org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
=09org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractE=
ntityPersister.java:2096)
=09org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
=09org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
=09org.hibernate.loader.Loader.getRow(Loader.java:1206)
=09org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
=09org.hibernate.loader.Loader.doQuery(Loader.java:701)
=09org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loade=
r.java:236)
=09org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
=09org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoad=
er.java:48)
=09org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoad=
er.java:42)
=09org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEnti=
tyPersister.java:3044)
=09org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(Defa=
ultLoadEventListener.java:395)
=09org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEvent=
Listener.java:375)
=09org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventLi=
stener.java:139)
=09org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoad=
EventListener.java:195)
=09org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEvent=
Listener.java:103)
=09org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
=09org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
=09org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:557)
=09org.hibernate.type.EntityType.resolve(EntityType.java:379)
=09org.hibernate.type.OneToOneType.assemble(OneToOneType.java:141)
=09org.hibernate.type.TypeFactory.assemble(TypeFactory.java:420)
=09org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:96)
=09org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:82)
=09org.hibernate.event.def.DefaultLoadEventListener.assembleCacheEntry(Defa=
ultLoadEventListener.java:553)
=09org.hibernate.event.def.DefaultLoadEventListener.loadFromSecondLevelCach=
e(DefaultLoadEventListener.java:508)
=09org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEvent=
Listener.java:357)
=09org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventLi=
stener.java:139)
=09org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoad=
EventListener.java:195)
=09org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEvent=
Listener.java:103)
=09org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
=09org.hibernate.impl.SessionImpl.get(SessionImpl.java:815)
=09org.hibernate.impl.SessionImpl.get(SessionImpl.java:808)
=09org.jboss.portal.core.impl.model.portal.PersistentPortalObjectContainer.=
getObjectNode(PersistentPortalObjectContainer.java:296)
=09org.jboss.portal.core.impl.model.portal.PersistentPortalObjectContainer.=
getObjectNode(PersistentPortalObjectContainer.java:252)
=09org.jboss.portal.core.impl.model.portal.AbstractPortalObjectContainer.ge=
tContext(AbstractPortalObjectContainer.java:112)
=09org.jboss.portal.core.impl.model.portal.AbstractPortalObjectContainer.ge=
tContext(AbstractPortalObjectContainer.java:81)
=09org.jboss.portal.core.model.portal.DefaultPortalCommandFactory.doMapping=
(DefaultPortalCommandFactory.java:72)
=09org.jboss.portal.core.controller.Controller.handle(Controller.java:252)
=09org.jboss.portal.server.RequestControllerDispatcher.invoke(RequestContro=
llerDispatcher.java:51)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:131)
=09org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(Con=
tentTypeInterceptor.java:68)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.PortalContextPathInterceptor.invoke=
(PortalContextPathInterceptor.java:45)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleInte=
rceptor.java:96)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserIntercep=
tor.java:193)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.server.aspects.server.SignOutInterceptor.invoke(SignOut=
Interceptor.java:98)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.impl.api.user.UserEventBridgeTriggerInterceptor.in=
voke(UserEventBridgeTriggerInterceptor.java:65)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.IdentityCacheInterceptor.invoke(Ide=
ntityCacheInterceptor.java:68)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor.org$jboss$po=
rtal$core$aspects$server$TransactionInterceptor$invoke$aop(TransactionInter=
ceptor.java:49)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143=
606530999904530.invokeNext(TransactionInterceptor$invoke_N51436065309999045=
30.java)
=09org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
=09org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java=
:262)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143=
606530999904530.invokeNext(TransactionInterceptor$invoke_N51436065309999045=
30.java)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(Trans=
actionInterceptor.java)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.server.aspects.LockInterceptor.invoke(LockInterceptor.j=
ava:139)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157=
)
=09org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java=
:252)
=09javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
=09org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte=
r.java:96)

note The full stack trace of the root cause is available in the JBossWeb/2.=
0.1.GA logs.




the root of the problem is hibernate, resultset and=20
the methods of org.jboss.resource.adapter.jdbc.WrappedResultSet class.
the class file is located in ./connector/src/main/org/jboss/resource/adapte=
r/jdbc/WrappedResultSet.java=20
under src directory.

the problem definition:

the parameter named colname Or columnName of the functions get* or update*

the member functions having below format (*:means any string) are buggy.


get*(String colName, <other params>)
get*(String columnName, <other params>)

find*(String columnName, <other params>)

update*(String colName, <other params>)
update*(String columnName, <other params>)



when above functions are called, colName or columnName parameter, which ind=
icates the column names in the result set, assigned to a string which is re=
presented as upper case. However, in the result set, the column name has a =
low case representation, therefore when the below functions called in the t=
he member functions mentioned above, the wrong colName and columnName passe=
d to resultSet functions. ThereFore, no columnname found in the resultset w=
hich is not wanted.

resultSet.get*(String colName, <other params>)
resultSet.get*(String columnName, <other params>)

resultSet.update*(String colName, <other params>)
resultSet.update*(String columnName, <other params>)



For example, the parameter of function named colName has value LISTENER10_1=
_, but in the resultSet there is a column named listener10_1_. Therefore, t=
he function in the line 254 returns null, which is  the root of the problem=
.


249    public Array getArray(String colName) throws SQLException
 250    {
 251       checkState();
 252       try
 253       {
 254          return resultSet.getArray(colName);
 255       }
 256       catch (Throwable t)
 257       {
 258          throw checkException(t);
 259       }
 260    }





--=20
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: htt=
ps://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the jboss-jira mailing list