Refactoring bug

Post any questions regarding Installing or Upgrading to V5, including problems starting and using the Ebase Server or Designer

Moderators: Ian, Dave, jcoulson, Jon, Wai

Segi
Ebase User
Posts: 585
Joined: Mon Dec 09, 2013 6:37 pm

Refactoring bug

#1

Postby Segi » Wed Dec 16, 2015 6:14 pm

I made a copy of our production instance of Ebase today and went through the process of upgrading it to Ebase 5.

When you start the server for the first time after setting upgrade=true in UFSSetup.properties, Ebase will refactor all of the resources and make all of the associations between resources and lists with the form that they belong to.

I wanted to let you know that the refactoring bug that I previously experienced when I attempted to upgrade to Ebase 5 a few weeks ago is still there and has the same behavior where one of my applications crashed on load because a database resource was not associated with the form and had to be manually re-added.

I am in the process of testing out our production applications and will update this post if I find any more refactoring bugs.

Please see if you guys can look into this so that the refactoring doesn't miss this kind of thing.
0 x

Jon
Moderator
Moderator
Posts: 1273
Joined: Wed Sep 12, 2007 12:49 pm

#2

Postby Jon » Thu Dec 17, 2015 8:58 am

Sorry about that, I thought this was fixed with the official release.
0 x

Segi
Ebase User
Posts: 585
Joined: Mon Dec 09, 2013 6:37 pm

#3

Postby Segi » Thu Dec 17, 2015 4:04 pm

Jon,

I ran into more issues that related to refactoring.

I had at least 3 forms that contained grids which generated an error.

When loading the form, an error would appear which stated that the control gridcell1_2 (The actual control name varies by the grid obviously) is duplicated. I was able to fix this by going to the grid and finding the cell in question and renaming it to something like gridcell1_99 for example and that took care of this problem. I did not see any obvious duplicate grid cell names by glancing at the grid.

Another major issue that I have found is the way that table resources are mapped to fields. One of my table resources was mapped completely incorrectly (which I verified by going to the resources tab, clicking on the table and selecting the "show mappings for resource" icon. My resource was associated with form fields instead of the database resource which had to be manually fixed.I have found 2 cases of this so far.
0 x

Jon
Moderator
Moderator
Posts: 1273
Joined: Wed Sep 12, 2007 12:49 pm

#4

Postby Jon » Thu Dec 17, 2015 4:16 pm

Segi,

We haven't seen any of these problems before. Do you think you could export the forms that are affected from a V4 system (assuming that you still have this) together with any associated elements and send it to support@ebasetech.com. A brief note of where the problems occur would also help.

Thanks in advance.

Regards
Jon
0 x

Segi
Ebase User
Posts: 585
Joined: Mon Dec 09, 2013 6:37 pm

#5

Postby Segi » Thu Dec 17, 2015 4:24 pm

Jon,

I have another urgent problem with a database resource and I don't know why its happening.

One of my forms calls fetchTable() on a multi row DB resource and it is throwing a NullPointerException. This resource worked perfectly in Ebase 4.

The resource is defined like this:

Code: Select all

SELECT RMA_Line.*,Part.PartDescription FROM RMA_Line LEFT JOIN Part ON Part.PartNum=RMA_Line.PartNum WHERE RMA_Nbr=&&RMA_Nbr ORDER BY RMA_Line

Here is the output from the log

Code: Select all

Thu Dec 17 08:32:51: ERROR com.ebasetech.xi.exceptions.FormRuntimeException: java.lang.NullPointerException
Thu Dec 17 08:34:05: ERROR java.lang.NullPointerException
com.ebasetech.ufs.runtime.events.rhinojavascript.JavascriptExecutionHandler$RhinoScriptException: java.lang.NullPointerException
	at com.ebasetech.ufs.runtime.events.rhinojavascript.JavascriptExecutionHandler.handleExecutionErrors(JavascriptExecutionHandler.java:178)
	at com.ebasetech.ufs.runtime.events.rhinojavascript.JavascriptExecutionHandler.execute(JavascriptExecutionHandler.java:118)
	at com.ebasetech.ufs.runtime.events.JVMScriptNode.execute_(JVMScriptNode.java:132)
	at com.ebasetech.ufs.runtime.events.JVMScriptNode.execute(JVMScriptNode.java:98)
	at com.ebasetech.ufs.runtime.events.RunnableContext.execute(RunnableContext.java:69)
	at com.ebasetech.ufs.runtime.events.SuspendableExecutable.execute(SuspendableExecutable.java:47)
	at com.ebasetech.ufs.runtime.events.SuspendableContainerExecutable.execute(SuspendableContainerExecutable.java:26)
	at com.ebasetech.ufs.runtime.events.BaseEventNode.execute(BaseEventNode.java:32)
	at com.ebasetech.ufs.runtime.events.RunnableContext.execute(RunnableContext.java:69)
	at com.ebasetech.ufs.runtime.events.SuspendableExecutable.execute(SuspendableExecutable.java:47)
	at com.ebasetech.ufs.runtime.events.SuspendableContainerExecutable.execute(SuspendableContainerExecutable.java:26)
	at com.ebasetech.ufs.runtime.events.RunnableContext.execute(RunnableContext.java:69)
	at com.ebasetech.ufs.runtime.events.SuspendableExecutable.execute(SuspendableExecutable.java:47)
	at com.ebasetech.ufs.runtime.events.SuspendableContainerExecutable.execute(SuspendableContainerExecutable.java:26)
	at com.ebasetech.ufs.runtime.events.RunnableContext.execute(RunnableContext.java:69)
	at com.ebasetech.ufs.runtime.events.SuspendableExecutable.execute(SuspendableExecutable.java:47)
	at com.ebasetech.ufs.runtime.events.SuspendableContainerExecutable.execute(SuspendableContainerExecutable.java:26)
	at com.ebasetech.ufs.runtime.events.RunnableContext.execute(RunnableContext.java:69)
	at com.ebasetech.ufs.runtime.Request.execute(Request.java:444)
	at com.ebasetech.ufs.runtime.Request.execute(Request.java:413)
	at com.ebasetech.ufs.runtime.Request._execute(Request.java:348)
	at com.ebasetech.ufs.runtime.Request.execute(Request.java:313)
	at formservlets.FormProcessingUtil.executeRequest(FormProcessingUtil.java:502)
	at formservlets.FormProcessor.performExecution(FormProcessor.java:160)
	at formservlets.FormProcessor.processRequest(FormProcessor.java:147)
	at formservlets.FormProcessor.runForm(FormProcessor.java:46)
	at formservlets.FormClient.process(FormClient.java:116)
	at formservlets.FormClient.doGet(FormClient.java:48)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at formservlets.EbaseFilter.processHtmlRequest(EbaseFilter.java:321)
	at formservlets.EbaseFilter.processRequest(EbaseFilter.java:228)
	at formservlets.EbaseFilter.performFilter(EbaseFilter.java:173)
	at formservlets.EbaseFilter.doFilter(EbaseFilter.java:99)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:198)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:176)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
