尝试使用双因素身份验证在Linux上“登录Google”时,Eclipse崩溃

时间:2012-06-18 08:35:38

标签: linux eclipse google-app-engine google-eclipse-plugin

首先,如果StackOverflow是这个问题的错误Q& A站点,请向我道歉,如果需要,我很乐意将其移至另一个......

每当我尝试在插件中登录我的Google帐户时,Eclipse都会崩溃(eclipse左下角的链接)。我可以输入我的电子邮件和密码,然后加载我的验证码页面(因为我使用Google's two-factor authentication)。在我提交验证码后,eclipse完全崩溃并从我的桌面上消失。

有什么想法吗?

环境:全新安装以下内容:

  1. Mint Linux 13
  2. 我的Google(应用)帐户启用了双因素身份验证。
  3. Eclipse Indigo
  4. eclipse的谷歌插件
  5. 更新 - 2012/06/27 这是控制台中的输出:

    $ eclipse
    12:26:50.336 [org.eclipse.jdt.internal.ui.text.JavaReconciler] INFO  org.mortbay.log - Logging to Logger[org.mortbay.log] via org.mortbay.log.Slf4jLog
    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  SIGILL (0x4) at pc=0x00b16e62, pid=3853, tid=3077970176
    #
    # JRE version: 6.0_24-b24
    # Java VM: OpenJDK Client VM (20.0-b12 mixed mode, sharing linux-x86 )
    # Derivative: IcedTea6 1.11.1
    # Distribution: Ubuntu 12.04 LTS, package 6b24-1.11.1-4ubuntu3
    # Problematic frame:
    # C  0x00b16e62
    #
    # An error report file with more information is saved as:
    # /home/matt/gitrepos/OddPrints/hs_err_pid3853.log
    #
    # If you would like to submit a bug report, please include
    # instructions how to reproduce the bug and visit:
    #   https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    #
    Aborted (core dumped)
    

    ,如果你真的非常敏锐 full log is here

    更新 - 2012/06/28

    正如@jpe所建议的,我尝试将eclipse配置中的默认浏览器更新为“mozilla”。这只是一个错误,它说它无法启动浏览器,因此我将在外部启动一个登录。我还给了我一个输入验证码的方框。我做了这个,但是在输入验证码之后它被炸出了错误400.这是日食日志的尾部:

    !ENTRY com.google.gdt.eclipse.login 4 0 2012-06-28 14:53:36.043
    !MESSAGE Could not sign in. Make sure that you entered the correct verification code.
    !STACK 0
    com.google.api.client.http.HttpResponseException: 400 Bad Request
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:380)
        at com.google.api.client.auth.oauth2.draft10.AccessTokenRequest.executeUnparsed(AccessTokenRequest.java:457)
        at com.google.api.client.auth.oauth2.draft10.AccessTokenRequest.execute(AccessTokenRequest.java:473)
        at com.google.gdt.eclipse.login.GoogleLogin.logIn(GoogleLogin.java:376)
        at com.google.gdt.eclipse.login.GoogleLogin.logIn(GoogleLogin.java:312)
        at com.google.gdt.eclipse.login.ui.LoginTrimContribution$1.mouseUp(LoginTrimContribution.java:102)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:219)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
        at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        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)
    

2 个答案:

答案 0 :(得分:1)

在我看来,你偶然发现了Incompatibility between WebKit and XULRunner's sqlite Eclipse bug。来自错误报告的引用:“确保不会发生此错误的唯一方法是set the org.eclipse.swt.browser.DefaultType property。”

所以上面修复了Eclipse崩溃问题,正如问题编辑所暗示的那样。现在你似乎偶然发现了Google App Engine问题,也许是one。人们说如果您的计算机上的时间非常不准确,那么appengine将拒绝登录。

如果您可以使用计算机中的其他方法测试从Eclipse尝试的登录,将会有所帮助。

答案 1 :(得分:0)

我找到了解决方案,至少是一种解决方法。 我有同样的问题,Ubuntu 10.04 x64,虚拟机上的eclipse Juno .. 因此,不要使用Eclipse窗口下端的登录Google帐户按钮,只需使用顶部工具栏上的G图标选项,您可以在其中创建新项目,使用GWT更新等。所以:在执行任何操作之前按Deploy to App Engine并登录。然后,您将登录。然后,Eclipse将崩溃,但至少登录将保留,因此在重新启动Eclipse之后,您应该让您的帐户与IDE同步。希望它有所帮助,它对我有用。