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 Tue, 16 Jun 2009 12:35:21 GMT
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