Symptom
The IQ server fails when sort merge join node gets wrongly ordered input from its child.
Excerpt of IQMSG:
0000050939 ********************************************************
0000050939 **
0000050939 ** Non-Fatal IQ Internal Error Detected
0000050939 ** at dfo.cxx:10754 on thread0000000028 (TID 11)
0000050939 ** Input to merge join #28 from child #25 not ordered as required. Key: FPVALUE(FPORDINAL(DWH.D_PF_COLL_REFE_COUL.CO_COULEUR, 2))
0000050939 ** Error detected at DFO #25 Join (Sort-Merge)
0000050939 **
0000050939 ** Please report this to Sybase IQ support
0000050939 ** with the following diagnostic information,
0000050939 ** and, if possible, with the user's command.
0000050939 **
0000050939 ** Error from IQ connection: SA connHandle: 13291 SA connID: 26 IQ connID: 0000050939 User: DWHRDR
0000050939 ** Time of error: 2016-10-10 16:42:16
0000050939 ** IQ Version: Sybase IQ/15.4.0/150610/P/ESD6
0000050939 ** OS info: IQ built on: Enterprise Linux64 - x86_64 - 2.6.18-194.el5, Executed on: Linux/PFR1SIQ1/2.6.32-220.el6.x86_64/#1 SMP Wed Nov 9 08:03:13 EST 2011/x86_64
0000050939 ** Command status when error occured: CURSOR ACTIVE
0000050939 ** Command text: ..............................
..........................................................................................................................
***************** This is the STACKTRACE ***************
0000000028
===== Thread Number 2132 (IQ connID: 0000000028) =====
0000000028 pc: 0x0000000010569106: void __cdecl pcpstack(unsigned long,unsigned long,class db_log * __ptr64,class hos_fd * __ptr64,int) 00000001804f8ff0 f hos_stacktrace.o +0x116
0000000028 pc: 0x000000001056B46C: void __cdecl StackTraceForThisThread(char const * __ptr64,int,char const * __ptr64,char const * __ptr64,char const * __ptr64) 00000001804fb050 f hos_stacktrace.o +0x41c
0000000028 pc: 0x000000001007C9DA: public: __cdecl df_Exception::df_Exception(char const * __ptr64,int,enum df_Exception::df_ErrorCode,char const * __ptr64,char const * __ptr64,class dfo const * __ptr64,class df_Evaluable const * __ptr64) __ptr64 000000018000b860 f df_Exception.o +0x117a
0000000028 pc: 0x000000001007D0A6: public: static void __cdecl df_Exception::ThrowException(char const * __ptr64,int,enum df_Exception::df_ErrorCode,char const * __ptr64,char const * __ptr64,class dfo const * __ptr64,class df_Evaluable const * __ptr64) 000000018000d060 f df_Exception.o +0x46
0000000028 pc: 0x00000000101CDA28: public: void __cdecl dfo::ValidateOutputOrdering(class dfo const * __ptr64,char const * __ptr64,class hos_vector_noerror const & __ptr64)const __ptr64 000000018015d010 f dfo.o +0xa18
0000000028 pc: 0x000000001019FB61: public: void __cdecl dfjo_MergeBase::ValidateInputOrdering(unsigned int)const __ptr64 000000018012faa0 f dfjo_Merge.o +0xc1
0000000028 pc: 0x00000000101F5866: protected: virtual void __cdecl dfo_Join::ValidateDFOInputOrdering(void)const __ptr64 0000000180185820 f dfo_Join.o +0x46
0000000028 pc: 0x00000000101B62B0: protected: void __cdecl dfo::ValidateInputOrderings(void)const __ptr64 0000000180146280 f dfo.o +0x30
0000000028 pc: 0x00000000101B62B0: protected: void __cdecl dfo::ValidateInputOrderings(void)const __ptr64 0000000180146280 f dfo.o +0x30
0000000028 pc: 0x00000000101B62B0: protected: void __cdecl dfo::ValidateInputOrderings(void)const __ptr64 0000000180146280 f dfo.o +0x30
0000000028 pc: 0x00000000101B62B0: protected: void __cdecl dfo::ValidateInputOrderings(void)const __ptr64 0000000180146280 f dfo.o +0x30
0000000028 pc: 0x00000000101B62B0: protected: void __cdecl dfo::ValidateInputOrderings(void)const __ptr64 0000000180146280 f dfo.o +0x30
0000000028 pc: 0x000000001020AB9F: public: virtual void __cdecl dfo_Root::Prepare(void) __ptr64 000000018019a610 f dfo_Root.o +0x58f
0000000028 pc: 0x0000000010AA3EC7: public: virtual void __cdecl st_cursorIQtoSA::Prepare(void) __ptr64 0000000180a33bf0 f st_cursor.o +0x2d7
0000000028 pc: 0x00000000100BAC8A: private: virtual void __cdecl df_OpenCursor::Prepare(void) __ptr64 000000018004ac40 f df_dmlcommands.o +0x4a
0000000028 pc: 0x0000000010A9E4DD: public: void __cdecl st_command::DoCmdThroughResourceGate(void) __ptr64 0000000180a2e400 f st_command.o +0xdd
0000000028 pc: 0x0000000010AD1485: public: virtual unsigned int __cdecl st_iqdml::OpenCursor(struct a_statement * __ptr64,class UIConnection * __ptr64,class UICursor * __ptr64,class a_cursor_spec * __ptr64,enum a_cursor_orientation) __ptr64 0000000180a61450 f st_iqdml.o +0x35
0000000028 pc: 0x0000000010AFD4AB: UIQDML_OpenCursor 0000000180a8d480 f iqdml_iq.o +0x2b
0000000028 pc: 0x0000000010AF7544: public: void __cdecl st_SAIQInterfaceInfo::callFunction(void) __ptr64 0000000180a87530 f st_SAIQInterface.o +0x14
0000000028 pc: 0x0000000010B30C13: public: void __cdecl st_SAIQInterface::RunIQFunc(class st_SAIQInterfaceInfo * __ptr64) __ptr64 0000000180ac0a90 f st_SAIQInterfacen.o +0x183
0000000028 pc: 0x0000000010AF7A3F: public: void __cdecl st_SAIQInterface::Execute(int,void * __ptr64,unsigned int (__cdecl*)(void * __ptr64,void * __ptr64),void * __ptr64,unsigned int) __ptr64 0000000180a876a0 f st_SAIQInterface.o +0x39f
0000000028 pc: 0x00000000105A1AF5: public: unsigned int __cdecl UIQDML::OpenCursor(struct a_statement * __ptr64,class IConnection * __ptr64,class ICursor * __ptr64,class a_cursor_spec * __ptr64,enum a_cursor_orientation) __ptr64 0000000180531a80 f i saint_iqthresholddml.o +0x75
0000000028 pc: 0x00000000105A28EB: public: virtual unsigned int __cdecl saint_iqthresholddml::OpenCursor(struct a_statement * __ptr64,class IConnection * __ptr64,class ICursor * __ptr64,class a_cursor_spec * __ptr64,enum a_cursor_orientation) __ptr64 00000001805328a0 f saint_iqthresholddml.o +0x4b
0000000028 pc: 0x00000000202AEB1C: public: virtual enum dfo::Status __cdecl df_OmniRowScan::Restart(enum a_cursor_orientation) __ptr64 00000000202ae9f0 f df_omnirowscan.obj +0x12c
0000000028 pc: 0x00000000202960C9: protected: virtual enum dfo::Status __cdecl dfo_Scan::DoFetch(enum a_cursor_orientation) __ptr64 0000000020296080 f dfo_scan.obj +0x49
0000000028 pc: 0x0000000020293EF2: protected: virtual enum dfo::Status __cdecl dfo_Scan::DoFirstFetch(enum a_cursor_orientation) __ptr64 0000000020293e20 f dfo_scan.obj +0xd2
0000000028 pc: 0x000000002028404C: public: enum dfo::Status __cdecl dfo_Base::Fetch(enum a_cursor_orientation) __ptr64 0000000020283fd0 f dfo_base.obj +0x7c
0000000028 pc: 0x000000002028A7EC: protected: virtual enum dfo::Status __cdecl dfo_Root::DoFetch(enum a_cursor_orientation) __ptr64 000000002028a760 f dfo_root.obj +0x8c
0000000028 pc: 0x00000000202849C6: protected: virtual enum dfo::Status __cdecl dfo_Root::DoFirstFetch(enum a_cursor_orientation) __ptr64 00000000202849b0 f dfo_root.obj +0x16
0000000028 pc: 0x000000002028404C: public: enum dfo::Status __cdecl dfo_Base::Fetch(enum a_cursor_orientation) __ptr64 0000000020283fd0 f dfo_base.obj +0x7c
0000000028 pc: 0x0000000020285C2D: protected: virtual enum a_search_status __cdecl dfo_Root::DoFetchRelative(long,long * __ptr64) __ptr64 0000000020285ba0 f dfo_root.obj +0x8d
0000000028 pc: 0x0000000020285B0B: public: virtual enum a_search_status __cdecl dfo_Root::FetchRelative(long,long * __ptr64) __ptr64 0000000020285a90 f dfo_root.obj +0x7b
0000000028 pc: 0x000000002010D854: enum a_search_status __cdecl do_move_cursor(struct a_db_cursor * __ptr64,long,unsigned int,unsigned int,unsigned int) 000000002010d7e0 f ricursor.obj +0x74
0000000028 pc: 0x000000002010E485: unsigned int __cdecl dbi_fetch(struct a_db_cursor * __ptr64,long,unsigned short,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int) 000000002010e3b0 f ricursor.obj +0xd5
0000000028 pc: 0x00000000201D189D: void __cdecl db__fetch(class Connection * __ptr64,struct an_sqlpres_receive * __ptr64) 00000000201d1500 f rnsql.obj +0x39d
0000000028 pc: 0x00000000201E49B4: public: virtual void __cdecl RequestProcedure::call(void) __ptr64 00000000201e4430 f rnstream.obj +0x584
0000000028 pc: 0x00000000200A5F0B: public: void __cdecl Context::call(class Procedure * __ptr64,class Context * __ptr64 * __ptr64) __ptr64 00000000200a5eb0 f worker.obj +0x5b
0000000028 pc: 0x00000000200A61AE: public: void __cdecl Worker::call_on_stack(class Procedure * __ptr64) __ptr64 00000000200a6160 f worker.obj +0x4e
0000000028 pc: 0x00000000201E0657: public: virtual void __cdecl TopProcedure::call(void) __ptr64 00000000201e0620 f rnstream.obj +0x37
0000000028 pc: 0x00000000200A8082: public: int __cdecl Worker::spawn(class Procedure * __ptr64) __ptr64 00000000200a7f90 f worker.obj +0xf2
0000000028 pc: 0x00000000201E2085: public: void __cdecl EngStream::handle_ind(unsigned char,unsigned int) __ptr64 00000000201e1f50 f rnstream.obj +0x135
0000000028 pc: 0x00000000201E2FFB: public: void __cdecl EngStream::execute(void) __ptr64 00000000201e2d10 f rnstream.obj +0x2eb
0000000028 pc: 0x00000000201E0992: public: virtual unsigned int __cdecl RQBaseItem::do_work(class Worker * __ptr64) __ptr64 00000000201e0970 f rnstream.obj +0x22
0000000028 pc: 0x000000002020144D: public: static void __cdecl RequestQueue::worker_body(void) 00000000202013e0 f kernel.obj +0x6d
0000000028 pc: 0x00000000201E095B: void __cdecl request_task(void * __ptr64) 00000000201e0900 f rnstream.obj +0x5b
0000000028 pc: 0x000000002050E0DC: private: static void __cdecl W32Task::pre_body(void * __ptr64) 000000002050e040 f ntkernel.obj +0x9c
0000000028 pc: 0x00000000772D652D: BaseThreadInitThunk + 13
0000000028 pc: 0x000000007756C521: RtlUserThreadStart +
Read more...
Environment
SAP Sybase IQ 15.4
Product
Keywords
CR741036, 741036, CR#741036, stacktrace, stktrc , KBA , BC-SYB-IQ , Sybase IQ , Problem
About this page
This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).Search for additional results
Visit SAP Support Portal's SAP Notes and KBA Search.