Hi Tim,
> I've not forgotten you Gerald, I've just not had the time to look at this > in any depth and I won't now till mid September at the earliest. Sorry. > I know it isn't an easy thing. My main hope was that the error message at the end of my report > > *********** Internal ERROR kghubatchfree_01 [0x1ecb290] *********** > > additional information [0] [0] [0] > > ***** Dump of memory around addr 0x1ecb290: > >.... does tell you anything obvious, that isn't obvious to me because of my limited OCI knowledge. > Reading (or rereading) this section of the OCI manual may help: > http://download-east.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a89857/oc i09adv.htm#429718 > I will reread it and maybe I find something usefull I have overlooked so far... In case I find anything new about it I will keep you uptodate Thanks Gerald > Tim. > > On Mon, Aug 19, 2002 at 08:56:32AM +0200, Gerald Richter wrote: > > Hi Tim, > > > > some time ago we talked about shareing the Oracle handles between threads to > > have only one database connection open. I send you a patch that basicly does > > it. Now I am back on that issuse and found out that it is working quite well > > as long as I don't do an UPDATE in a thread other then the one which has > > created the handles. Since I don't have much knowlegde of OCI I would like > > to ask you, if you have idea what's wrong here and where to find searching > > for the problem. > > > > What I am doing is to create a database connection for which all OCI handles > > except the error handle are shared between threads. I can do selects in any > > thread and it works quite well. When I do an UPDATE statement in a thread > > that doesn't have created the handles I get the following error. I also > > attach end of a DBI_TRACE=4 and for your convenice the patch against > > DBD::Oracle 1.12. I would be very happy I you have any idea where to search > > for the problem. If you need more informations let me know. > > > > Thanks > > > > Gerald > > > > -> prepare for DBD::Oracle::db (DBI::db=HASH(0x1eb43bc)~0x1eb5128 > > 'SELECT authMode, data FROM > > WebCenter_authHandler WHERE handlerID = ?') thr#1d821a4 > > New DBI::st (for DBD::Oracle::st, parent=DBI::db=HASH(0x1eb5128), id=) > > dbih_setup_handle(DBI::st=HASH(0x1e6c86c)=>DBI::st=HASH(0x1eb5290), > > DBD::Oracle::st, 1d83bb8, Null!) > > dbih_make_com(DBI::db=HASH(0x1eb5128), DBD::Oracle::st, 208) thr#1d821a4 > > dbd_preparse scanned 1 distinct placeholders > > dbd_st_prepare'd sql SELECT > > dbd_describe SELECT (EXPLICIT, lb 80)... > > fbh 1: 'AUTHMODE' NULLable, otype 1-> 5, dbsize 80/81, p80.s0 > > fbh 2: 'DATA' NULLable, otype 1-> 5, dbsize 80/81, p80.s0 > > dbd_describe'd 2 columns (row bytes: 160 max, 160 est avg, cache: 82) > > <- prepare= DBI::st=HASH(0x1e6c86c) at auth.pl line 59 via auth.pl line > > 139 > > -> prepare for DBD::Oracle::db (DBI::db=HASH(0x1eb43bc)~0x1eb5128 > > 'UPDATE WebCenter_user SET lastLogin = > > SYSDATE WHERE userID = ?') thr#1d821a4 > > New DBI::st (for DBD::Oracle::st, parent=DBI::db=HASH(0x1eb5128), id=) > > dbih_setup_handle(DBI::st=HASH(0x1eb52d8)=>DBI::st=HASH(0x1eb5374), > > DBD::Oracle::st, 1eb52e4, Null!) > > dbih_make_com(DBI::db=HASH(0x1eb5128), DBD::Oracle::st, 208) thr#1d821a4 > > dbd_preparse scanned 1 distinct placeholders > > dbd_st_prepare'd sql UPDATE > > dbd_describe skipped for UPDATE > > <- prepare= DBI::st=HASH(0x1eb52d8) at auth.pl line 63 via auth.pl line > > 139 > > -> execute for DBD::Oracle::st (DBI::st=HASH(0x1eb5164)~0x1e61e5c 'xx') > > thr#1d821a4 > > New DBI::st (for DBD::Oracle::st, parent=DBI::db=HASH(0x1e9a410), id=) > > dbih_setup_handle(DBI::st=HASH(0x1d80ef4)=>DBI::st=HASH(0x1e9a578), > > DBD::Oracle::st, 1a4b7d8, Null!) > > dbih_make_com(DBI::db=HASH(0x1e9a410), DBD::Oracle::st, 208) thr#1b799f4 > > dbd_preparse scanned 1 distinct placeholders > > dbd_st_prepare'd sql SELECT > > dbd_describe SELECT (EXPLICIT, lb 80)... > > fbh 1: 'AUTHMODE' NULLable, otype 1-> 5, dbsize 80/81, p80.s0 > > fbh 2: 'DATA' NULLable, otype 1-> 5, dbsize 80/81, p80.s0 > > dbd_describe'd 2 columns (row bytes: 160 max, 160 est avg, cache: 82) > > <- prepare= DBI::st=HASH(0x1d80ef4) at auth.pl line 59 via auth.pl line > > 139 > > -> prepare for DBD::Oracle::db (DBI::db=HASH(0x1e71aac)~0x1e9a410 > > 'UPDATE WebCenter_user SET lastLogin = > > SYSDATE WHERE userID = ?') thr#1b799f4 > > New DBI::st (for DBD::Oracle::st, parent=DBI::db=HASH(0x1e9a410), id=) > > dbih_setup_handle(DBI::st=HASH(0x1e9a5c0)=>DBI::st=HASH(0x1e9a65c), > > DBD::Oracle::st, 1e9a5cc, Null!) > > dbih_make_com(DBI::db=HASH(0x1e9a410), DBD::Oracle::st, 208) thr#1b799f4 > > dbd_preparse scanned 1 distinct placeholders > > dbd_st_prepare'd sql UPDATE > > dbd_describe skipped for UPDATE > > <- prepare= DBI::st=HASH(0x1e9a5c0) at auth.pl line 63 via auth.pl line > > 139 > > -> execute for DBD::Oracle::st (DBI::st=HASH(0x1e9a44c)~0x1d7631c 'xx') > > thr#1b799f4 > > bind :p1 <== 'xx' (type 0) > > bind :p1 <== 'xx' (size 2/3/0, ptype 4, otype 1) > > bind :p1 <== 'xx' (size 2/2, otype 1, indp 0, at_exec 1) > > bind :p1 done with ftype 1 > > dbd_st_execute SELECT (out0, lob0)... > > in ':p1' [0,0]: len 2, ind 0 > > dbd_st_execute SELECT returned (SUCCESS, rpc0, fn4, out0) > > <- execute= '0E0' at auth.pl line 72 via auth.pl line 139 > > -> bind_columns in DBD::_::st for DBD::Oracle::st > > (DBI::st=HASH(0x1eb5164)~0x1e61e5c SCALAR(0x1dacb14) SCALAR(0x1dacb20) > > SCALAR(0x1d8d418)) thr#1d821a4 > > dbih_setup_fbav for 3 fields => 0x1ef34cc > > dbih_sth_bind_col 1 => SCALAR(0x1dacb14) > > dbih_sth_bind_col 2 => SCALAR(0x1dacb20) > > dbih_sth_bind_col 3 => SCALAR(0x1d8d418) > > <- bind_columns= 1 at auth.pl line 73 via auth.pl line 139 > > -> fetch for DBD::Oracle::st (DBI::st=HASH(0x1eb5164)~0x1e61e5c) > > thr#1d821a4 > > bind :p1 <== 'xx' (type 0) > > bind :p1 <== 'xx' (size 2/3/0, ptype 4, otype 1) > > bind :p1 <== 'xx' (size 2/2, otype 1, indp 0, at_exec 1) > > bind :p1 done with ftype 1 > > dbd_st_execute SELECT (out0, lob0)... > > in ':p1' [0,0]: len 2, ind 0 > > dbd_st_execute SELECT returned (SUCCESS, rpc0, fn4, out0) > > <- execute= '0E0' at auth.pl line 72 via auth.pl line 139 > > -> bind_columns in DBD::_::st for DBD::Oracle::st > > (DBI::st=HASH(0x1e9a44c)~0x1d7631c SCALAR(0x1cab014) SCALAR(0x1cab020) > > SCALAR(0x1c4f400)) thr#1b799f4 > > dbih_setup_fbav for 3 fields => 0x1ef4d14 > > dbih_sth_bind_col 1 => SCALAR(0x1cab014) > > dbih_sth_bind_col 2 => SCALAR(0x1cab020) > > dbih_sth_bind_col 3 => SCALAR(0x1c4f400) > > <- bind_columns= 1 at auth.pl line 73 via auth.pl line 139 > > -> fetch for DBD::Oracle::st (DBI::st=HASH(0x1e9a44c)~0x1d7631c) > > thr#1b799f4 > > dbd_st_fetch 3 fields... > > dbd_st_fetch 3 fields SUCCESS > > <- fetch= [ 'xx' undef 'xx' ] row1 at auth.pl line 82 via auth.pl line > > 139 > > -> execute for DBD::Oracle::st (DBI::st=HASH(0x1eb52d8)~0x1eb5374 'xx') > > thr#1d821a4 > > dbd_st_fetch 3 fields... > > dbd_st_fetch 3 fields SUCCESS > > <- fetch= [ 'xx' undef 'xx' ] row1 at auth.pl line 82 via auth.pl line > > 139 > > -> execute for DBD::Oracle::st (DBI::st=HASH(0x1e9a5c0)~0x1e9a65c 'xx') > > thr#1b799f4 > > bind :p1 <== 'xx' (type 0) > > bind :p1 <== 'xx' (size 2/3/0, ptype 4, otype 1) > > bind :p1 <== 'xx' (size 2/2, otype 1, indp 0, at_exec 1) > > bind :p1 done with ftype 1 > > dbd_st_execute UPDATE (out0, lob0)... > > in ':p1' [0,0]: len 2, ind 0 > > dbd_st_execute UPDATE returned (SUCCESS, rpc1, fn5, out0) > > <- execute= 1 at auth.pl line 114 via auth.pl line 139 > > -> finish for DBD::Oracle::st (DBI::st=HASH(0x1eb5164)~0x1e61e5c) > > thr#1d821a4 > > bind :p1 <== 'xx' (type 0) > > bind :p1 <== 'xx' (size 2/3/0, ptype 4, otype 1) > > bind :p1 <== 'xx' (size 2/2, otype 1, indp 0, at_exec 1) > > bind :p1 done with ftype 1 > > dbd_st_execute UPDATE (out0, lob0)... > > in ':p1' [0,0]: len 2, ind 0 > > dbd_st_execute UPDATE returned (SUCCESS, rpc1, fn5, out0) > > <- execute= 1 at auth.pl line 114 via auth.pl line 139 > > -> finish for DBD::Oracle::st (DBI::st=HASH(0x1e9a44c)~0x1d7631c) > > thr#1b799f4 > > <- finish= 1 at auth.pl line 117 via auth.pl line 139 > > -> finish for DBD::Oracle::st (DBI::st=HASH(0x1d80ef4)~0x1e9a578) > > thr#1b799f4 > > <- finish= 1 at auth.pl line 118 via auth.pl line 139 > > -> finish for DBD::Oracle::st (DBI::st=HASH(0x1e9a5c0)~0x1e9a65c) > > thr#1b799f4 > > <- finish= 1 at auth.pl line 119 via auth.pl line 139 > > <- finish= 1 at auth.pl line 117 via auth.pl line 139 > > -> finish for DBD::Oracle::st (DBI::st=HASH(0x1e6c86c)~0x1eb5290) > > thr#1d821a4 > > <- finish= 1 at auth.pl line 118 via auth.pl line 139 > > -> finish for DBD::Oracle::st (DBI::st=HASH(0x1eb52d8)~0x1eb5374) > > thr#1d821a4 > > <- finish= 1 at auth.pl line 119 via auth.pl line 139 > > -> execute for DBD::Oracle::st (DBI::st=HASH(0x1e9a44c)~0x1d7631c 'xx') > > thr#1b799f4 > > -> execute for DBD::Oracle::st (DBI::st=HASH(0x1eb5164)~0x1e61e5c 'xx') > > thr#1d821a4 > > bind :p1 <== 'xx' (type 0) > > bind :p1 <== 'xx' (size 2/3/0, ptype 4, otype 1) > > bind :p1 <== 'xx' (size 2/2, otype 1, indp 0, at_exec 1) > > bind :p1 done with ftype 1 > > dbd_st_execute SELECT (out0, lob0)... > > in ':p1' [0,0]: len 2, ind 0 > > dbd_st_execute SELECT returned (SUCCESS, rpc0, fn4, out0) > > <- execute= '0E0' at auth.pl line 72 via auth.pl line 139 > > -> bind_columns for DBD::Oracle::st (DBI::st=HASH(0x1e9a44c)~0x1d7631c > > SCALAR(0x1e9a6bc) SCALAR(0x1d76304) SCALAR(0x1ef4cb4)) thr#1b799f4 > > dbih_sth_bind_col 1 => SCALAR(0x1e9a6bc) > > dbih_sth_bind_col 2 => SCALAR(0x1d76304) > > dbih_sth_bind_col 3 => SCALAR(0x1ef4cb4) > > <- bind_columns= 1 at auth.pl line 73 via auth.pl line 139 > > -> fetch for DBD::Oracle::st (DBI::st=HASH(0x1e9a44c)~0x1d7631c) > > thr#1b799f4 > > bind :p1 <== 'xx' (type 0) > > bind :p1 <== 'xx' (size 2/3/0, ptype 4, otype 1) > > bind :p1 <== 'xx' (size 2/2, otype 1, indp 0, at_exec 1) > > bind :p1 done with ftype 1 > > dbd_st_execute SELECT (out0, lob0)... > > in ':p1' [0,0]: len 2, ind 0 > > dbd_st_execute SELECT returned (SUCCESS, rpc0, fn4, out0) > > <- execute= '0E0' at auth.pl line 72 via auth.pl line 139 > > -> bind_columns for DBD::Oracle::st (DBI::st=HASH(0x1eb5164)~0x1e61e5c > > SCALAR(0x1eb53d4) SCALAR(0x1e61e44) SCALAR(0x1ef346c)) thr#1d821a4 > > dbih_sth_bind_col 1 => SCALAR(0x1eb53d4) > > dbih_sth_bind_col 2 => SCALAR(0x1e61e44) > > dbih_sth_bind_col 3 => SCALAR(0x1ef346c) > > <- bind_columns= 1 at auth.pl line 73 via auth.pl line 139 > > -> fetch for DBD::Oracle::st (DBI::st=HASH(0x1eb5164)~0x1e61e5c) > > thr#1d821a4 > > dbd_st_fetch 3 fields... > > dbd_st_fetch 3 fields SUCCESS > > <- fetch= [ 'xx' undef 'xx' ] row1 at auth.pl line 82 via auth.pl line > > 139 > > -> execute for DBD::Oracle::st (DBI::st=HASH(0x1e9a5c0)~0x1e9a65c 'xx') > > thr#1b799f4 > > dbd_st_fetch 3 fields... > > dbd_st_fetch 3 fields SUCCESS > > <- fetch= [ 'xx' undef 'xx' ] row1 at auth.pl line 82 via auth.pl line > > 139 > > -> execute for DBD::Oracle::st (DBI::st=HASH(0x1eb52d8)~0x1eb5374 'xx') > > thr#1d821a4 > > > > > > *********** Internal ERROR kghubatchfree_01 [0x1ecb290] *********** > > additional information [0] [0] [0] > > ***** Dump of memory around addr 0x1ecb290: > > 1ECB090 00000000 00000000 00000000 00000000 [................] > > Repeat 29 times > > 1ECB270 00000821 01ECAF7C 01EC0E08 01ECA57C [!...|....|.] > > 1ECB280 01ECBAAC 1000080D 00000000 60259108 [?..........%`] > > 1ECB290 84000802 00000000 01ECA56C 01ECBACC [.......l.??.] > > 1ECB2A0 01ECA608 880007EE 00000000 01ECB2AC [........?.] > > 1ECB2B0 01ECB2AC 00000000 00000000 00000000 [?.............] > > 1ECB2C0 00000000 00000000 00000000 00000000 [................] > > Repeat 28 times > > > > ****************************************************** > > KGHU DUMP heap name="session heap" desc=0x1eec164 > > parent=1ee5320 subhp=1eec174 prv=1eeba14 nxt=1eeba14 > > flg=0x55 eck=0x0 chkprv=1eed6c4 chknxt=1eed6c4 ctr=1 > > BATCH HEADER 1 addr=1eed6b8 (prv=1eec200 nxt=1eec200) > > Chunk 1eed6cc sz= 572 free " " > > Chunk 1eed908 sz= 48 alloc "kpplal dvoid " > > Chunk 1eed938 sz= 80 alloc "kpplal dvoid " > > Chunk 1eed988 sz= 48 alloc "kpplal dvoid " > > Chunk 1eed9b8 sz= 80 alloc "kpplal dvoid " > > Chunk 1eeda08 sz= 48 alloc "kpplal dvoid " > > Chunk 1eeda38 sz= 80 alloc "kpplal dvoid " > > Chunk 1eeda88 sz= 48 alloc "kpplal dvoid " > > Total kghu heap size = 1024 > > FREE LISTS: > > Bucket 3 size 48 > > Chunk 1ecbad4 sz= 60 free " " > > Bucket 32 size 512 > > Chunk 1eed6cc sz= 572 free " " > > Total kghu free space = 632 > > ****************************************************** > > DUMP OF KGH SUBHEAP USED BY KGHU [ds=1eec174]: > > > > ****************************************************** > > HEAP DUMP heap name="session heap" desc=0x1eec174 > > extent sz=0x224 alt=32767 het=32767 rec=0 flg=2 opc=2 > > parent=1ee5320 owner=0 nex=0 xsz=0x414 > > EXTENT 0 > > Chunk 1eed6ac sz= 1036 freeable "kpplal dvoid " > > Total heap size = 1036 > > FREE LISTS: > > Bucket 0 size=220 > > Bucket 1 size=16396 > > Bucket 2 size=24588 > > Bucket 3 size=32780 > > Bucket 4 size=40972 > > Bucket 5 size=43532 > > Total free space = 0 > > UNPINNED RECREATABLE CHUNKS (lru first): > > PERMANENT CHUNKS: > > Permanent space = 0 > > ****************************************************** > > END OF KGHU DUMP************************************** > > ****************************************************** > > kgepop: no error frame to pop to for error 21500 > > > > > > > > ------------------------------------------------------------- > > Gerald Richter ecos electronic communication services gmbh > > Internetconnect * Webserver/-design/-datenbanken * Consulting > > > > Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz > > E-Mail: [EMAIL PROTECTED] Voice: +49 6133 925131 > > WWW: http://www.ecos.de Fax: +49 6133 925152 > > ------------------------------------------------------------- > > > > > > > ------------------------------------------------------------- Gerald Richter ecos electronic communication services gmbh Internetconnect * Webserver/-design/-datenbanken * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice: +49 6133 925131 WWW: http://www.ecos.de Fax: +49 6133 925152 -------------------------------------------------------------
