cancel
Showing results for 
Search instead for 
Did you mean: 

ORA-01400 error: inserting NULL into act_ru_variable.name_

gwaptiva
Champ in-the-making
Champ in-the-making
Hi, I tried to search but the forum software thinks all the terms I can think of to specify my issue are too common. Probably should raise a request then to rename the act_ru_variable table  :?

Anyway, had a skim of the first few pages of topics and found nothing interesting.

We've embedded Activiti 5.4 into our application; locally in unit and in click tests everything is running wonderfully, but at customer database suddenly throws an exception about attempting to set a NULL value to act_ru_variable.name_.

How would something like that come about? How would I define a variable without a name?

Any hints?
5 REPLIES 5

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
Curious what search tearms you used then, but using google/altavista/… is also an option.

One of the things I always do myself when I encounter an issue, is try the latest version of something.

Secondly, there seems no use in not using a name for a variable, so I wonder why you asked that

Thirdly, errors always are a part of a stacktrace, so unless you can provide that, it will be next to impossible for us to help you.

gwaptiva
Champ in-the-making
Champ in-the-making
Thanks for the quick response.

Essentially tried looking for stuff like "act_ru_variable null name_"

Anyway, here the stacktrace (at least I think that's the whole of it)

The WorkflowServiceImpl calls RuntimeService#startProcessInstanceById passing the id. The flow's startEvent opens a form, and upon submission this error occurs.

The reason I was wondering about nameless variables is because the stacktrace (or rather, the table and column names) suggests that there is a variable whose name is NULL.

Obviously, while it has been running fine in our test environments using H2 and MySQL, it could well be a configuration issue on the customer side…

[Edit: Tried to upload the stacktrace in a text file, but cannot see it anywhere.. ]

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
The stacktrace cannot be that long, so post it verbatim in code tags

frederikherema1
Star Contributor
Star Contributor
What is the code you're actually calling? Is there a form-property/variable with "null" name anywhere? If you're using form-properties, double-check if all "writable" properties have a variable or expression defined…

gwaptiva
Champ in-the-making
Champ in-the-making
Here the stacktrace, sorry for the confusion. And thanks for the tip; I'll go triple-check the form and its properties.


30.08.2011 17:00:34 org.activiti.engine.impl.interceptor.CommandContext close
SCHWERWIEGEND: Error while closing command context
org.apache.ibatis.exceptions.PersistenceException:
### Error updating database.  Cause: java.sql.SQLException: ORA-01400: cannot insert NULL into ("BCM_ADM"."ACT_RU_VARIABLE"."NAME_")
### The error may involve org.activiti.persistence.insertVariableInstance-Inline
### The error occurred while setting parameters
### Cause: java.sql.SQLException: ORA-01400: cannot insert NULL into ("BCM_ADM"."ACT_RU_VARIABLE"."NAME_")
  at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8)
  at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:100)
  at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:87)
  at org.activiti.engine.impl.db.DbSqlSession.flushInserts(DbSqlSession.java:392)
  at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:319)
   at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:134)
   at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:90)
   at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:49)
   at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42)
   at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
   at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40)
   at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
   at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstanceById(RuntimeServiceImpl.java:65)
   at de.controllit.alive.view.workflow.server.WorkflowServiceImpl.startWorkflow(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
   at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207)
   at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243)
   at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at de.controllit.alive.servlets.AliveFilter.finish(Unknown Source)
   at de.controllit.alive.servlets.AliveAccessFilter.doFilter(Unknown Source)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:421)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Thread.java:619)
  Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into ("BCM_ADM"."ACT_RU_VARIABLE"."NAME_")
   at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
   at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
   at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
   at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
   at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)
   at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970)
   at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190)
   at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)
   at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476)
   at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
   at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:22)
   at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:51)
   at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:29)
   at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:72)
   at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:43)
   at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:98)
   … 40 more