|
Re: IDL_IDL Bridge crashing when setting large variables [message #51625 is a reply to message #51624] |
Sat, 02 December 2006 10:27  |
Foldy Lajos
Messages: 268 Registered: October 2001
|
Senior Member |
|
|
On Sat, 1 Dec 2006, villeneuve@spacecomputer.com wrote:
> I thought I'd try out the IDL-IDL bridge today and my first attempt was
> to try to save a large chunk of data to a file in the background while
> my program did other work. I kept getting weird error messages like
> "Error, could not get error information." And then sometimes IDL would
> segmentation fault and dump me back to the command line.
>
> I am working on a dual CPU intel machine running Redhat linux, and
> obviously I am running version 6.3 IDL.
>
> I cooked up an example script using the IDL bridge that makes IDL
> crash. It creates two bytarrays, the second just 1 byte larger than
> the first. IDL craps out for me when I try to pass the variable C2
> over to the bridge. The variable C1 goes over just fine. The variable
> N is just 76 bytes shy of 32 megabytes. Is that meaningful?
>
> Anybody have any insight into this? The documentation says nothing
> about limits on the size of data that can be passed over the bridge.
> Has anyone seen this before?
>
>
> N = 33554356 ; number of bytes
> c1 = bytarr(N)
> c2 = bytarr(N + 1)
>
> print, 'OK 1'
> idl_o = obj_new('idl_idlbridge')
>
> print, 'OK 2'
> idl_o->setvar, 'c1', c1 ;; <== this line runs OK for me.
>
> print, 'OK 3'
> idl_o->setvar, 'c2', c2 ;; <== this line crashes on my
> machine!!!!
>
> print, 'OK 4'
>
>
max. shared memory size:
cat /proc/sys/kernel/shmmax
you can change it (as root):
echo 1073741824 > /proc/sys/kernel/shmmax
regards,
lajos
|
|
|