harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: About harmony running felix
Date Wed, 01 Jul 2009 14:22:33 GMT
Ah, not to worry, I figured out the test case and have a fix.

https://issues.apache.org/jira/browse/HARMONY-6254

Please check if this fixes the problem for you.

Regards,
Tim

Tim Ellison wrote:
> Karl,
> 
> You didn't provide a walkback (that I saw).
> 
> Is the exception thrown on line 309 of java.net.URLStreamHandler?
> That's the only place that I see our code assuming that the file part is
> not null, which is an incorrect assumption since the URL code handles
> null file parts ok.
> 
> I searched for some way to create a URL with a null file part, but I'm
> struggling...
> 
> Regards,
> Tim
> 
> Karl Pauls wrote:
>> I can try but I'm not sure whether I have the time. Thing is, we do
>> pretty strange stuff in felix to support the OSGi spec in regard to
>> URLStreamHandlers. It might very well be possible that in most cases
>> the comment is right and the file part of a URL will not be null but
>> an empty string however, in our case its not and that is kind of
>> proving it wrong :-)
>>
>> I'll look into creating a testcase but at any rate, for now, I'm going
>> to add a workaround in felix that catches the NPE and does the same
>> that URLStreamHandler.toExternalForm() does in harmony just assuming
>> that URL.getFile() might return null. Already tested it and that makes
>> it work without any problems.
>>
>> regards,
>>
>> Karl
>>
>> On Tue, Jun 16, 2009 at 12:12 PM, Davanum Srinivas<davanum@gmail.com> wrote:
>>> Karl,
>>>
>>> Can you please JIRA-it with a stripped down test case?
>>>
>>> thanks,
>>> dims
>>>
>>> On 06/16/2009 04:19 AM, Karl Pauls wrote:
>>>> Thanks, I did figure that one out already. Sorry for the noise (the
>>>> difficulty was just to get it to work with eclipse running on my mac
>>>> and harmony inside windows on virtual box :-).
>>>>
>>>> I now can see what is going on and I do think it is a bug in harmony.
>>>> I might be able to workaround it in felix for the time being but the
>>>> issue is this:
>>>>
>>>> URLStreamHandler.toExternalForm() does assume that the url has a file
>>>> part and that it is not null (there is even a comment saying so). I
>>>> think that is not a valid assumption and in this case it is what is
>>>> causing the problem. We do a toExternalForm on a url that has only the
>>>> schema set (not the file part). In this case the
>>>> URLStreamHandler.toExternalForm() is using the result of a call to
>>>> URL.getFile() without checking whether it is null or not and
>>>> subsequently, is throwing a NPE. That doesn't happen on sun and is the
>>>> problem for felix.
>>>>
>>>> regards,
>>>>
>>>> Karl
>>>>
>>>> On Tue, Jun 16, 2009 at 5:52 AM, Nathan Beyer<nbeyer@gmail.com>  wrote:
>>>>> On Mon, Jun 15, 2009 at 3:42 AM, Karl Pauls<karlpauls@gmail.com>
 wrote:
>>>>>> Already did. Doesn't fix it.
>>>>>>
>>>>>> We do quite some magic in regard to the URLHandlers inside felix
so
>>>>>> I'm not surprised that we run into some issues on harmony but this
one
>>>>>> is odd as it seems to get down to an NPE inside URL.class at a place
>>>>>> where this just doesn't seem possible with the current trunk. Granted,
>>>>>> due to the magic it isn't that clear that this is the real problem.
It
>>>>>> might be just a side-effect. Is there a way to hook-up harmony to
the
>>>>>> eclipse debugger (i.e., have felix run on top of harmony and connect
a
>>>>>> normal remote debugger)?
>>>>> It should work just like any other remote process debug. Just launch
>>>>> Felix+Harmony with the standard debug options to listen on a socket
>>>>> and suspend on startup, then connect to it from Eclipse.
>>>>>
>>>>> -Nathan
>>>>>> regards,
>>>>>>
>>>>>> Karl
>>>>>>
>>>>>> On Mon, Jun 15, 2009 at 12:24 AM, Nathan Beyer<nbeyer@gmail.com>
 wrote:
