[comp.sys.amiga.tech] Lattice 5.04 and fseek

Jim.Locker@afitamy.fidonet.org (Jim Locker) (02/27/90)

Has anyone encountered a problem using fseek(), Seek(), lseek(), dseek() with 
Lattice 5.04?

I am trying to scroll through a doubly linked list in a disk file using any of 
the above functions, all of which wind up calling the DOS.library Seek() 
function.  I am also using the appropriate flavor of open(), close(), 
read(),write(), putc(), getc(), and so forth.

Problem is that a pointer is being trashed somewhere in the heap or in the c.o 
routine.  About every third or fourth time I run the program, I visit the 
GURU.  Normally, the error messages are odd address, illegal instruction, or a 
coprocessor emulation trap.  Sometimes, I get a free twice error out of Exec.  
There is a tendency for my task to be the task that crashes, but this is not 
assured; often input.device dies instead, and sometimes other tasks are 
killed.

I have chased this one with CPR and with MetaScope, but have not caught it 
yet.  If I comment out those statements that write to the file, we never 
crash.  If I comment out all the seeks, we never crash.

Has anyone anywhere encountered this problem?  I have notified Lattice, but 
who knows how long that will take.  I need this code to work real soon now.  
If I can't resolve this soon, I am going to recode the routine in Fortran, 
then use message passing to get the information to and from the rest of the 
package.

Jim Locker


--  
-------------------------------------------------
Jim Locker - via FidoNet node 1:110/300
UUCP: uunet!dayvb!afitamy!Jim.Locker
ARPA: Jim.Locker@afitamy.fidonet.org
-------------------------------------------------|
>>>> The // Air Force Institute of Technology    |
>       //     Amiga Users BBS/UFGateway         |
>    \ //    Dayton, Ohio  (513)-252-7681        |     
>     X/               1:110/300                 |
-------------------------------------------------|