Skip to main content



      Home
Home » Modeling » Papyrus » Lag because of BuddyClassLoading during XWT Introspection
Lag because of BuddyClassLoading during XWT Introspection [message #1782650] Tue, 27 February 2018 06:41 Go to next message
Eclipse UserFriend
Hi,
we have embedded Papyrus in our application an experience lags due to the properties view which uses XWT. During creation of the XWT tabs, XWT uses introspection to check for BeanInfo classes. Since papyrus makes uses of buddy class loading there is quite a number of bundles which is searched for these BeanInfo classes which probably don't even exist. The lag is quite annoying 20-40 seconds and it is freezing the ui because the class loading takes place in the UI thread.

Is this a known issue?

This is an example of a stack. I just stopped the UI thread during the lag. The class which the classloader is currently looking for is:

org.eclipse.papyrus.infra.properties.ui.widgets.AbstractMultiReferenceBeanInfo

EquinoxContainerAdaptor$1(ClassLoader).findClass(String) line: not available
EquinoxContainerAdaptor$1(ClassLoader).loadClass(String, boolean) line: not available
EquinoxContainerAdaptor$1(ClassLoader).loadClass(String) line: not available
BundleLoader.findClassInternal(String, boolean) line: 479
BundleLoader.findClass(String, boolean) line: 395
BundleLoader.findClass(String) line: 387
DependentPolicy.loadClass(String) line: 55
PolicyHandler.doBuddyClassLoading(String) line: 141
BundleLoader.findClassInternal(String, boolean) line: 471
BundleLoader.findClass(String, boolean) line: 395
BundleLoader.findClass(String) line: 387
DependentPolicy.loadClass(String) line: 55
PolicyHandler.doBuddyClassLoading(String) line: 141
BundleLoader.findClassInternal(String, boolean) line: 471
BundleLoader.findClass(String, boolean) line: 395
BundleLoader.findClass(String) line: 387
EquinoxClassLoader(ModuleClassLoader).loadClass(String, boolean) line: 150
EquinoxClassLoader(ClassLoader).loadClass(String) line: not available
Class<T>.forName0(String, boolean, ClassLoader, Class<?>) line: not available [native method]
Class<T>.forName(String, boolean, ClassLoader) line: not available
ClassFinder.findClass(String, ClassLoader) line: not available
BeanInfoFinder(InstanceFinder<T>).instantiate(Class<?>, String) line: not available
BeanInfoFinder(InstanceFinder<T>).find(Class<?>) line: not available
Introspector.findExplicitBeanInfo(Class<?>) line: not available
Introspector.<init>(Class<?>, Class<?>, int) line: not available
Introspector.getBeanInfo(Class<?>) line: not available
Introspector.getBeanInfo(Class<?>, Class<?>, int) line: not available
Introspector.<init>(Class<?>, Class<?>, int) line: not available
Introspector.getBeanInfo(Class<?>) line: not available
Metaclass(AbstractMetaclass).initialize(Class<?>, IMetaclass) line: 685
Metaclass(AbstractMetaclass).assertInitialize() line: 677
Metaclass(AbstractMetaclass).newInstance(Object[]) line: 395
ResourceLoader.doCreate(Object, Element, Class<?>, Map<String,Object>) line: 613
ResourceLoader.doCreate(Object, Element, Class<?>, Map<String,Object>) line: 717
ResourceLoader.doCreate(Object, Element, Class<?>, Map<String,Object>) line: 717
ResourceLoader.createUIElement(Element, Map<String,Object>) line: 378
PapyrusXWTCore(Core).createCLRElement(IRenderingContext, Element, Map<String,Object>) line: 630
PapyrusXWTCore(Core).load(ILoadingContext, InputStream, URL, Map<String,Object>) line: 772
PapyrusXWTCore(Core).load(ILoadingContext, URL, Map<String,Object>) line: 660
XWTLoader.loadWithOptions(URL, Map<String,Object>) line: 1072

Thanks in advance.

Regards,
Thorsten
Re: Lag because of BuddyClassLoading during XWT Introspection [message #1784205 is a reply to message #1782650] Fri, 23 March 2018 09:59 Go to previous message
Eclipse UserFriend
Hello evreybody,
this thread continues on the bugzilla https://bugs.eclipse.org/bugs/show_bug.cgi?id=531741. Thanks to Camille which opened the bug.

Regards,
--
Vincent Lorenzo
Previous Topic:How to represent a relationship in a model applying a profil
Next Topic:Constraints and code generation
Goto Forum:
  


Current Time: Sat Jul 05 10:06:16 EDT 2025

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

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

Back to the top