APAR status
Closed as program error.
Error description
The ESQL/C program reproduces the problem when compiled on redhat with both ESQL/C 3.50.UC3 (esql -m32 -static repro.ec -o repro) and ESQL/C 3.50.FC7 (esql -m64 -static repro.ec -o repro) The problem reproduces against IDS 12.10.FC3 on linux x86_64, but does not repro against 11.50.FC9 on same platform. The problem does not reproduce if the client sets env variable IFX_AUTOFREE=1 Given the repro.ec file below, the problem reproduces on the 4th call to do_cursor() in the $open. It does not reproduce when the second occurrence of "$EXECUTE Temp_Slot_del;" just before the return from do_cursor() is commented out. In my test, I created stores_demo via $ ifx dbaccessdemo7 stores_demo Here is the contents of the file repro.ec: *************************************** #include <stdio.h> void do_cursor() { $char demoquery[80]; $char workbuf[256]; $char queryvalue[2]; $CREATE TEMP TABLE TEMP_SLOT(c1 integer, c2 integer); sprintf(workbuf,"insert into temp_slot values(1,1)"); $PREPARE Temp_Slot_ins FROM :workbuf; $EXECUTE Temp_Slot_ins; sprintf(demoquery, "%s %s", "select fname, lname from customer", "where lname < ? "); EXEC SQL prepare demo2id from :demoquery; if (sqlca.sqlcode != 0) { printf("PREPARE error %d\n",sqlca.sqlcode); exit(4); } EXEC SQL declare demo2cursor cursor for demo2id; if (sqlca.sqlcode != 0) { printf("DECLARE error %d\n",sqlca.sqlcode); exit(4); } sprintf(queryvalue, "C"); EXEC SQL open demo2cursor using :queryvalue; if (sqlca.sqlcode != 0) { printf("OPEN error %d\n",sqlca.sqlcode); exit(4); } EXEC SQL close demo2cursor; sprintf(workbuf,"DELETE FROM TEMP_SLOT"); $PREPARE Temp_Slot_del FROM :workbuf; $EXECUTE Temp_Slot_del; $DROP TABLE TEMP_SLOT; $EXECUTE Temp_Slot_del; printf("Exeute Temp_Slot_del %d\n",sqlca.sqlcode); return; } main() { printf("DEMO2 Sample ESQL Program running.\n\n"); EXEC SQL WHENEVER ERROR STOP; EXEC SQL connect to 'stores_demo'; do_cursor(); do_cursor(); do_cursor(); do_cursor(); do_cursor(); do_cursor(); do_cursor(); do_cursor(); do_cursor(); do_cursor(); do_cursor(); do_cursor(); };
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * Those not explicitly freeing statements * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Update to IDS-12.10.xC5 * ****************************************************************
Problem conclusion
Problem Fixed In IDS-12.10.xC5
Temporary fix
Comments
APAR Information
APAR number
IT03924
Reported component name
INFORMIX SERVER
Reported component ID
5725A3900
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2014-08-21
Closed date
2015-10-16
Last modified date
2015-10-16
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
INFORMIX SERVER
Fixed component ID
5725A3900
Applicable component levels
RB10 PSN
UP
RB10 PSY
UP
RB50 PSN
UP
RB50 PSY
UP
RB70 PSN
UP
RB70 PSY
UP
RC10 PSN
UP
RC10 PSY
UP
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"C10","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
16 October 2015