Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Papyrus » Timeouts searching for /papyrus/1.4/SysML/Blocks.di
Timeouts searching for /papyrus/1.4/SysML/Blocks.di [message #1735749] Wed, 22 June 2016 12:10 Go to next message
Thorsten Schlathölter is currently offline Thorsten SchlathölterFriend
Messages: 309
Registered: February 2012
Location: Düsseldorf
Senior Member
Once in a while I get nasty timeouts when using papyrus. I checked what happens and I found that the application tries to resolve the following resource which cannot be found locally:

http://www.eclipse.org/papyrus/1.4/SysML/Blocks.di


It then tries to load the resource from it's origination at www.eclipse.org. If the internet access lags the applications hangs until timeout.

Blocks is a package of SysML.profile.uml, SysML.profile.di exists.

Up to my knowledge the di files do not contain valuable information. They are empty except of a header.

The load can be triggered from various places in papyrus. Here is an example stack. It is triggered by the UMLSnippet because a Resource with the respective URL was added.

SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]	
SocketInputStream.read(byte[], int, int, int) line: not available	
SocketInputStream.read(byte[], int, int) line: not available	
BufferedInputStream.fill() line: not available	
BufferedInputStream.read1(byte[], int, int) line: not available	
BufferedInputStream.read(byte[], int, int) line: not available	
HttpClient.parseHTTPHeader(MessageHeader, ProgressSource, HttpURLConnection) line: not available	
HttpClient.parseHTTP(MessageHeader, ProgressSource, HttpURLConnection) line: not available	
HttpURLConnection.getInputStream0() line: not available	
HttpURLConnection.getInputStream() line: not available	
URIHandlerImpl.createInputStream(URI, Map<?,?>) line: 207	
ExtensibleURIConverterImpl.createInputStream(URI, Map<?,?>) line: 360	
ExtensibleURIConverterImpl.createInputStream(URI) line: 354	
DecoratorModelUtils.isDecoratorModel(URI) line: 830	
UMLSnippet$1.handleResourceAdded(Resource) line: 91	
UMLSnippet$1(ResourceAdapter).handleResourceSetResources(Notification) line: 123	


Is there anything I can do about this? Maybe provide the requested resources locally?

