dictionary bug [message #89578] |
Wed, 29 October 2014 14:09  |
Helder Marchetto
Messages: 520 Registered: November 2011
|
Senior Member |
|
|
Hi,
I've came across an awkward error using dictionaries and dot syntax.
The bug is pretty straight forward to reproduce, but the idl crashes hard. In windows 7, the window simply disappears and I'm left with a bug report.
#############
Disclaimer: If you test this code, I will not be responsible for any data loss or damages of any kind (pc burning, earthquakes, losses at the stock exchange,...) resulting!
#############
Here we go:
a = dictionary()
a['item'] = 0l
a.item++ ;source of the crash
using array syntax is ok:
a['item']++ instead works.
In case anybody is willing to try this... is this IDL 8.4 related or was it also the case in 8.3?
Any chance this gets repaired soon?
Cheers,
Helder
|
|
|
Re: dictionary bug [message #89579 is a reply to message #89578] |
Wed, 29 October 2014 14:32   |
Jim Pendleton
Messages: 165 Registered: November 2011
|
Senior Member |
|
|
On Wednesday, October 29, 2014 3:09:02 PM UTC-6, Helder wrote:
> Hi,
> I've came across an awkward error using dictionaries and dot syntax.
> The bug is pretty straight forward to reproduce, but the idl crashes hard. In windows 7, the window simply disappears and I'm left with a bug report.
> #############
> Disclaimer: If you test this code, I will not be responsible for any data loss or damages of any kind (pc burning, earthquakes, losses at the stock exchange,...) resulting!
> #############
>
> Here we go:
>
> a = dictionary()
> a['item'] = 0l
> a.item++ ;source of the crash
>
> using array syntax is ok:
>
> a['item']++ instead works.
>
> In case anybody is willing to try this... is this IDL 8.4 related or was it also the case in 8.3?
>
> Any chance this gets repaired soon?
>
>
> Cheers,
> Helder
Yoiks! That's still a critical bug in the recently-release8.4.
Thanks for reporting it.
Jim P
|
|
|
|
Re: dictionary bug [message #89583 is a reply to message #89582] |
Thu, 30 October 2014 00:55   |
Helder Marchetto
Messages: 520 Registered: November 2011
|
Senior Member |
|
|
On Thursday, October 30, 2014 8:51:59 AM UTC+1, Fabien wrote:
> Hi Helder,
>
> IDL> !VERSION
> {
> ARCH: "x86_64",
> OS: "linux",
> OS_FAMILY: "unix",
> OS_NAME: "linux",
> RELEASE: "8.3",
> BUILD_DATE: "Nov 15 2013",
> MEMORY_BITS: 64,
> FILE_OFFSET_BITS: 64
> }
>
> IDL> a = dictionary()
> IDL> a['item'] = 0l
> IDL> a.item++
> IDL> a
> {
> "item": 0
> }
> IDL> a['item']++
> % Type conversion error: Unable to convert given STRING to Long64.
> % Detected at: $MAIN$
> % Object reference expression not allowed in this context: A.
> % Execution halted at: $MAIN$
>
>
> Is this supposed to work in IDL 8.4 or in Windows?
>
> Fabien
Hi Fabien,
sorry I didn't specify the !Version:
IDL> !VERSION
{
"ARCH": "x86_64",
"OS": "Win32",
"OS_FAMILY": "Windows",
"OS_NAME": "MicrosoftWindows",
"RELEASE": "8.4",
"BUILD_DATE": "Sep272014",
"MEMORY_BITS": 64,
"FILE_OFFSET_BITS": 64
}
This sequence of commands crashes IDL:
IDL> a = dictionary()
IDL> a['item'] = 0l
IDL> a.item++
Whereas this works:
IDL> a = dictionary()
IDL> a['item'] = 0l
IDL> a['item']++
IDL> a
{
"item": 1
}
I never tried this in 8.3 and I've uninstalled 8.3 already.
Cheers,
Helder
|
|
|
Re: dictionary bug [message #89584 is a reply to message #89583] |
Thu, 30 October 2014 02:26  |
Helder Marchetto
Messages: 520 Registered: November 2011
|
Senior Member |
|
|
On Thursday, October 30, 2014 8:55:20 AM UTC+1, Helder wrote:
> On Thursday, October 30, 2014 8:51:59 AM UTC+1, Fabien wrote:
>> Hi Helder,
>>
>> IDL> !VERSION
>> {
>> ARCH: "x86_64",
>> OS: "linux",
>> OS_FAMILY: "unix",
>> OS_NAME: "linux",
>> RELEASE: "8.3",
>> BUILD_DATE: "Nov 15 2013",
>> MEMORY_BITS: 64,
>> FILE_OFFSET_BITS: 64
>> }
>>
>> IDL> a = dictionary()
>> IDL> a['item'] = 0l
>> IDL> a.item++
>> IDL> a
>> {
>> "item": 0
>> }
>> IDL> a['item']++
>> % Type conversion error: Unable to convert given STRING to Long64.
>> % Detected at: $MAIN$
>> % Object reference expression not allowed in this context: A.
>> % Execution halted at: $MAIN$
>>
>>
>> Is this supposed to work in IDL 8.4 or in Windows?
>>
>> Fabien
>
> Hi Fabien,
> sorry I didn't specify the !Version:
>
> IDL> !VERSION
> {
> "ARCH": "x86_64",
> "OS": "Win32",
> "OS_FAMILY": "Windows",
> "OS_NAME": "MicrosoftWindows",
> "RELEASE": "8.4",
> "BUILD_DATE": "Sep272014",
> "MEMORY_BITS": 64,
> "FILE_OFFSET_BITS": 64
> }
>
> This sequence of commands crashes IDL:
>
> IDL> a = dictionary()
> IDL> a['item'] = 0l
> IDL> a.item++
>
> Whereas this works:
> IDL> a = dictionary()
> IDL> a['item'] = 0l
> IDL> a['item']++
> IDL> a
> {
> "item": 1
> }
>
> I never tried this in 8.3 and I've uninstalled 8.3 already.
>
> Cheers,
> Helder
I just checked. This problem is not connected to the IDLDE, but it also occurs from the IDL command line.
Cheers,
Helder
|
|
|