Hi Archie,

Enrico Migliore wrote:

pread() problem
-----------------
In the zip.c file, I temporarily substituted the pread() call
with the following two calls:

lseek(fd,offset,SEEK_SET);
read(fd,buf,len);

Those are perfectly equivalent to pread() except that
they are not atomic


That is a reasonable workaround; it's not thread safe however.
In practice is probably won't matter though. You'd have to be
loading the same class at the same time from two different
class loaders for that to matter (highly unlikely).

Let's use this workaround for now. I'll go through the pread() function,
on Cygwin.

problems
----------
jc.exe enters the main function and crashes at the first call,
which is _jc_invoke();

In order to investigate the problem I did the following thngs:

1. Commented _jc_invoke() and added a dummy poptGetContext() call.
    It crashes

2. Commented _jc_invoke() and added a printf("Hello World!");
    It doesn't crash and print the message to the stdandard output

It seems to me that the problem is the calling convention.


I don't know enough about Windows or Cygwin to help here.
Can you run it under GDB?

-Archie

I tried to debug it with DDD (Data display debugger) which is a GUI based debugger which, in turn, uses GDB. I was tired last night and wasn't able to take any step forward. What's your GUI front end for writing and debugging JC? Are you using xemacs?

Enrico

Reply via email to