edited database resource and get a fatal server error now

Post any questions regarding Installing or Upgrading Ebase, including problems starting up the Ebase Xi Server or Designer

Moderators: Jon, Steve, Ian, Dave

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

edited database resource and get a fatal server error now

#1

Postby Segi » Thu Jul 02, 2015 10:49 pm

I added a column to a database resource called Users. I then went to a form, right clicked on the table and chose Add Columns to import the column and got an error "Error on server, see log for details. - a server programming error occurred." Once I clicked on Ok, import columns was greyed out.

The application console shows this error:

Code: Select all

java.lang.NullPointerException
Thu Jul 02 15:47:35: ERROR com.ebasetech.ufs.runtime.FormInitialisationException
java.lang.NullPointerExceptionThu Jul 02 15:47:54: ERROR Error detected by the designer server component:
It appears that my Users database resource is somehow corrupted. I get this same error if I try to edit the Users database resource. Because of this error the securityManager logon which uses this resource does not succeed and my entire Intranet is not accessible.

I have restarted the designer, eBase and restarted my server and this problem still persists.

I was able to restore a backed up installation of eBase, export the database resource from the backup and import it into my production eBase installation and it works now but I still don't understand why this happened in the first place. I've added a column to a database resource hundreds of times and I've never had any issues doing so. I hope that you can find out why a simple database resource edit can cause an entire server to be brought to its knees.
0 x

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

#2

Postby Jon » Fri Jul 03, 2015 10:44 am

Do you have the stack trace for this server error? This should be in one of the log files in tomcat/logs on the server.
0 x

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

#3

Postby Segi » Mon Jul 06, 2015 3:09 pm

here's my ufsserver.log

Code: Select all

Thu Jul 02 16:06:42:  UFS Designer server component initialised successfully
Thu Jul 02 16:06:42:  Workflow servlet component initialised successfully
Thu Jul 02 16:06:47:  Error starting system service ebaseLogonService - null
Thu Jul 02 16:06:47:  FormCacheLoader: start
Thu Jul 02 16:06:47:  FormCacheLoader: end
Thu Jul 02 16:06:51: ERROR Unexpected exception initialising form
java.lang.NullPointerException
	at java.util.Hashtable.put(Unknown Source)
	at com.ebasetech.ufs.mapping.Source.addSourceField(Source.java:195)
	at com.ebasetech.ufs.kernel.repository.source.SourceRepository.setSourceFields(SourceRepository.java:550)
	at com.ebasetech.ufs.kernel.repository.source.SourceRepository.loadSourceFromRespository(SourceRepository.java:88)
	at com.ebasetech.ufs.kernel.repository.source.DBSourceRepository.loadDBSourceFromRepository(DBSourceRepository.java:36)
	at com.ebasetech.ufs.designer.server.entityTypes.SvrDatabaseResourceEntityType.loadFromRepository(SvrDatabaseResourceEntityType.java:24)
	at com.ebasetech.ufs.kernel.UFSElementCache.loadFromRepository(UFSElementCache.java:90)
	at com.ebasetech.ufs.kernel.UFSElementCache.getUFSObject(UFSElementCache.java:60)
	at com.ebasetech.ufs.kernel.UFSElementCache.getUFSObject(UFSElementCache.java:31)
	at com.ebasetech.ufs.designer.server.SvrEntityType.read(SvrEntityType.java:109)
	at com.ebasetech.ufs.kernel.UFSElementFactory.getEntity(UFSElementFactory.java:326)
	at com.ebasetech.ufs.kernel.UFSElementFactory.fetchEntity(UFSElementFactory.java:313)
	at com.ebasetech.ufs.kernel.TestComponentEntityFetcher.fetchEntity(TestComponentEntityFetcher.java:44)
	at com.ebasetech.ufs.utility.entityStore.RuntimeHeadlessEntityFetcherDecorator.fetchEntity(RuntimeHeadlessEntityFetcherDecorator.java:24)
	at com.ebasetech.ufs.utility.entityStore.EntityStore.fetch(EntityStore.java:142)
	at com.ebasetech.ufs.utility.entityStore.EntityStore.getDbSource(EntityStore.java:87)
	at com.ebasetech.ufs.runtime.resources.RuntimeBusinessView.getSource(RuntimeBusinessView.java:148)
	at com.ebasetech.ufs.runtime.resources.RuntimeBusinessView.getSource(RuntimeBusinessView.java:140)
	at com.ebasetech.ufs.runtime.resources.RuntimeBusinessView.getRuntimeSource(RuntimeBusinessView.java:60)
	at com.ebasetech.ufs.runtime.RuntimeHeadless.getRuntimeSource(RuntimeHeadless.java:486)
	at com.ebasetech.ufs.runtime.RuntimeTableField.initialiseSource(RuntimeTableField.java:1107)
	at com.ebasetech.ufs.runtime.RuntimeTableField.initialise(RuntimeTableField.java:58)
	at com.ebasetech.ufs.runtime.RuntimeHeadless.createRuntimeTableField(RuntimeHeadless.java:380)
	at com.ebasetech.ufs.runtime.RuntimeHeadless.createRuntimeTableFields(RuntimeHeadless.java:371)
	at com.ebasetech.ufs.runtime.RuntimeHeadless.reload(RuntimeHeadless.java:177)
	at com.ebasetech.ufs.runtime.RuntimeForm.reload(RuntimeForm.java:160)
	at com.ebasetech.ufs.runtime.RuntimeForm.initialise(RuntimeForm.java:116)
	at com.ebasetech.ufs.runtime.FormEngine.makeRuntimeHeadless(FormEngine.java:669)
	at com.ebasetech.ufs.runtime.FormEngine.generateCachedRuntimeHeadless(FormEngine.java:581)
	at com.ebasetech.ufs.runtime.FormEngine.getRuntimeHeadless(FormEngine.java:511)
	at com.ebasetech.ufs.runtime.FormEngine.getRuntimeForm(FormEngine.java:446)
	at com.ebasetech.ufs.runtime.FormUserState.lookupRuntimeFormInFormEngine(FormUserState.java:153)
	at com.ebasetech.ufs.runtime.FormUserState.resetRuntimeForm(FormUserState.java:133)
	at com.ebasetech.ufs.runtime.HeadlessUserState.hookupRuntime(HeadlessUserState.java:396)
	at com.ebasetech.ufs.runtime.FormEngineSession.registerRuntimeUsed(FormEngineSession.java:15)
	at com.ebasetech.ufs.runtime.UserState.setUserForm(UserState.java:183)
	at com.ebasetech.ufs.runtime.UserState.setUserForm(UserState.java:154)
	at formservlets.FormProcessingUtil.initialiseForm(FormProcessingUtil.java:399)
	at formservlets.FormProcessor.initialiseForm(FormProcessor.java:112)
	at formservlets.FormProcessor.prepareForm(FormProcessor.java:97)
	at formservlets.FormProcessor.runForm(FormProcessor.java:44)
	at formservlets.FormClient.process(FormClient.java:112)
	at formservlets.FormClient.doGet(FormClient.java:46)
	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:291)
	at formservlets.EbaseFilter.processRequest(EbaseFilter.java:197)
	at formservlets.EbaseFilter.performFilter(EbaseFilter.java:141)
	at formservlets.EbaseFilter.doFilter(EbaseFilter.java:94)
	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$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Thu Jul 02 16:06:57: ERROR Unexpected exception initialising form
