|
IDS Forum
Re: 392: System error - unexpected null pointe....
Posted By: Frank Langelage Date: Tuesday, 17 May 2016, at 4:38 p.m.
In Response To: Re: 392: System error - unexpected null pointe.... (Frank Langelage)
Some more investigations done.
When I remove the "AUTH.RESOURCE_ID_ IS NOT NULL" condition in line 17, the statement get's parsed and executed without errors.
Even moere detailed, the NOT is causing the problem, "AUTH.RESOURCE_ID_ IS NULL" is also working but certainly changes the logic of the statement. "NOT ( AUTH.RESOURCE_ID_ IS NULL )" does also not work.
But e.g. "LENGTH(AUTH.RESOURCE_ID_) > 0" does work.
Strange.
1 SELECT count(DISTINCT RES.ID_)
2 FROM (
3 SELECT PROCDEF.*, INSTANCE.INSTANCE_COUNT_
4 FROM ACT_RE_PROCDEF PROCDEF
5 LEFT OUTER JOIN (
6 SELECT E.PROC_DEF_ID_, count(E.PROC_INST_ID_) AS INSTANCE_COUNT_
7 FROM ACT_RU_EXECUTION E
8 WHERE E.PARENT_ID_ IS NULL
9 GROUP BY E.PROC_DEF_ID_
10 ) INSTANCE ON PROCDEF.ID_ = INSTANCE.PROC_DEF_ID_
11 ) RES
12 LEFT JOIN (
13 SELECT A.*
14 FROM ACT_RU_AUTHORIZATION A
15 WHERE A.TYPE_ < 2 AND (A.USER_ID_ IN ('*')) AND
((A.RESOURCE_TYPE_ = 1 AND BITAND(A.PERMS_, 1) = 1))
16 ) AUTH ON (AUTH.RESOURCE_ID_ IN (RES.ID_, RES.KEY_, '*'))
17 WHERE AUTH.RESOURCE_ID_ IS NOT NULL AND (RES.TENANT_ID_ IS NULL)
On 17.05.16 21:06, Frank Langelage wrote:
> UDR = User-Defined-Routine?
> There is none.
> Just plain SQL using the built-in BITAND function.
>
> On 16.05.16 23:23, Paul Watson wrote:
>> A common UDR issue, you are not returning a datatype correctly or the one
>> you are trying to return has the wrong memory duration
>>
>> Cheers
>> Paul
>>
>> -----Original Message-----
>> From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of Frank
>> Langelage
>> Sent: Monday, May 16, 2016 4:16 PM
>> To: ids@iiug.org
>> Subject: Re: 392: System error - unexpected null pointe.... [37139]
>>
>> As I'm using Innovator Edition without support contract here I'm not in
>> the position to create a PMR AFAIK.
>> I'll check if this statement fails with same error code on different
>> versions and platforms tomorrow when back in the office.
>> I can't say precise if this has worked in the past, I think it has not
>> as it's new as it is now. It's not my software and I see that there were
>> changes in the area of the statement lately.
>> Yes, even on totally empty tables the problem persists.
>>
>> 22:40:10 Stack for thread: 99715 sqlexec
>> base: 0x000000011d05c000
>>
>> len: 69632
>>
>> pc: 0x000000010129fd80
>>
>> tos: 0x000000011d069a81
>> state: running
>>
>> vp: 1
>>
>> ucontext: <NULL>
>>
>> siginfo: <NULL>
>>
>> 0x10129fd80 oninit :: afstack + 0x74 sp=0x11d06a280(0x101400,
>> 0x1016f0000, 0x1016f0000, 0x0, 0x0, 0x11dfd1ca0)
>> 0x10129e1c4 oninit :: afhandler + 0xd50 sp=0x11d06a890(0x1, 0x401, 0x1,
>> 0x101b05000, 0x1153e6cb0, 0x101b05000)
>> 0x10129d294 oninit :: affail_interface + 0xbc
>> sp=0x11d06af60(0x11d06b190, 0x0, 0x11d06b0f0, 0x401, 0x0, 0x101665500)
>> 0x100b133e0 oninit :: check_traperror + 0x440 sp=0x11d06b030(0x101800,
>> 0x101af5, 0x188, 0x101800, 0x101800, 0x11528eea0)
>> 0x10033fe78 oninit :: sqerr + 0x5c8 sp=0x11d06b1e0(0xfffffffffffffe78,
>> 0x0, 0xfffffffffffffe78, 0x10181cef0, 0x101af5fa8, 0x11a7dd348)
>> 0x100479eac oninit :: bldprojexpr + 0x284 sp=0x11d06b320(0x116d2a7f0,
>> 0x117ecd248, 0x0, 0x1, 0x1, 0x117e052b0)
>> 0x100479ee4 oninit :: bldprojexpr + 0x2bc sp=0x11d06b410(0x116d2a7f0,
>> 0x117ecd090, 0x0, 0x1, 0x1, 0x101b05)
>> 0x100479ee4 oninit :: bldprojexpr + 0x2bc sp=0x11d06b500(0x116d2a7f0,
>> 0x117e05b68, 0x0, 0x1, 0x1, 0x117e05b68)
>> 0x100476d54 oninit :: itbldjoin + 0x788 sp=0x11d06b5f0(0x11a4d6860,
>> 0x11726fa40, 0x8, 0x0, 0x11a2bf2a8, 0x11a2bf158)
>> 0x100471570 oninit :: itbldquery + 0x5ec sp=0x11d06b6f0(0x11a4d6860,
>> 0x0, 0x11a7dd348, 0x0, 0x1, 0x11a4d4028)
>> 0x100475d84 oninit :: itcallbldquery + 0x128 sp=0x11d06b7c0(0x11dafb3e8,
>> 0x11d06b970, 0x11a7dd348, 0x11a4d6860, 0x11a4d4028, 0x11726f868)
>> 0x10046f814 oninit :: itbldroot + 0xc4 sp=0x11d06b8b0(0x11a4d6860,
>> 0x101af5000, 0x11a4d6860, 0x11a7dd348, 0x101af5, 0x101800)
>> 0x1003f73a0 oninit :: sqoptim + 0x4c90 sp=0x11d06b980(0x11a7dd348,
>> 0x18000110, 0x101af5000, 0x101af5000, 0x101800, 0x11726f868)
>> 0x1006b13d0 oninit :: bldstructs + 0x1dc sp=0x11d06be30(0x11a4d6860,
>> 0x11d06bf9c, 0x0, 0x101af5fa0, 0x0, 0x0)
>> 0x1006b10fc oninit :: sqcmd + 0x368 sp=0x11d06bee0(0x11726a028,
>> 0x11a4d6860, 0x101af5000, 0x11a7dd348, 0x2000, 0x0)
>> 0x1006b05c4 oninit :: sq_cmnd + 0x1e4 sp=0x11d06bfa0(0x272, 0x11aebc560,
>> 0x101af5f70, 0x11aebc4f8, 0x1156ef374, 0x0)
>> 0x1006b0c14 oninit :: sq_prepare + 0x34 sp=0x11d06c050(0x11a7dd348, 0x0,
>> 0x1, 0x11a7dd348, 0x101af5000, 0x101af5)
>> 0x10078a490 oninit :: sqmain + 0x930 sp=0x11d06c100(0x2, 0x0,
>> 0x10181cef0, 0x1, 0x20000, 0x101af5fa0)
>> 0x1013c37e4 oninit :: listen_verify + 0x48c sp=0x11d06c1d0(0x115384fd0,
>> 0x101800, 0x10181cef0, 0x11522c1c0, 0xc6, 0x0)
>> 0x1013c2fac oninit :: spawn_thread + 0x15a4 sp=0x11d06c670(0x114964268,
>> 0x0, 0x101800, 0x114965028, 0x0, 0x880d80)
>> 0x10129b950 oninit :: th_init_initgls + 0x170 sp=0x11d06cd10(0x10181c,
>> 0x101800, 0x1013c1a08, 0x101b05000, 0x11dfd1ca0, 0x11a7dd0c0)
>> 0x10125cca4 oninit :: startup + 0x1d0 sp=0x11d06ce50(0xa, 0x101afb560,
>> 0x101b05598, 0x7, 0x101af5460, 0x101b05598)
>>
>> create table "mbi".act_re_procdef
>>
>> (
>>
>> id_ varchar(64) not null ,
>>
>> rev_ integer,
>>
>> category_ varchar(255),
>>
>> name_ varchar(255),
>>
>> key_ varchar(255) not null ,
>>
>> version_ integer not null ,
>>
>> deployment_id_ varchar(64),
>>
>> resource_name_ lvarchar(4000),
>>
>> dgrm_resource_name_ lvarchar(4000),
>>
>> has_start_form_key_ "informix".boolean,
>>
>> suspension_state_ integer,
>>
>> tenant_id_ varchar(64),
>>
>> version_tag_ varchar(64),
>>
>> primary key (id_)
>>
>> ) extent size 16 next size 16 lock mode row;
>>
>> create index "mbi".act_idx_procdef_deployment_id on "mbi".act_re_procdef
>>
>> (deployment_id_) using btree in mbidbs;
>> create index "mbi".act_idx_procdef_tenant_id on "mbi".act_re_procdef
>>
>> (tenant_id_) using btree in mbidbs;
>> create index "mbi".act_idx_procdef_ver_tag on "mbi".act_re_procdef
>>
>> (version_tag_) using btree in mbidbs;
>>
>> create table "mbi".act_ru_authorization
>>
>> (
>>
>> id_ varchar(64) not null ,
>>
>> rev_ integer not null ,
>>
>> type_ integer not null ,
>>
>> group_id_ varchar(255),
>>
>> user_id_ varchar(255),
>>
>> resource_type_ integer not null ,
>>
>> resource_id_ varchar(64),
>>
>> perms_ integer,
>>
>> primary key (id_)
>>
>> ) extent size 16 next size 16 lock mode row;
>>
>> create index "mbi".act_idx_auth_group_id on "mbi".act_ru_authorization
>>
>> (group_id_) using btree in mbidbs;
>> create index "mbi".act_idx_auth_resource_id on "mbi".act_ru_authorization
>>
>> (resource_id_) using btree in mbidbs;
>> create unique index "mbi".act_uniq_auth_group on "mbi".act_ru_authorization
>>
>> (type_,"mbi".act_fct_group_id_or_id_(group_id_,id_) ,resource_type_,
>>
>> "mbi".act_fct_resource_id_or_id_(resource_id_,id_) ) using
>>
>> btree in mbidbs;
>> create unique index "mbi".act_uniq_auth_user on "mbi".act_ru_authorization
>>
>> (type_,"mbi".act_fct_user_id_or_id_(user_id_,id_) ,resource_type_,
>>
>> "mbi".act_fct_resource_id_or_id_(resource_id_,id_) ) using
>>
>> btree in mbidbs;
>>
>> create table "mbi".act_ru_execution
>>
>> (
>>
>> id_ varchar(64),
>>
>> rev_ integer,
>>
>> proc_inst_id_ varchar(64),
>>
>> business_key_ varchar(255),
>>
>> parent_id_ varchar(64),
>>
>> proc_def_id_ varchar(64),
>>
>> super_exec_ varchar(64),
>>
>> super_case_exec_ varchar(64),
>>
>> case_inst_id_ varchar(64),
>>
>> act_inst_id_ varchar(64),
>>
>> act_id_ varchar(255),
>>
>> is_active_ "informix".boolean,
>>
>> is_concurrent_ "informix".boolean,
>>
>> is_scope_ "informix".boolean,
>>
>> is_event_scope_ "informix".boolean,
>>
>> suspension_state_ integer,
>>
>> cached_ent_state_ integer,
>>
>> sequence_counter_ bigint,
>>
>> tenant_id_ varchar(64),
>>
>> primary key (id_)
>>
>> ) extent size 16 next size 16 lock mode row;
>>
>> create index "mbi".act_idx_exec_buskey on "mbi".act_ru_execution
>> (business_key_) using btree in mbidbs;
>> create index "mbi".act_idx_exec_tenant_id on "mbi".act_ru_execution
>> (tenant_id_) using btree in mbidbs;
>>
>> alter table "mbi".act_ru_execution add constraint (foreign key
>>
>> (proc_inst_id_) references "mbi".act_ru_execution constraint
>>
>> "mbi".act_fk_exe_procinst);
>> alter table "mbi".act_ru_execution add constraint (foreign key
>>
>> (parent_id_) references "mbi".act_ru_execution constraint
>>
>> "mbi".act_fk_exe_parent);
>> alter table "mbi".act_ru_execution add constraint (foreign key
>>
>> (super_exec_) references "mbi".act_ru_execution constraint
>>
>> "mbi".act_fk_exe_super);
>> alter table "mbi".act_ru_execution add constraint (foreign key
>>
>> (proc_def_id_) references "mbi".act_re_procdef constraint
>>
>> "mbi".act_fk_exe_procdef);
>>
>> On 13.05.16 10:11, Andreas Legner wrote:
>>> A support PMR?
>>>
>>> Has this been running already in the past? I.e. has it ever worked?
>>>
>>> Does it reproduce, in dbaccess, against empty tables
>> (ACT=5FRE=5FPROCDEF,=20
>>> ACT=5FRU=5FEXECUTION, ACT=5FRU=5FAUTHORIZATION)?
>>> If so you should provide the table schemas (dbschema -ss) to the PMR.
>>> If not, i.e. data is needed, we'd have to ask for that too.
>>>
>>> So far we don't even know the query phase this happens in, so you also=20
>>> might want to trap the error (onmode -I 392) and include the resulting af
>> =
>>> file in the PMR.
>>>
>>> Regards,
>>> Andreas
>>>
>>> From: "Frank Langelage" <frank@lafr.de>
>>> To: ids@iiug.org
>>> Date: 13.05.2016 09:43
>>> Subject: 392: System error - unexpected null pointer en.... [37105]
>>> Sent by: ids-bounces@iiug.org
>>>
>>> Running the unit tests of Camunda BPM engine on Informix IDS
>> 12.10.FC5IE=20
>>> on Solaris I saw this error:=20
>>>
>>> ### Error querying database. Cause: java.sql.SQLException: System error=20
>>> - unexpected null pointer encountered.=20
>>> ### The error may exist in=20
>>> org/camunda/bpm/engine/impl/mapping/entity/Statistics.xml=20
>>> ### The error may involve=20
>>>
>>>
>> org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionStatisticsE=
>>
>>> ntity.selectProcessDefinitionStatisticsCount-Inline=20
>>>
>>> ### The error occurred while setting parameters=20
>>> ### SQL: select count(distinct RES.ID=5F) from (=20
>>> select PROCDEF.* , INSTANCE.INSTANCE=5FCOUNT=5F=20
>>> from ACT=5FRE=5FPROCDEF PROCDEF left=20
>>> outer join ( select=20
>>> E.PROC=5FDEF=5FID=5F , count(E.PROC=5FINST=5FID=5F) as=20
>>> INSTANCE=5FCOUNT=5F from ACT=5FRU=5FEXECUTION E=20
>>> where E.PARENT=5FID=5F IS NULL group=20
>>> by E.PROC=5FDEF=5FID=5F ) INSTANCE=20
>>> on PROCDEF.ID=5F =3D INSTANCE.PROC=5FDEF=5FID=5F )=20
>>> RES left JOIN ( SELECT A.* FROM=20
>>> ACT=5FRU=5FAUTHORIZATION A WHERE A.TYPE=5F < 2 AND ( A.USER=5FID=5F=20
>>> in ( ?, '*') ) AND ( (=20
>>> A.RESOURCE=5FTYPE=5F =3D ? AND BITAND(A.PERMS=5F,?) =3D ? )=20
>>> ) ) AUTH ON (AUTH.RESOURCE=5FID=5F in (RES.ID=5F,=20
>>> RES.KEY=5F, '*')) WHERE AUTH.RESOURCE=5FID=5F IS NOT NULL and (RES.TENANT=
>>> =5FID=5F=20
>>> is null )=20
>>> ### Cause: java.sql.SQLException: System error - unexpected null
>> pointer=20
>>> encountered.=20
>>>
>>> at=20
>>>
>>>
>> org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactor=
>>
>>> y.java:26)=20
>>>
>>> at=20
>>>
>>>
>> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlS=
>>
>>> ession.java:111)=20
>>>
>>> at=20
>>>
>>>
>> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlS=
>>
>>> ession.java:102)=20
>>>
>>> at=20
>>>
>>>
>> org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSe=
>>
>>> ssion.java:66)=20
>>>
>>> at=20
>>>
>>>
>> org.camunda.bpm.engine.impl.db.sql.DbSqlSession.selectOne(DbSqlSession.java=
>>
>>> :107)=20
>>>
>>> at=20
>>>
>>>
>> org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectOne(DbEn=
>>
>>> tityManager.java:176)=20
>>>
>>> at=20
>>>
>>>
>> org.camunda.bpm.engine.impl.persistence.entity.StatisticsManager.getStatist=
>>
>>> icsCountGroupedByProcessDefinitionVersion(StatisticsManager.java:42)=20
>>>
>>> at=20
>>>
>>>
>> org.camunda.bpm.engine.impl.ProcessDefinitionStatisticsQueryImpl.executeCou=
>>
>>> nt(ProcessDefinitionStatisticsQueryImpl.java:39)=20
>>>
>>> at=20
>>>
>>>
>> org.camunda.bpm.engine.impl.AbstractQuery.evaluateExpressionsAndExecuteCoun=
>>
>>> t(AbstractQuery.java:178)=20
>>>
>>> at=20
>>>
>> org.camunda.bpm.engine.impl.AbstractQuery.execute(AbstractQuery.java:171)=20
>>
>>> at=20
>>>
>>>
>> org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(Command=
>>
>>> ExecutorImpl.java:24)=20
>>>
>>> at=20
>>>
>>>
>> org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(C=
>>
>>> ommandContextInterceptor.java:104)=20
>>>
>>> ..... 26 more=20
>>> Caused by: java.sql.SQLException: System error - unexpected null
>> pointer=20
>>> encountered.=20
>>>
>>> at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408)=20
>>>
>>> at com.informix.jdbc.IfxSqli.addException(IfxSqli.java:3178)=20
>>>
>>> at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3458)=20
>>>
>>> at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2369)=20
>>>
>>> at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2294)=20
>>>
>>> at com.informix.jdbc.IfxSqli.sendStatementQuery(IfxSqli.java:1601)=20
>>>
>>> at com.informix.jdbc.IfxSqli.executeExecute(IfxSqli.java:2220)=20
>>>
>>> at com.informix.jdbc.IfxSqli.executeExecute(IfxSqli.java:2175)=20
>>>
>>> at=20
>>> com.informix.jdbc.IfxResultSet.executeExecute(IfxResultSet.java:364)=20
>>>
>>> at=20
>>> com.informix.jdbc.IfxStatement.executeImpl(IfxStatement.java:1155)=20
>>>
>>> at=20
>>>
>> com.informix.jdbc.IfxPreparedStatement.execute(IfxPreparedStatement.java:41=
>>
>>> 4)=20
>>>
>>> at=20
>>>
>> com.informix.jdbc.IfxPreparedStatement.execute(IfxPreparedStatement.java:40=
>>
>>> 0)=20
>>>
>>> at=20
>>>
>>>
>> org.apache.ibatis.executor.statement.PreparedStatementHandler.query(Prepare=
>>
>>> dStatementHandler.java:59)=20
>>>
>>> at=20
>>>
>>>
>> org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingS=
>>
>>> tatementHandler.java:73)=20
>>>
>>> at=20
>>>
>> org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:60)=20
>>
>>> at=20
>>>
>>>
>> org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java=
>>
>>> :267)=20
>>>
>>> at=20
>>> org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:137)=20
>>>
>>> at=20
>>>
>> org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:96)=20
>>
>>> at=20
>>>
>> org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:77)=20
>>
>>> at=20
>>>
>>>
>> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlS=
>>
>>> ession.java:108)=20
>>>
>>> ..... 36 more=20
>>> Caused by: java.sql.SQLException=20
>>>
>>> at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408)=20
>>>
>>> at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3463)=20
>>>
>>> ..... 53 more=20
>>>
>>> First thought it might be related to ibatis or else, but using the=20
>>> statement, removing the variables (?) or replacing them with fixed=20
>>> values and running it through dbaccess gives me the same error:=20
>>>
>>> 1 SELECT count(DISTINCT RES.ID=5F)=20
>>>
>>> 2 FROM (=20
>>>
>>> 3 SELECT PROCDEF.*, INSTANCE.INSTANCE=5FCOUNT=5F=20
>>>
>>> 4 FROM ACT=5FRE=5FPROCDEF PROCDEF=20
>>>
>>> 5 LEFT OUTER JOIN (=20
>>>
>>> 6 SELECT E.PROC=5FDEF=5FID=5F, count(E.PROC=5FINST=5FID=5F)=20
>>> AS INSTANCE=5FCOUNT=5F=20
>>>
>>> 7 FROM ACT=5FRU=5FEXECUTION E=20
>>>
>>> 8 WHERE E.PARENT=5FID=5F IS NULL=20
>>>
>>> 9 GROUP BY E.PROC=5FDEF=5FID=5F=20
>>>
>>> 10 ) INSTANCE ON PROCDEF.ID=5F =3D INSTANCE.PROC=5FDEF=5FID=5F=20
>>>
>>> 11 ) RES=20
>>>
>>> 12 LEFT JOIN (=20
>>>
>>> 13 SELECT A.*=20
>>>
>>> 14 FROM ACT=5FRU=5FAUTHORIZATION A=20
>>>
>>> 15 WHERE A.TYPE=5F < 2 AND (A.USER=5FID=5F IN ('*')) AND=20
>>> ((A.RESOURCE=5FTYPE=5F =3D 1 AND BITAND(A.PERMS=5F, 1) =3D 1))=20
>>>
>>> 16 ) AUTH ON (AUTH.RESOURCE=5FID=5F IN (RES.ID=5F, RES.KEY=5F, '*'))=20
>>>
>>> 17 WHERE AUTH.RESOURCE=5FID=5F IS NOT NULL AND (RES.TENANT=5FID=5F IS
>> NULL)=
>>> =20
>>>
>>> 392: System error - unexpected null pointer encountered.=20
>>> Error in line 17=20
>>> Near character position 64=20
>>>
>>> Any ideas?=20
>>>
>>>
>> ***************************************************************************=
>>
>>> ****=20
>>>
>>> Forum Note: Use "Reply" to post a response in the discussion forum.=20
>>>
>>>
>>>
>> ****************************************************************************
>> ***
>>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>>
>>>
>> ****************************************************************************
>> ***
>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>
>>
>>
> *******************************************************************************
>> Forum Note: Use "Reply" to post a response in the discussion forum.
>>
>>
>
> *******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
Messages In This Thread
IDS Forum is maintained by Administrator with WebBBS 5.12.
|
|