comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Exit when run these codes
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Exit when run these codes [message #91923] Tue, 15 September 2015 19:35 Go to next message
ZH Jiao is currently offline  ZH Jiao
Messages: 3
Registered: November 2012
Junior Member
When I run these code, the IDL will exit. (IDL 8.5 windows x64)
str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
print,str
a=str.map(lambda(x:x.split(',')))
print,a

Does someone find this issue too?
Re: Exit when run these codes [message #91924 is a reply to message #91923] Tue, 15 September 2015 20:27 Go to previous messageGo to next message
Jim  Pendleton is currently offline  Jim Pendleton
Messages: 165
Registered: November 2011
Senior Member
On Tuesday, September 15, 2015 at 8:35:23 PM UTC-6, ZH ZD wrote:
> When I run these code, the IDL will exit. (IDL 8.5 windows x64)
> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
> print,str
> a=str.map(lambda(x:x.split(',')))
> print,a
>
> Does someone find this issue too?

The example runs without producing an *immediate* crash error for me on Win7-64 in both 32- and 64-bit command line IDL 8.5. However, setting the variable "a" to 0 after those lines will crash IDL in all cases.

The results printed before this are not consistent.

On 64-bit command line I get this.

IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
IDL> print,str
0,1,2 3,4,5 6,7,8 9,10,11
IDL> a=str.map(lambda(x:x.split(',')))
IDL> print,a
0 9 3
3 9 6
6 9 1
9 10 11

On 32-bit command line, I get a different set of output lines:


IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
IDL> print,str
0,1,2 3,4,5 6,7,8 9,10,11
IDL> a=str.map(lambda(x:x.split(',')))
IDL> print,a
0 9 3
3 1 6
6 9 9
9 10 11

The 64-bit Workbench likewise doesn't fail but it produces a different type of output, which is clearly wrong.

IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
IDL> print,str
IDL> a=str.map(lambda(x:x.split(',')))
0,1,2 3,4,5 6,7,8 9,10,11
IDL> print,a
0 R 3
3 e 6
6 R 9
9 en me

Setting "a = 0" following any of these will indeed crash IDL 8.5.
Re: Exit when run these codes [message #91925 is a reply to message #91924] Tue, 15 September 2015 21:57 Go to previous messageGo to next message
ZH Jiao is currently offline  ZH Jiao
Messages: 3
Registered: November 2012
Junior Member
在 2015年9月16日星期三 UTC+8上午11:27:12,Jim P写道:
> On Tuesday, September 15, 2015 at 8:35:23 PM UTC-6, ZH ZD wrote:
>> When I run these code, the IDL will exit. (IDL 8.5 windows x64)
>> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
>> print,str
>> a=str.map(lambda(x:x.split(',')))
>> print,a
>>
>> Does someone find this issue too?
>
> The example runs without producing an *immediate* crash error for me on Win7-64 in both 32- and 64-bit command line IDL 8.5. However, setting the variable "a" to 0 after those lines will crash IDL in all cases.
>
> The results printed before this are not consistent.
>
> On 64-bit command line I get this.
>
> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
> IDL> print,str
> 0,1,2 3,4,5 6,7,8 9,10,11
> IDL> a=str.map(lambda(x:x.split(',')))
> IDL> print,a
> 0 9 3
> 3 9 6
> 6 9 1
> 9 10 11
>
> On 32-bit command line, I get a different set of output lines:
>
>
> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
> IDL> print,str
> 0,1,2 3,4,5 6,7,8 9,10,11
> IDL> a=str.map(lambda(x:x.split(',')))
> IDL> print,a
> 0 9 3
> 3 1 6
> 6 9 9
> 9 10 11
>
> The 64-bit Workbench likewise doesn't fail but it produces a different type of output, which is clearly wrong.
>
> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
> IDL> print,str
> IDL> a=str.map(lambda(x:x.split(',')))
> 0,1,2 3,4,5 6,7,8 9,10,11
> IDL> print,a
> 0 R 3
> 3 e 6
> 6 R 9
> 9 en me
>
> Setting "a = 0" following any of these will indeed crash IDL 8.5.

Yes, the same issue for me. But when you put these codes in a pro file, you run the code and then IDL crash.

PRO test
COMPILE_OPT idl2
str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
print,str
a=str.map(lambda(x:x.split(',')))
print,a
END
Re: Exit when run these codes [message #91929 is a reply to message #91925] Wed, 16 September 2015 09:02 Go to previous message
chris_torrence@NOSPAM is currently offline  chris_torrence@NOSPAM
Messages: 528
Registered: March 2007
Senior Member
On Tuesday, September 15, 2015 at 10:57:36 PM UTC-6, ZH ZD wrote:
> 在 2015年9月16日星期三 UTC+8上午11:27:12,Jim P写道:
>> On Tuesday, September 15, 2015 at 8:35:23 PM UTC-6, ZH ZD wrote:
>>> When I run these code, the IDL will exit. (IDL 8.5 windows x64)
>>> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
>>> print,str
>>> a=str.map(lambda(x:x.split(',')))
>>> print,a
>>>
>>> Does someone find this issue too?
>>
>> The example runs without producing an *immediate* crash error for me on Win7-64 in both 32- and 64-bit command line IDL 8.5. However, setting the variable "a" to 0 after those lines will crash IDL in all cases.
>>
>> The results printed before this are not consistent.
>>
>> On 64-bit command line I get this.
>>
>> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
>> IDL> print,str
>> 0,1,2 3,4,5 6,7,8 9,10,11
>> IDL> a=str.map(lambda(x:x.split(',')))
>> IDL> print,a
>> 0 9 3
>> 3 9 6
>> 6 9 1
>> 9 10 11
>>
>> On 32-bit command line, I get a different set of output lines:
>>
>>
>> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
>> IDL> print,str
>> 0,1,2 3,4,5 6,7,8 9,10,11
>> IDL> a=str.map(lambda(x:x.split(',')))
>> IDL> print,a
>> 0 9 3
>> 3 1 6
>> 6 9 9
>> 9 10 11
>>
>> The 64-bit Workbench likewise doesn't fail but it produces a different type of output, which is clearly wrong.
>>
>> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
>> IDL> print,str
>> IDL> a=str.map(lambda(x:x.split(',')))
>> 0,1,2 3,4,5 6,7,8 9,10,11
>> IDL> print,a
>> 0 R 3
>> 3 e 6
>> 6 R 9
>> 9 en me
>>
>> Setting "a = 0" following any of these will indeed crash IDL 8.5.
>
> Yes, the same issue for me. But when you put these codes in a pro file, you run the code and then IDL crash.
>
> PRO test
> COMPILE_OPT idl2
> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
> print,str
> a=str.map(lambda(x:x.split(',')))
> print,a
> END

Yep, this is a known bug with the .Map method. It's logged as issue IDL-69449. I'm hoping to get it fixed for the next service pack/point release.

Thanks!
-Chris
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Defining a callback that respects timers?
Next Topic: Time

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 11:27:30 PDT 2025

Total time taken to generate the page: 0.00580 seconds