Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> multithreaded application, internal heap error

multithreaded application, internal heap error

From: Andreas Lederer <andreas_at_tecco.at>
Date: Tue, 19 Mar 2002 18:17:12 +0100
Message-ID: <3C977298.D3E08A45@tecco.at>


hallo!

i have some troubles with porting my applikation from windows to aix.

under windows there are no problems with my application (i have tested this with rational purify).

now, on aix 4.3.3 with oracle 8.1.7 the application is very instable, crashing sometimes with core dump sometimes with internal heap error ...

the application is c++ compiled with xlC (vacpp 5.0.2) and dynamically loads a c++ shared library which have the oracle functionality.

the oracle functionality is written with embedded sql and precompiled with proc version "Pro*C/C++: Release 8.1.7.0.0" then compiled with xlC and linked with libclntsh. the following options are set for proc:

		sys_include=$(ORACLE_HOME)/oci/include \
		sys_include=$(ORACLE_HOME)/plsql/public \
		sys_include=$(ORACLE_HOME)/plsql/demo \
		sys_include=$(ORACLE_HOME)/rdbms/demo \
		sys_include=$(ORACLE_HOME)/precomp/public \
		define=__STDC__ \
		hold_cursor=no \
		release_cursor=yes \
		threads=yes \
                objects=no \
		code=CPP \
		parse=partial

i also tried to compile with oraxlc which has the same effect.

are there some known bugs??

when i not explicity set hold_cursor or release_cursor

i get the following heap error when selecting:

    exec sql at :Og_Database_Name declare sql_command_1 STATEMENT;

    exec sql prepare sql_command_1 from :select_string;

    if (sqlca.sqlcode != 0) break;

    exec sql declare sql_cursor_1 cursor for sql_command_1;

    if (sqlca.sqlcode != 0) break;

    exec sql open sql_cursor_1 using descriptor Og_Sqlda_Bind_1_Ptr;

    if (sqlca.sqlcode != 0) break;
    exec sql describe select list for sql_command_1 into sqlda_select_ptr;


HEAP DUMP heap name="Alloc statemen" desc=0x204c2814  extent sz=0x0 alt=32767 het=32767 rec=32 flg=76 opc=6  parent=204c2434 owner=20477974 nex=0 xsz=0xd4c0a924 EXTENT 0
ERROR extent contains wrong ds 0
  Chunk       bc sz=        0  ERROR, BAD MAGIC NUMBER (0)
Total heap size    =        0

FREE LISTS:
 Bucket 0 size=272
 Bucket 1 size=528
 Bucket 2 size=0
 Bucket 3 size=4412160
 Bucket 4 size=541552312
 Bucket 5 size=0
 Bucket 6 size=2571
 Bucket 7 size=541862004
 Bucket 8 size=22
 Bucket 9 size=0
 Bucket 10 size=524288
 Bucket 11 size=0
 Bucket 12 size=0
 Bucket 13 size=0
 Bucket 14 size=0
 Bucket 15 size=541865212
 Bucket 16 size=0
 Bucket 17 size=25165824
 Bucket 18 size=0
 Bucket 19 size=65792
 Bucket 20 size=134217728
 Bucket 21 size=0
 Bucket 22 size=10
 Bucket 23 size=0
 Bucket 24 size=589824
 Bucket 25 size=0
 Bucket 26 size=0
 Bucket 27 size=0
 Bucket 28 size=0
 Bucket 29 size=541865240
 Bucket 30 size=0
 Bucket 31 size=25165824
 Bucket 32 size=0
 Bucket 33 size=65792
 Bucket 34 size=541862480
 Bucket 35 size=0
 Bucket 36 size=35
 Bucket 37 size=0
 Bucket 38 size=17498112
 Bucket 39 size=0

 Bucket 40 size=540397481
 Bucket 41 size=4043400032
Total free space = 0
UNPINNED RECREATABLE CHUNKS (lru first):   Chunk 204c23d8 sz= 2798280 ERROR, BAD MAGIC NUMBER (d02ab2c8) Unpinned space = 0 rcr=11 trn=541860928 PERMANENT CHUNKS:
Permanent space = 0

 Hla: 0

second run, different statement
 exec sql fetch sql_cursor_1 using descriptor sqlda_select_ptr;


HEAP DUMP heap name="Alloc environm" desc=0x20476b28  extent sz=0x1024 alt=32 het=32767 rec=0 flg=2 opc=2  parent=0 owner=0 nex=0 xsz=0x1038
EXTENT 0
ERROR extent contains wrong ds 2048b998
  Chunk 204c3580 sz=        0  ERROR, BAD MAGIC NUMBER (0)
Total heap size    =        0

FREE LISTS:
 Bucket 0 size=272
  Chunk 2048736c sz=       20    free      "               "
  Chunk 20477528 sz=      124    free      "               "
 Bucket 1 size=528
 Bucket 2 size=1040
Total free space = 144
UNPINNED RECREATABLE CHUNKS (lru first): PERMANENT CHUNKS:
  Chunk 20477500 sz=       40    perm      "perm           "  alo=40
Permanent space    =       40

******************************************************
 Hla: 0

maybe someone has the same troubles and can give me a hint.

thanks
andreas lederer Received on Tue Mar 19 2002 - 11:17:12 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US