Thanks in advance
Thorsten
Re: Timeouts searching for /papyrus/1.4/SysML/Blocks.di [message #1735784 is a reply to message #1735749] Wed, 22 June 2016 16:42 Go to previous messageGo to next message
Christian Damus is currently offline Christian DamusFriend
Messages: 1207
Registered: July 2009
Location: Canada
Senior Member

Hi, Thorsten,

This should never happen, because (I think) this resource has an http
URI only because it is a registered package that is put by EMF in a
resource having the namespace URI as its URI. This situation should be
easily detectable in code so that, for example, the decorator can know
not to bother looking into it.

Please raise a bug. I would suggest major or critical severity and
I'll have a look at it as soon as I can.

Thanks,

Christian


On 2016-06-22 12:10:25 +0000, Thorsten Schlathölter said:

> Once in a while I get nasty timeouts when using papyrus. I checked what
> happens and I found that the application tries to resolve the following
> resource which cannot be found locally:
>
>
> http://www.eclipse.org/papyrus/1.4/SysML/Blocks.di
>
>
> It then tries to load the resource from it's origination at
> www.eclipse.org. If the internet access lags the applications hangs
> until timeout.
>
> Blocks is a package of SysML.profile.uml, SysML.profile.di exists.
>
> Up to my knowledge the di files do not contain valuable information.
> They are empty except of a header.
>
> The load can be triggered from various places in papyrus. Here is an
> example stack. It is triggered by the UMLSnippet because a Resource
> with the respective URL was added.
>
> SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int)
> line: not available [native method]
> SocketInputStream.read(byte[], int, int, int) line: not available
> SocketInputStream.read(byte[], int, int) line: not available
> BufferedInputStream.fill() line: not available
> BufferedInputStream.read1(byte[], int, int) line: not available
> BufferedInputStream.read(byte[], int, int) line: not available
> HttpClient.parseHTTPHeader(MessageHeader, ProgressSource,
> HttpURLConnection) line: not available
> HttpClient.parseHTTP(MessageHeader, ProgressSource, HttpURLConnection)
> line: not available
> HttpURLConnection.getInputStream0() line: not available
> HttpURLConnection.getInputStream() line: not available
> URIHandlerImpl.createInputStream(URI, Map<?,?>) line: 207
> ExtensibleURIConverterImpl.createInputStream(URI, Map<?,?>) line: 360
> ExtensibleURIConverterImpl.createInputStream(URI) line: 354
> DecoratorModelUtils.isDecoratorModel(URI) line: 830
> UMLSnippet$1.handleResourceAdded(Resource) line: 91
> UMLSnippet$1(ResourceAdapter).handleResourceSetResources(Notification)
> line: 123
>
> Is there anything I can do about this? Maybe provide the requested
> resources locally?
>
> Thanks in advance
> Thorsten
Re: Timeouts searching for /papyrus/1.4/SysML/Blocks.di [message #1735795 is a reply to message #1735784] Wed, 22 June 2016 18:40 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 6794
Registered: July 2009
Senior Member
Hi

It is absolutely essential that such URIs are registered so that EMF
suppresses the accesses.

Perhaps there is no SysMLResourcesUtil.init to help users / developers.

OCL used to be very guilty on this count by failing to register its
pseudo Standard Library URI.

Fortunately EMF now caches such failures so you only get one timeout per
ResourceSet. In the old days you could get many many timeouts.

Regards

Ed Willink


On 22/06/2016 17:42, Christian W. Damus wrote:
> Hi, Thorsten,
>
> This should never happen, because (I think) this resource has an http
> URI only because it is a registered package that is put by EMF in a
> resource having the namespace URI as its URI. This situation should
> be easily detectable in code so that, for example, the decorator can
> know not to bother looking into it.
>
> Please raise a bug. I would suggest major or critical severity and
> I'll have a look at it as soon as I can.
>
> Thanks,
>
> Christian
>
>
> On 2016-06-22 12:10:25 +0000, Thorsten Schlathölter said:
>
>> Once in a while I get nasty timeouts when using papyrus. I checked
>> what happens and I found that the application tries to resolve the
>> following resource which cannot be found locally:
>>
>>
>> http://www.eclipse.org/papyrus/1.4/SysML/Blocks.di
>>
>>
>> It then tries to load the resource from it's origination at
>> www.eclipse.org. If the internet access lags the applications hangs
>> until timeout.
>>
>> Blocks is a package of SysML.profile.uml, SysML.profile.di exists.
>>
>> Up to my knowledge the di files do not contain valuable information.
>> They are empty except of a header.
>>
>> The load can be triggered from various places in papyrus. Here is an
>> example stack. It is triggered by the UMLSnippet because a Resource
>> with the respective URL was added.
>>
>> SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int)
>> line: not available [native method]
>> SocketInputStream.read(byte[], int, int, int) line: not available
>> SocketInputStream.read(byte[], int, int) line: not available
>> BufferedInputStream.fill() line: not available
>> BufferedInputStream.read1(byte[], int, int) line: not available
>> BufferedInputStream.read(byte[], int, int) line: not available
>> HttpClient.parseHTTPHeader(MessageHeader, ProgressSource,
>> HttpURLConnection) line: not available
>> HttpClient.parseHTTP(MessageHeader, ProgressSource,
>> HttpURLConnection) line: not available
>> HttpURLConnection.getInputStream0() line: not available
>> HttpURLConnection.getInputStream() line: not available
>> URIHandlerImpl.createInputStream(URI, Map<?,?>) line: 207
>> ExtensibleURIConverterImpl.createInputStream(URI, Map<?,?>) line: 360
>> ExtensibleURIConverterImpl.createInputStream(URI) line: 354
>> DecoratorModelUtils.isDecoratorModel(URI) line: 830
>> UMLSnippet$1.handleResourceAdded(Resource) line: 91
>> UMLSnippet$1(ResourceAdapter).handleResourceSetResources(Notification)
>> line: 123
>>
>> Is there anything I can do about this? Maybe provide the requested
>> resources locally?
>>
>> Thanks in advance
>> Thorsten
>
>
Re: Timeouts searching for /papyrus/1.4/SysML/Blocks.di [message #1735798 is a reply to message #1735795] Wed, 22 June 2016 18:53 Go to previous message
Thorsten Schlathölter is currently offline Thorsten SchlathölterFriend
Messages: 309
Registered: February 2012
Location: Düsseldorf
Senior Member
Thanks a lot.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=496580
Previous Topic:SterotypeComments are not deleted for Connectors in case of undo operation
Next Topic:MARTE profile example
Goto Forum:
  


Current Time: Thu Aug 06 06:30:45 GMT 2020

Powered by FUDForum. Page generated in 0.01988 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top