0 x

Segi
Ebase User
Posts: 585
Joined: Mon Dec 09, 2013 6:37 pm

#6

Postby Segi » Thu Dec 17, 2015 4:31 pm

Jon,

I played around with this resource (which has been very buggy since the upgrade to Ebase 5) and discovered one of the fields was mapped to a database resource field when it should have been mapped to a form field. After changing the field mapping, it seems to be working now.
0 x

Jon
Moderator
Moderator
Posts: 1273
Joined: Wed Sep 12, 2007 12:49 pm

#7

Postby Jon » Thu Dec 17, 2015 5:07 pm

There should be more to this stack trace - under "caused by". This is the bit that tells us where it has gone wrong.
0 x

Segi
Ebase User
Posts: 585
Joined: Mon Dec 09, 2013 6:37 pm

#8

Postby Segi » Thu Dec 17, 2015 5:09 pm

Jon,

Just this line:

Thu Dec 17 08:32:51: ERROR com.ebasetech.xi.exceptions.FormRuntimeException: java.lang.NullPointerException
0 x

Jon
Moderator
Moderator
Posts: 1273
Joined: Wed Sep 12, 2007 12:49 pm

#9

Postby Jon » Thu Dec 17, 2015 5:14 pm

There should be more "at" lines under "caused by" which report where the NullPointerException has occurred - the one reported at the top is just a common catch point for all Javascript errors - it doesn't show the actual problem.
0 x

Segi
Ebase User
Posts: 585
Joined: Mon Dec 09, 2013 6:37 pm

#10

Postby Segi » Thu Dec 17, 2015 10:11 pm

there isn't anything else related to that error. The following lines relate to the next error which occurred at a later time
0 x

Segi
Ebase User
Posts: 585
Joined: Mon Dec 09, 2013 6:37 pm

#11

Postby Segi » Thu Dec 17, 2015 11:26 pm

Another refactoring bug to report.

I was getting an error on one of my forms that a table is not backed by a resource.

When I go to the table, the resource field for that table is blank and needs to be manually re-assigned to the database resource. Not a big deal to fix but thought that I would let you guys know.
0 x


Who is online

Users browsing this forum: No registered users and 1 guest