Internal Error 4412 with Six Driver 
Author Message
 Internal Error 4412 with Six Driver

Hi...

I have a problem, my program error when re-create Index file ( CDX Files )
If I use NTX index no error
The Error : ORDCREATE(0) Internal Error 4412
I use Clipper 5.2e, SuperLib 3.5 and Six 3x
It's my code :

USE SALES EXCL NEW
SX_KILLTAG(.T.,"SALES")
PACK
INDEX ON SALES_NO TAG SALES1 EVAL SHOWIT()
INDEX ON SALES_NO+ITEM_ID TAG SALES2 EVAL SHOWIT()

Thanks for your help

Julian



Sat, 15 Mar 2003 03:00:00 GMT  
 Internal Error 4412 with Six Driver
Julian

What's the return value of SX_KillTag()??
If your using AUTO_OPEN (which you probably are) then the file probably
isn't being deleted (as it's already open), if not then check the return
value of SX_KillTag().

Try deleting the index before useing the DBF.

--
HTH
Steve Quinn
Born free........Taxed to death.
I used to have a handle on life, but it broke.
WANTED: Meaningful Overnight Relationship.
BEER: It's not just for breakfast anymore.


Quote:
> Hi...

> I have a problem, my program error when re-create Index file ( CDX Files )
> If I use NTX index no error
> The Error : ORDCREATE(0) Internal Error 4412
> I use Clipper 5.2e, SuperLib 3.5 and Six 3x
> It's my code :

> USE SALES EXCL NEW
> SX_KILLTAG(.T.,"SALES")
> PACK
> INDEX ON SALES_NO TAG SALES1 EVAL SHOWIT()
> INDEX ON SALES_NO+ITEM_ID TAG SALES2 EVAL SHOWIT()

> Thanks for your help

> Julian



Sat, 15 Mar 2003 22:46:43 GMT  
 Internal Error 4412 with Six Driver
Quote:
> What's the return value of SX_KillTag()??

The return is .T.
The error not on re-create Tag1

Thanks

Julian



Sun, 16 Mar 2003 09:33:51 GMT  
 Internal Error 4412 with Six Driver
From a message from a long, long time ago from Loren Scott formerly of
Successware:

 The cause IE4412 error is (now) a _known_ problem in Clipper which will
 be corrected in the upcoming 5.3 release.  It _used_ to be a "magic
 number" bug, since nobody knew what exactly caused it, but that it only
 happened on very large data files and that changing key sizes or record
 counts seemed to make a difference.

 The actual bug was cause by one member of the internal sort structure
 (within Clipper's RDD API) being defined as a USHORT (2 bytes) when it
 should have been a ULONG (4 bytes).  During index creation (the ONLY
 time an IE4412 error can occur), and only on a very large file,
 eventually, the information being written into that member of the
 structure starts to be significant to the third byte and writes over
 the next member of the structure.  (Actually, it was writing over it
 all along, but with NULLs instead of a value of significance.)  At this
 point, BOOM!!  IE4412.

 The only _real_ workaround, until Clipper 5.3 is released, is to:

    USE <your_file)
    COPY STRU TO TEMP
    CLOSE <your_file>
    USE temp EXCL
    INDEX ON <your_expression> TO|TAG ...
       "" //  (create all your indexes on the EMPTY TEMP.DBF file)
    APPEND FROM <your_file>    // fill up TEMP.DBF and add index keys

 The error does not appear after the index has been created, so updating
 or adding new keys later will not result in an error.  It's only during
 index creation on very large files (hundreds of thousands of records or
 more) that the error seems to surface.

 In addition, as odd as it sounds, low conventional memory situations
 (and I stress "conventional memory"), can make the IE4412 error come up
 earlier in the index build.  Having enough free conventional memory has
 totally eliminate the error (at least it has in our tests here). Our
 test program was linked in protected mode, and the "Largest Executable
 Program Size" as reported by DOS 5.0 was about 605k.  The test program
 ran fine.  No IE4412.  I then ran a TSR I wrote to eat up lower memory
 so that the free memory reported was around 550k, and the program blew
 up with an IE4412 error at 98% of completion.  Lowering the free memory
 to 520k made it blow up at 92%.  So, there _is_ a definite correlation
 to free conventional memory there.  Why?  I have no idea.

 The fix for this problem in Clipper 5.3 will cause ALL existing RDD's
 to NOT work under 5.3 without being rebuilt with this structure change.
 So, after 5.3 is released (and I don't know whan that will be), you'll
 need to get updates for any 3rd-party RDDs you may be currently using
 in order to use them with Clipper 5.3.

 Hope this helps.

 --Loren--

He later clarified that RDD's that do not create indices (like FlexFile)
will not have to be rebuilt in 5.3, as they don't use the structure that
is being modified.

Quote:

> Hi...

> I have a problem, my program error when re-create Index file ( CDX Files )
> If I use NTX index no error
> The Error : ORDCREATE(0) Internal Error 4412
> I use Clipper 5.2e, SuperLib 3.5 and Six 3x
> It's my code :

> USE SALES EXCL NEW
> SX_KILLTAG(.T.,"SALES")
> PACK
> INDEX ON SALES_NO TAG SALES1 EVAL SHOWIT()
> INDEX ON SALES_NO+ITEM_ID TAG SALES2 EVAL SHOWIT()

> Thanks for your help

> Julian



Sun, 16 Mar 2003 10:41:50 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. CDX Internal error 4412

2. Internal error 4412

3. Internal error 4412

4. Internal Error 4412?

5. Internal error 4412

6. Internal Error 4412

7. Internal Error '4412'

8. 4412 ERROR

9. 4412 ERROR

10. error 4412 while indexing(CDX)

11. 4412 errors more than ever!

 

 
Powered by phpBB® Forum Software