octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ov-java.cc-tst fails on Lubuntu 14.04


From: Rik
Subject: Re: ov-java.cc-tst fails on Lubuntu 14.04
Date: Fri, 05 Jun 2015 09:10:36 -0700

On 06/04/2015 09:48 PM, Tatsuro MATSUOKA wrote:
> ----- Original Message -----
>
>> From: Tatsuro MATSUOKA 
> To: Rik  "octave-maintainers Julien Bect 
>> Cc: 
>> Date: 2015/6/4, Thu 19:55
>> Subject: Re: ov-java.cc-tst fails on Lubuntu 14.04
>>
>> ----- Original Message -----
>>
>>>  From: Rik 
>>>  To: Tatsuro MATSUOKA ; "octave-maintainers; Julien Bect> Cc: 
>>>  Date: 2015/6/3, Wed 11:53
>>>  Subject: Re: ov-java.cc-tst fails on Lubuntu 14.04
>>>
>>>  On 06/02/2015 04:28 PM, Tatsuro MATSUOKA wrote:
>>>>>   I was going to wait on the results of your test and
>>>>>   then post to octave-maintainers, but you have beaten me to it. 
>>>>   I apologize my impolite manner.
>>>  No need to apologize.  It's not polite or impolite.  You were simply
>>>  working on finding a solution quickly.
>>>
>>>>>   assert (javaMethod ("binarySearch", 
>>>  "java.util.Arrays", 
>>>>>   single ([90 100 255]), single (255)), 2);
>>>>   This works without problem.
>>>  Well that's good.  Maybe the default numeric type for a 32-bit JRE is 
>> float
>>>  rather than double?  Seems odd though.  The 32-bit JRE is supposed to be
>>>  about the size of references and therefore about the size of addressable
>>>  memory.
>>>
>>>  --Rik
>>
>> I have built octave-4.0.0 on lubunutu 12.04 (32bit) using gcc-4.8.1.
>> Interestingly "test ov-java.cc-tst" passes.
>>
>>>>  test ov-java.cc-tst
>> PASSES 5 out of 5 tests
>>
>> On lubuntu 14.04 (32 bit), I have used openjdk-7-jdk, openjdk-7-jre, 
>> openjdk-7-jre-headless (7u79-2.5.5-0ubuntu)
>> while on 12.04, I have used openjdk-6-jdk, openjdk-6-jre, 
>> and  openjdk-6-jre-headless (6b35-1.13.7-1ubunutu0.12.04.2).
>>
>> I do not know the difference comes from the openjdk version difference at 
>> the 
>> moment.
>>
>> On ubuntu 12.04, one can use openjdk-7. I may try it tomorrow if I have time.
>>
>> Tatsuro
>
> The origin of the FAIL in ov-java.cc-tst comes from openjdk-7 on ubuntu 32 
> bit.
>
> I have installed the openjdk-7 (it is not default for ubunut 12.04. For 12.04,
> the openjdk-6 is default.)  and built octave against it .
>
>>> assert (javaMethod ("binarySearch", "java.util.Arrays", [90 100 255], 255), 
>>> 2);
> error: [java] java.lang.ClassCastException: java.lang.Double cannot be cast 
> to java.lang.Float
> error: evaluating argument list element number 1
>
> Of course, the modified test that you have shown is passed;
>>> assert (javaMethod ("binarySearch", "java.util.Arrays",  single ([90 100 
>>> 255]), single (255)), 2);
> I do not know why 32 bit version openjdk-7 changes the behavior from that in 
> openjdk-6.
>
> Tatsuro
>

Tatsuro,

You have collected a lot of good information about the bug.  Could you file
a bug report at bugs.octave.org so that this information does not get lost?

I think it will require someone very familiar with Octave's Java interface
to work through this, but at least it is narrowed down to 32-bit
architectures running openjdk-7.

--Rik



reply via email to

[Prev in Thread] Current Thread [Next in Thread]