Hello,
I tried to use pxview to open an old DB file from a
borland database.
I can read small data file without any problems ( DB
file < 50 M )
but when trying to read a 70M file I get the following
message :
# pxview file.DB
PXLib: Could not allocate memory for self build
internal index.
PXLib: Could not open paradox database.
Could not open input file.
using strace I see this line juste above the write of
the message :
old_mmap(NULL, 4294221824, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 EINVAL (Invalid
argument)
looks like it try to allocate almost 4GB of memory ...
I tryed with the debian pacquaged versions :
pxlib1 0.4.3-1
pxview 0.2.3-1
I tryed also to recompile from source but the symptom
is exactly the same. As I am not a develloper, I didn't
to modify code, I just looked where the error message
is and it's on line 237 of src/paradox.c :
pindex = pxdoc->malloc(
pxdoc,
pxh->px_fileblocks*sizeof(pxpindex_t),
_("Allocate memory for self build internal
primary index.")
well, if I understant it's the number of blocks * the
size of the structure to store them ... I wonder how
this can make 4G from a 70M file.
Logged In: YES
user_id=137306
Could you please compile pxview with memory debugging (run
configure with option --with-memory-debug) and check if it
realy tries to allocate that much memory.