web-dev-qa-db-ja.com

状態変更ロックを取得できません

当社の製品は、SWTの最新の量産対応リリース3.7.2を使用しています。今度は誰も次のJava=バージョンが呼び出されること(そして、8が7の後に来たことをどのようにして知るか、それはより高い数学のようです)を知らなかったので、org.Eclipse.osgiは3.7.2から3.10.0になり、Java 8.をサポートできるようになりました。これは最良のアイデアではないかもしれませんが、理論的にはすべき機能します。

もちろん、Eclipse Lunaの大きな問題であるので、アプリケーションを開始すると、この1つの「エラー」が発生します(約50%の確率です)。

org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; osgi.identity="org.Eclipse.osgi"; type="osgi.bundle"; version:Version="3.10.0.v20140606-1445"; singleton:="true" [id=0] STARTED [STARTED] invalid
at org.Eclipse.osgi.container.Module.lockStateChange(Module.Java:329)
at org.Eclipse.osgi.container.SystemModule.init(SystemModule.Java:44)
at org.Eclipse.osgi.container.SystemModule.start(SystemModule.Java:170)
at org.Eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.Java:393)
at org.Eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.Java:412)
at org.Eclipse.equinox.internal.simpleconfigurator.ConfigApplier.startBundles(ConfigApplier.Java:307)
at org.Eclipse.equinox.internal.simpleconfigurator.ConfigApplier.install(ConfigApplier.Java:108)
at org.Eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.Java:129)
at org.Eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.Java:143)
at org.Eclipse.equinox.internal.simpleconfigurator.Activator.start(Activator.Java:48)
at org.Eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.Java:771)
at org.Eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.Java:1)
at Java.security.AccessController.doPrivileged(Native Method)
at org.Eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.Java:764)
at org.Eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.Java:721)
at org.Eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.Java:936)
at org.Eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.Java:319)
at org.Eclipse.osgi.container.Module.doStart(Module.Java:571)
at org.Eclipse.osgi.container.Module.start(Module.Java:439)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.Java:1582)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.Java:1562)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.Java:1533)
at org.Eclipse.osgi.container.SystemModule.startWorker(SystemModule.Java:242)
at org.Eclipse.osgi.container.Module.doStart(Module.Java:571)
at org.Eclipse.osgi.container.Module.start(Module.Java:439)
at org.Eclipse.osgi.container.SystemModule.start(SystemModule.Java:172)
at org.Eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.Java:393)
at org.Eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.Java:412)
at org.Eclipse.osgi.launch.Equinox.start(Equinox.Java:115)
at org.Eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.Java:320)
at org.Eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.Java:232)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:483)
at org.Eclipse.equinox.launcher.Main.invokeFramework(Main.Java:622)
at org.Eclipse.equinox.launcher.Main.basicRun(Main.Java:577)
at org.Eclipse.equinox.launcher.Main.run(Main.Java:1410)
at org.Eclipse.equinox.launcher.Main.main(Main.Java:1386)

Webには問題に関する情報はあまりありません。ほとんどの場合、ワークスペースを削除することをお勧めしますが、ほとんどの場合、最終的なアプリケーションではなく、Eclipseを起動したときにのみ発生します。それでも、ワークスペースとランタイムフォルダーを削除しました。何も役に立ちません。エクスポートされた製品にも「エラー」がスローされますが、私が知る限り、すべてが期待どおりに機能します。

それを修正する方法はありますか?そうでない場合は、その愚かな例外を非表示にする方法はありますか(一時的にログを無効にし、ログをクリアします。好き嫌いはありません)。

17
Steffi S.

これは、フレームワークの起動により、simpleconfiguratorが起動し、フレームワークの再起動を試みるように見えます。フレームワークはこの再帰を検出し、例外をスローしてエスケープします。問題は、それを起動しているフレームワークを起動しようとしているsimpleconfiguratorにあるようです。

8
BJ Hargrave

私はこれらの簡単な手順に従って問題を解決しました、

  1. Eclipseディレクトリーに移動し、構成ディレクトリーを開きます。
  2. org.Eclipse.osgiディレクトリを開きます。
  3. .managerフォルダーを開きます。
  4. .fileTableLockファイルを削除します。
  5. Eclipseを再起動します。
18

同じ問題に直面しました。指定された.logファイルを構成フォルダーから削除し、Eclipseを再起動すると問題が解決します。

8
user3534759

Red Hat Developer Studio 10.4(Eclipse 4.6)を使用していますが、Eclipse Checkstyleプラグインを使用してみました。

インストール後、IDE=を再起動し、クラッシュ通知を受け取りました。

私はすべての提案を試しましたが、framework.info.34というファイルを削除したときにのみ、問題は解決しました。

このファイルは%Eclipse_home%/configuration/org.Eclipse.osgiフォルダにあります。

4
ℛɑƒæĿ

いくつかの新しいプラグインのインストールと共にupdate-siteを介してEclipseネオンをアップグレードした後、ポップアップを発行します。

ステップ01:$ {Eclipse_home} /configuration/org.Eclipse.osgi/.managerディレクトリーから.fileTable。*ロックファイルを削除しました。

ステップ02:Eclipseクリーンモードで起動することにより、osgiキャッシュと他のプラグインキャッシュを削除しました

Eclipse -clean

1
Yehiya

同じ問題があります

私はそれぞれの場所からファイルを削除しました1) "Eclipse\configuration\org.Eclipse.osgi.manager" .fileTableLock .fileTable3 .fileTable4

2)Eclipse\configuration * .log

その後、Eclipseを開いたところ、PCを再起動することなく動作しました。

0

eclipseからランタイムでEclipseを実行するまでこの問題が発生する場合:クリーンフォルダー:[yourEclipseSourceWorkspace] /。metadata/.plugins/org.Eclipse.pde.core/[yourRunConfiguration] /org.Eclipse.osgi/.manager [yourEclipseSourceWorkspace] /.metadata/.plugins/org.Eclipse.pde.core/[yourRunConfiguration]/org.Eclipse.osgiは(フォルダーではなく)すべてのファイルを削除し、構成に追加します-プログラム引数としてクリーン