Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • I ice
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 14
    • Issues 14
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Eclipse ProjectsEclipse Projects
  • The Eclipse Integrated Computational Environment
  • ice
  • Issues
  • #347
Closed
Open
Issue created Feb 15, 2017 by Eclipse Webmaster@webmasterOwner

Some DS components are busted

Created by: jayjaybillings

Some of our DS components are busted and will post errors similar to the following:

!ENTRY org.eclipse.ice.nek5000 4 0 2017-02-15 09:26:53.568
!MESSAGE [org.eclipse.ice.nek5000.VizServiceFactoryHolder(104)] doFindMethod: Suitable but non-accessible method found in class org.eclipse.ice.nek5000.internal.VizServiceFactoryHolder

!ENTRY org.eclipse.ice.nek5000 4 0 2017-02-15 09:26:53.568
!MESSAGE [org.eclipse.ice.nek5000.VizServiceFactoryHolder(104)] findMethod: Suitable but non-accessible method setVizServiceFactory found in class org.eclipse.ice.nek5000.internal.VizServiceFactoryHolder, subclass of org.eclipse.ice.nek5000.internal.VizServiceFactoryHolder

!ENTRY org.eclipse.ice.nek5000 4 0 2017-02-15 09:26:53.568
!MESSAGE [org.eclipse.ice.nek5000.VizServiceFactoryHolder(104)] bind method [setVizServiceFactory] not found; Component will fail

!ENTRY org.eclipse.ice.nek5000 4 0 2017-02-15 09:26:53.569
!MESSAGE [org.eclipse.ice.nek5000.VizServiceFactoryHolder(104)] bind method [setVizServiceFactory] not found

This problem is caused by updates to bndtools that were included in Apache Felix which has in turn been picked up by Equinox, c.f. - https://github.com/bndtools/bnd/issues/486. The source of the error in ICE (and EAVP) is that we are using static setters to store services. Fixing this is as simple as removing the static access modifier and replacing any instances of something like

MyServiceHolder.set(foo);

with

MyServiceHolder holder = new MyServiceHolder();
holder.set(foo);

These are, in fact, very good changes for us to make because creating our own singletons to store services has always been one of our sources of technical debt. In this case, all of ICE's various fields for storing such services are static because of our inheritance model, but access to them should not be.

Assignee
Assign to
Time tracking

Copyright © Eclipse Foundation, Inc. All Rights Reserved.     Privacy Policy | Terms of Use | Copyright Agent