harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karl Pauls <karlpa...@gmail.com>
Subject Re: About harmony running felix
Date Wed, 01 Jul 2009 19:08:13 GMT
The patch looks good to me. Thanks.

regards,

Karl

On Wed, Jul 1, 2009 at 4:22 PM, Tim Ellison<t.p.ellison@gmail.com> wrote:
> 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
>>>>>>>
>>>>>
>>>
>>>
>>
>



-- 
Karl Pauls
karlpauls@gmail.com

Mime
View raw message