java.lang.NullPointerException
	at java.util.Hashtable.put(Unknown Source)
	at com.ebasetech.ufs.mapping.Source.addSourceField(Source.java:195)
	at com.ebasetech.ufs.kernel.repository.source.SourceRepository.setSourceFields(SourceRepository.java:550)
	at com.ebasetech.ufs.kernel.repository.source.SourceRepository.loadSourceFromRespository(SourceRepository.java:88)
	at com.ebasetech.ufs.kernel.repository.source.DBSourceRepository.loadDBSourceFromRepository(DBSourceRepository.java:36)
	at com.ebasetech.ufs.designer.server.entityTypes.SvrDatabaseResourceEntityType.loadFromRepository(SvrDatabaseResourceEntityType.java:24)
	at com.ebasetech.ufs.kernel.UFSElementCache.loadFromRepository(UFSElementCache.java:90)
	at com.ebasetech.ufs.kernel.UFSElementCache.getUFSObject(UFSElementCache.java:60)
	at com.ebasetech.ufs.kernel.UFSElementCache.getUFSObject(UFSElementCache.java:31)
	at com.ebasetech.ufs.designer.server.SvrEntityType.read(SvrEntityType.java:109)
	at com.ebasetech.ufs.kernel.UFSElementFactory.getEntity(UFSElementFactory.java:326)
	at com.ebasetech.ufs.kernel.UFSElementFactory.fetchEntity(UFSElementFactory.java:313)
	at com.ebasetech.ufs.kernel.TestComponentEntityFetcher.fetchEntity(TestComponentEntityFetcher.java:44)
	at com.ebasetech.ufs.utility.entityStore.RuntimeHeadlessEntityFetcherDecorator.fetchEntity(RuntimeHeadlessEntityFetcherDecorator.java:24)
	at com.ebasetech.ufs.utility.entityStore.EntityStore.fetch(EntityStore.java:142)
	at com.ebasetech.ufs.utility.entityStore.EntityStore.getDbSource(EntityStore.java:87)
	at com.ebasetech.ufs.runtime.resources.RuntimeBusinessView.getSource(RuntimeBusinessView.java:148)
	at com.ebasetech.ufs.runtime.resources.RuntimeBusinessView.getSource(RuntimeBusinessView.java:140)
	at com.ebasetech.ufs.runtime.resources.RuntimeBusinessView.getRuntimeSource(RuntimeBusinessView.java:60)
	at com.ebasetech.ufs.runtime.RuntimeHeadless.getRuntimeSource(RuntimeHeadless.java:486)
	at com.ebasetech.ufs.runtime.RuntimeTableField.initialiseSource(RuntimeTableField.java:1107)
	at com.ebasetech.ufs.runtime.RuntimeTableField.initialise(RuntimeTableField.java:58)
	at com.ebasetech.ufs.runtime.RuntimeHeadless.createRuntimeTableField(RuntimeHeadless.java:380)
	at com.ebasetech.ufs.runtime.RuntimeHeadless.createRuntimeTableFields(RuntimeHeadless.java:371)
	at com.ebasetech.ufs.runtime.RuntimeHeadless.reload(RuntimeHeadless.java:177)
	at com.ebasetech.ufs.runtime.RuntimeForm.reload(RuntimeForm.java:160)
	at com.ebasetech.ufs.runtime.RuntimeForm.initialise(RuntimeForm.java:116)
	at com.ebasetech.ufs.runtime.FormEngine.makeRuntimeHeadless(FormEngine.java:669)
	at com.ebasetech.ufs.runtime.FormEngine.generateCachedRuntimeHeadless(FormEngine.java:581)
	at com.ebasetech.ufs.runtime.FormEngine.getRuntimeHeadless(FormEngine.java:511)
	at com.ebasetech.ufs.runtime.FormEngine.getRuntimeForm(FormEngine.java:446)
	at com.ebasetech.ufs.runtime.FormUserState.lookupRuntimeFormInFormEngine(FormUserState.java:153)
	at com.ebasetech.ufs.runtime.FormUserState.resetRuntimeForm(FormUserState.java:133)
	at com.ebasetech.ufs.runtime.HeadlessUserState.hookupRuntime(HeadlessUserState.java:396)
	at com.ebasetech.ufs.runtime.FormEngineSession.registerRuntimeUsed(FormEngineSession.java:15)
	at com.ebasetech.ufs.runtime.UserState.setUserForm(UserState.java:183)
	at com.ebasetech.ufs.runtime.UserState.setUserForm(UserState.java:154)
	at formservlets.FormProcessingUtil.initialiseForm(FormProcessingUtil.java:399)
	at com.ebasetech.ufs.runtime.TransferControlUtil.gotoForm(TransferControlUtil.java:35)
	at com.ebasetech.ufs.kernel.GotoFormRequest.doTransferControl(GotoFormRequest.java:20)
	at com.ebasetech.ufs.kernel.TransferControlRequest.transferControl(TransferControlRequest.java:75)
	at com.ebasetech.ufs.kernel.TransferControlRequest.access$000(TransferControlRequest.java:12)
	at com.ebasetech.ufs.kernel.TransferControlRequest$1.execute(TransferControlRequest.java:50)
	at com.ebasetech.ufs.runtime.events.RunnableContext.execute(RunnableContext.java:69)
	at com.ebasetech.ufs.runtime.Request.execute(Request.java:436)
	at com.ebasetech.ufs.runtime.Request.execute(Request.java:449)
	at com.ebasetech.ufs.runtime.Request.execute(Request.java:405)
	at com.ebasetech.ufs.runtime.Request._execute(Request.java:343)
	at com.ebasetech.ufs.runtime.Request.execute(Request.java:308)
	at formservlets.FormProcessingUtil.executeRequest(FormProcessingUtil.java:480)
	at formservlets.FormProcessor.performExecution(FormProcessor.java:160)
	at formservlets.FormProcessor.processRequest(FormProcessor.java:147)
	at formservlets.FormProcessor.runForm(FormProcessor.java:45)
	at formservlets.FormClient.process(FormClient.java:112)
	at formservlets.FormClient.doGet(FormClient.java:46)
	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:291)
	at formservlets.EbaseFilter.processRequest(EbaseFilter.java:197)
	at formservlets.EbaseFilter.performFilter(EbaseFilter.java:141)
	at formservlets.EbaseFilter.doFilter(EbaseFilter.java:94)
	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$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Thu Jul 02 16:06:57: ERROR com.ebasetech.ufs.runtime.FormInitialisationException
0 x

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

#4

Postby Jon » Tue Jul 07, 2015 10:27 am

It looks like you somehow managed to add a resource field with no name to your database resource. This is a bug in the designer - it shouldn't let you do this in any circumstance. Then when the resource was subsequently loaded, either by the designer or the server, you get an error.

Thanks for reporting this, we'll fix it. If it happens to you again, you should delete and recreate the resource, or import a backup copy.

Regards
Jon
0 x

LKirby
Ebase User
Posts: 37
Joined: Wed Mar 13, 2013 11:33 am
Contact:

#5

Postby LKirby » Tue Jul 07, 2015 10:04 pm

In case it hasn't been reported already, you can still add fields in the form designer without a name, and even though an error message still appears, the field is still added to the fields list.
0 x


Who is online

Users browsing this forum: No registered users and 9 guests