>>>>>>> Try out the latest milestone that just release last week -
>>>>>>> http://harmony.apache.org/download.cgi
>>>>>>>
>>>>>>> 5M10 should be pretty close to trunk right now.
>>>>>>>
>>>>>>> -Nathan
>>>>>>>
>>>>>>> On Sun, Jun 14, 2009 at 3:42 PM, Karl Pauls<karlpauls@gmail.com>
>>>>>>>  wrote:
>>>>>>>> Is it possible to download a build of the current trunk somewhere?
I'd
>>>>>>>> like to look into this issue...
>>>>>>>>
>>>>>>>> regards,
>>>>>>>>
>>>>>>>> Karl
>>>>>>>>
>>>>>>>> On Tue, Jun 9, 2009 at 5:30 AM, Nathan Beyer<ndbeyer@apache.org>
>>>>>>>>  wrote:
>>>>>>>>> That's somewhat old. I don't suppose you could to a fresh
build from
>>>>>>>>> HEAD and try again - at least a fresh build of the classlib.
The
>>>>>>>>> change I'm thinking of probably isn't in the build you're
using.
>>>>>>>>>
>>>>>>>>> -Nathan
>>>>>>>>>
>>>>>>>>> On Mon, Jun 8, 2009 at 9:49 PM, galaxy<tian.galaxy@gmail.com>
 wrote:
>>>>>>>>>> It's , harmony-jre-761593,
>>>>>>>>>>
>>>>>>>>>> 2009/6/9 Nathan Beyer<ndbeyer@apache.org>
>>>>>>>>>>
>>>>>>>>>>> On Mon, Jun 8, 2009 at 12:46 AM, galaxy<tian.galaxy@gmail.com>
>>>>>>>>>>>  wrote:
>>>>>>>>>>>> Hi
>>>>>>>>>>>> It's about running felix in harmony .When
we run felix in harmony
>>>>>>>>>>>> with
>>>>>>>>>>> the
>>>>>>>>>>>> felix-cache there , it's OK.
>>>>>>>>>>>> But there will be errors when running without
the felix-cache
>>>>>>>>>>>> .That means
>>>>>>>>>>>> after deleting felix-cache , harmony runtime
fails to install
>>>>>>>>>>>> the bundles set to be auto-installed .While
with sun jdk ,it runs
>>>>>>>>>>>> well
>>>>>>>>>>> .That
>>>>>>>>>>>> is to say harmony runtime is only able to
find the cache dir which
>>>>>>>>>>>> is
>>>>>>>>>>>> specified by
>>>>>>>>>>>> "felix.cache.rootdir" in the config.properties
file (mine is
>>>>>>>>>>>> "felix.cache.rootdir=D:/JavaWorld/Felix")
but not the bundle which
>>>>>>>>>>>> is the
>>>>>>>>>>>> specified by "file:xxx.jar"
>>>>>>>>>>>> Also the command  "install file:XXX.jar"
won't work .The erroe
>>>>>>>>>>>> message is
>>>>>>>>>>>> "[1]
>>>>>>>>>>>>
>>>>>>>>>>>> I did some search and found that the it's
related to the
>>>>>>>>>>>> urlhandler
>>>>>>>>>>> class.
>>>>>>>>>>>> I think whenever referring to the "file:xxx.jar"
, the url fails
>>>>>>>>>>>> to
>>>>>>>>>>> locate
>>>>>>>>>>>> the file .
>>>>>>>>>>> What build of Harmony are you testing? Is it
a Milestone build? A
>>>>>>>>>>> recent fix may address this issue, but it hasn't
made into a
>>>>>>>>>>> published
>>>>>>>>>>> build yet.
>>>>>>>>>>>
>>>>>>>>>>>> I think it's ours , not the felix's problem
, so I report it here.
>>>>>>>>>>>>
>>>>>>>>>>>> You may try this by deleting the felix-cache
directory in the
>>>>>>>>>>>> working
>>>>>>>>>>>> directory and run
>>>>>>>>>>>> java -jar bin\felix.jar
>>>>>>>>>>>> with harmony's and sun's respectively .If
you run sun's first and
>>>>>>>>>>>> not
>>>>>>>>>>>> deleting the cache afterwards , no error
.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> [1]
>>>>>>>>>>>> java.net.MalformedURLException: java.lang.IllegalStateException:
>>>>>>>>>>>> Stream
>>>>>>>>>>>> handler
>>>>>>>>>>>> unavailable due to: Stream handler unavailable
due to: null"
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> regards
>>>>>>>>>>>> Tian
>>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> regards
>>>>>>>>>> Tian
>>>>>>>>>>
>>>>>>>> --
>>>>>>>> Karl Pauls
>>>>>>>> karlpauls@gmail.com
>>>>>>>>
>>>>>> --
>>>>>> Karl Pauls
>>>>>> karlpauls@gmail.com
>>>>>>
>>>>
>>
>>
> 

Mime
View raw message