-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sisyphus escribĂ­o:
> 
> ----- Original Message ----- From: "Brian Millett" <[EMAIL PROTECTED]>
> To: <inline@perl.org>
> Sent: Thursday, June 14, 2007 5:57 AM
> Subject: Strange Inline::C error
> 
> 
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Let me setup the environment.  I have 2 machines:
>>
>> (A) windows 2000 server pro, activeperl 5.8.4, visualstudio 6, vertex 3.0
>> sales
>> tax software, 1.2 GB ram
>>
>> (B) windows 2000 server pro, activeperl 5.8.4, visualstudio 6, vertex 3.0
>> sales
>> tax software. 1 GB ram
>>
>> Both have Service pack 4 installed.
>>
>> I have inline::c modules that wraps the vertex libraries so I can use
>> them
>> from
>> perl.  The libraries are Vst.lib & Location.lib (There are corresponding
>> Vst.dll
>> & Location.dll for the vertex applications)
>>
>> The code will follow, but the problem is that on the machine (A) it
>> compiles and
>> runs just fine.  On machine (B) I get an exception:
>>
>> "The instruction at "0x029e2d99" referenced memory at "0x029a322c". The
>> memory
>> could not be "written""
>>
>> When I try to debug it, I get
>> "Unhandled exception in perl.exe (VST.DLL): 0xC0000005: Access Violation"
> 
> The script has compiled ok - what you're seeing is a runtime error.
> 
> Is it exactly the same VST.DLL on both machines ?
> If not, try copying the VST.DLL that's on machine A across to machine B.
> 
> Other than that, one thing I would attempt to do is determine exactly which
> function call triggers the segfault. (I usually do that by inserting some
> debug 'printf("Got to here\n");' type statements at various points
> throughout the code until the culprit is isolated.)
> 
> Once you have determined the function call that's causing the problem, then
> it might be possible to work out what's gone wrong by looking at the source
> code. The error message suggests to me that the problem is with the vertex
> library (about which I know nothing) and not with any of the code you have
> written. Is there any support for vertex ? Perhaps the vertex developers
> know about it already - and have a solution.
> 
> Cheers,
> Rob

Thanks Rob,
  Yes, the VST.DLL are the same.  I had put in print statements and found that
the calls to open the vertex database work.  Any call to a LOCATION.DLL works
also (geolocator).  But a call to the VST.DLL (other than opening the database)
failed.
  I found a work around, but not an answer.  The solution is a bit of a hack.

What I found was the system (A) was originally setup with avtiveperl 5.6.1 then
upgraded to 5.8.4.  The Inline module was installed or compiled with the 5.6.1
perl.  So I removed the perl 5.8.4 on (B) completely (\Perl gone!).  Installed
5.6.1 and installed Inline.  Ran the tests and they work great.  Then I
uninstalled 5.6.1 and installed 5.8.4 (had to delete the stuff under _Inline
folder).  Ran the tests and they still work.  Pressing my luck, I uninstalled
5.8.4 and installed 5.8.8 and went through the hokey-poky dance again.  But this
time I got the old memory access error.  Went back to 5.8.4 and it works.  
Grrrrrr.

So it seems to me to be an ActivePerl 5.8.X runtime error.

So in short it will work IFF I install 5.6.1 first.  Install Inline.  Remove
5.6.1 and install 5.8.4.  The \Perl\site folder is left so the original install
of Inline is still available.

And people wonder why I like linux.

Thanks for your help.
- --
Brian Millett
[EMAIL PROTECTED]   "Heaven can not exist,
(636) 458-9106       If the family is not eternal"
 6B-GSCTHP                 F. Ballard Washburn




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Remi - http://enigmail.mozdev.org

iD8DBQFGcUCkDVN3ZP5gvv0RAjSRAJ9fVHR08KVOktMligg+WrsKUPdKQQCgoxik
Zel/2nmt+Al5uX/mKKhjiC4=
=qmor
-----END PGP SIGNATURE-----

Reply via email to