Re: Help wanted: Informix DOS trouble
Posted in 1993
In <bobbCDsLuB.E39@netcom.com> bobb@netcom.com (Bob Beaulieu) writes: >I just upgraded INFORMIX for DOS (4.10.DC1) and seem to have a problem I >can't figure out: >After adding a unknown number of records to a table (the # changes; sometimes >its 10, others it 50), I get kicked out to the DOS prompt from pisql. The >following message is displayed on my screen: >DOS/16M:[35] General Protection Fault at 0108:0AB4 in PISQL.EXE >Code=0000 ss=0548 ds=0548 es=0100 >ax=2D10 bx=2D10 cx=00FF sp=BC22 bp=BC64 >si=0012 di=0000 >If I run mem/c, below is the readout I get: >Conventional Memory : > Name Size in Decimal Size in Hex >------------- --------------------- ------------- > MSDOS 19504 ( 19.0K) 4C30 > GSCSI4 7584 ( 7.4K) 1DA0 > HIMEM 1072 ( 1.0K) 430 > ANSI 4192 ( 4.1K) 1060 > COMMAND 2624 ( 2.6K) A40 > PSTARTSQ 41136 ( 40.2K) A0B0 > OTIVESA 1520 ( 1.5K) 5F0 > SMARTDRV 28304 ( 27.6K) 6E90 > MOUSE 10736 ( 10.5K) 29F0 > FREE 538208 (525.6K) 83660 >Total FREE : 538208 (525.6K) >Total bytes available to programs : 538208 (525.6K) >Largest executable program size : 537904 (525.3K) > 7340032 bytes total contiguous extended memory > 0 bytes available contiguous extended memory > 3080192 bytes available XMS memory > MS-DOS resident in High Memory Area >If I try to run pisql again, I receive an error 854 with message: >"Backend not found. or backend is busy." >If I try pstartsql -q to close the engine I get the message: >"Engine has been found to be active. When user is done with application > you can remove it from memory" >Hmmmm. OK, I'll re-boot and things will be alright, right? Wrong! >The pstartsql works properly though, and allow me to go back into my >application; BUT, when I query for records, THEY'RE ALL GONE!!! Stranger >yet, if I try to add them back, a message says "I can't add a duplicate >Record.". Very strange indeed. Where my unix? :)) Running bcheck I get >errors saying it can't open the ISAM file. SO, I create a cluster index >and this must have cleared out those records, cause I was able to add 5 >of them again until I was booted out to the DOS prompt again... >Anyone have any idea how I can correct this problem? The test database has >only 1 table with 17 fields (1 serial,3 dates,6 char,5 floats,2 int) and the >form has nothing complex in its instructions section (no c calls). >Thanks in advance for any help or comments. >Bob Beaulieu >eztravel@netcom.com >-- > ___________________________________________________________________________ >|EZ TRAVEL (Bob Beaulieu) Internet : eztravel@netcom.com | >|4640-B Meridian San Jose, CA 95124 Telephone: (408) 978-0808 | >|---------------------------------------------------------------------------| >| $Best Fares$.........Great Service.......International/Domestic | > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It seems that you are running into a common problem with Informix' division of Client-Server responsibilities. I suspect that at some point you may have run out of some DOS memory or buffers. This left Informix' database engine thinking that it was still connected to PISQL. Woah! Excuse me, what engine are you using? If it's the DOS version, I don't have any experience with this version of the product - sorry. However, if you are using a database server (unix or otherwise), then I'll continue my train of thought. The server does not recognize the lost connection to the client. In this case, its possible to leave a transaction in process, including any locks that may have been in effect. Re-booting the client is still not recognized by the server and so you get the messages you received. If you're using OnLine, you correct this with the tbmode -z command. However, even this is not always an option. Good luck. Carlos M. Recalde - Internet Resources Corp.