Mantis - Resin
Viewing Issue Advanced Details
4414 major always 03-01-11 04:42 03-01-11 14:29
ozgurcakmak  
ferg  
normal  
closed 4.0.15  
fixed  
none    
none 4.0.16  
0004414: INSERT query SQL parse exception
We are trying to update our servers (both local test servers and real servers) to resin 4 and getting the following exception that seems to be caused by wrong character conversion: uppercase "I" is being converted to lowercase "i" but result is "&0000305;" (i without dot) in Turkish.

Although our servers are working correctly with resin v3.0.2, in v4.0.15 we are having this problem regardless changing system language, keyboard settings and all other possible things to English.

Exception is as follows:

[13:36:07.837] {http://*:9999-8} [^] Database[/usr/local/resin/resin-data/default/distcache]: UPDATE data SET expire_time=? WHERE id=?
[13:36:07.838] {http://*:9999-8} [^] DataStore[data] updateExpires HashKey[568cc9d5]
[13:36:07.838] {http://*:9999-8} [^] Database[/usr/local/resin/resin-data/default/distcache]: INSERT into data (id,expire_time,data) VALUES(?,?,?)
com.caucho.db.sql.SQLParseException: unknown query at 'INSERT' (128, '&0000305;nsert')
    at com.caucho.db.sql.Parser.parse(Parser.java:200)
    at com.caucho.db.sql.Parser.parse(Parser.java:149)
    at com.caucho.db.Database.parseQuery(Database.java:314)
    at com.caucho.db.jdbc.ConnectionImpl.prepareStatementImpl(ConnectionImpl.java:358)
    at com.caucho.db.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:286)
    at com.caucho.server.distcache.DataStore$DataConnection.prepareInsert(DataStore.java:769)
    at com.caucho.server.distcache.DataStore.insert(DataStore.java:381)
    at com.caucho.server.distcache.DataStore.save(DataStore.java:357)
    at com.caucho.server.distcache.DataCacheBacking.saveData(DataCacheBacking.java:219)
    at com.caucho.server.distcache.AbstractCacheManager.writeData(AbstractCacheManager.java:889)
    at com.caucho.server.distcache.AbstractCacheManager.putStream(AbstractCacheManager.java:412)
    at com.caucho.server.distcache.FileCacheEntry.put(FileCacheEntry.java:116)
    at com.caucho.distcache.AbstractCache.put(AbstractCache.java:565)
    at com.caucho.server.session.SessionImpl.save(SessionImpl.java:797)
    at com.caucho.server.session.SessionImpl.saveAfterRequest(SessionImpl.java:768)
    at com.caucho.server.session.SessionImpl.finishRequest(SessionImpl.java:575)
    at com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:616)
    at com.caucho.server.webapp.ForwardRequest.finishRequest(ForwardRequest.java:103)
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:300)
    at com.caucho.server.webapp.RequestDispatcherImpl.error(RequestDispatcherImpl.java:128)
    at com.caucho.server.webapp.ErrorPageManager.handleErrorStatus(ErrorPageManager.java:757)
    at com.caucho.server.webapp.ErrorPageManager.sendErrorImpl(ErrorPageManager.java:617)
    at com.caucho.server.webapp.ErrorPageManager.sendError(ErrorPageManager.java:590)
    at com.caucho.server.http.HttpServletResponseImpl.sendError(HttpServletResponseImpl.java:656)
    at com.caucho.server.http.HttpServletResponseImpl.sendError(HttpServletResponseImpl.java:603)
    at com.caucho.servlets.FileServlet.service(FileServlet.java:349)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
    at com.overteam.filter.CharsetFilter.doFilter(CharsetFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at com.overteam.filter.FolderFilter.doFilter(FolderFilter.java:86)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:184)
    at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:794)
    at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:729)
    at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:688)
    at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:668)
    at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:616)
    at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)
    at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
    at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
    at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67)
    at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
    at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
[13:36:07.840] {http://*:9999-8} [^] DataStore[data] com.caucho.db.sql.SQLParseException: unknown query at 'INSERT' (128, '&0000305;nsert')
[13:36:07.840] {http://*:9999-8} [^] DataStore[data] can't save data 'HashKey[568cc9d5]'
[13:36:07.841] {http://*:9999-8} [^] SessionImpl[aaa3MOv5T3BDk5nMalX5s,]: can't serialize session
                                 java.lang.RuntimeException: Can't save the data 'HashKey[568cc9d5]'
                                     at com.caucho.server.distcache.AbstractCacheManager.writeData(AbstractCacheManager.java:890)
                                     at com.caucho.server.distcache.AbstractCacheManager.putStream(AbstractCacheManager.java:412)
                                     at com.caucho.server.distcache.FileCacheEntry.put(FileCacheEntry.java:116)
                                     at com.caucho.distcache.AbstractCache.put(AbstractCache.java:565)
                                     at com.caucho.server.session.SessionImpl.save(SessionImpl.java:797)
                                     at com.caucho.server.session.SessionImpl.saveAfterRequest(SessionImpl.java:768)
                                     at com.caucho.server.session.SessionImpl.finishRequest(SessionImpl.java:575)
                                     at com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:616)
                                     at com.caucho.server.webapp.ForwardRequest.finishRequest(ForwardRequest.java:103)
                                     at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:300)
                                     at com.caucho.server.webapp.RequestDispatcherImpl.error(RequestDispatcherImpl.java:128)
                                     at com.caucho.server.webapp.ErrorPageManager.handleErrorStatus(ErrorPageManager.java:757)
                                     at com.caucho.server.webapp.ErrorPageManager.sendErrorImpl(ErrorPageManager.java:617)
                                     at com.caucho.server.webapp.ErrorPageManager.sendError(ErrorPageManager.java:590)
                                     at com.caucho.server.http.HttpServletResponseImpl.sendError(HttpServletResponseImpl.java:656)
                                     at com.caucho.server.http.HttpServletResponseImpl.sendError(HttpServletResponseImpl.java:603)
                                     at com.caucho.servlets.FileServlet.service(FileServlet.java:349)
                                     at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
                                     at com.overteam.filter.CharsetFilter.doFilter(CharsetFilter.java:45)
                                     at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
                                     at com.overteam.filter.FolderFilter.doFilter(FolderFilter.java:86)
                                     at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
                                     at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:184)
                                     at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
                                     at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
                                     at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:794)
                                     at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:729)
                                     at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:688)
                                     at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:668)
                                     at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:616)
                                     at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)
                                     at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
                                     at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
                                     at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67)
                                     at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
                                     at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
OS: Centos 5.5 64bit
Java SE v1.6.0.24 64bit

There are no notes attached to this issue.