Confluence returns system error due to 'Invocation of method 'isShowSignUp' in class com.atlassian.confluence.user.actions.LoginAction threw exception java.lang.NullPointerException at /login.vm'

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server と Data Center のみ - この記事は、サーバーおよびデータセンター プラットフォームのアトラシアン製品にのみ適用されます。


問題

ログインしようとすると、Confluence が次のようなシステム エラーを返す。

atlassian-confluence.log に次のメッセージが表示される。

2014-12-24 21:26:20,866 ERROR [http-bio-10565-exec-9] [opensymphony.webwork.dispatcher.VelocityResult] doExecute Unable to render Velocity Template, '/login.vm'
 -- url: /confluence/login.action | userName: anonymous | action: login
org.apache.velocity.exception.MethodInvocationException: Invocation of method 'isShowSignUp' in  class com.atlassian.confluence.user.actions.LoginAction threw exception java.lang.NullPointerException at /login.vm[line 6, column 28]
    at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337)
    at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284)
    at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262)
    at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:507)
    at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
    at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
    at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
    at org.apache.velocity.Template.merge(Template.java:328)
    at org.apache.velocity.Template.merge(Template.java:235)
    at com.opensymphony.webwork.dispatcher.VelocityResult.doExecute(VelocityResult.java:91)
    at com.atlassian.xwork.results.ProfiledVelocityResult.doExecute(ProfiledVelocityResult.java:21)
    at com.atlassian.confluence.setup.webwork.EncodingVelocityResult.doExecute(EncodingVelocityResult.java:48)
    at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116)
    at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
    at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:65)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
    at com.atlassian.xwork.interceptors.XsrfTokenInterceptor.intercept(XsrfTokenInterceptor.java:100)
    at com.atlassian.confluence.xwork.ConfluenceXsrfTokenInterceptor.intercept(ConfluenceXsrfTokenInterceptor.java:26)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
    at com.atlassian.confluence.security.interceptors.CaptchaInterceptor.intercept(CaptchaInterceptor.java:50)
    ...
Caused by: java.lang.NullPointerException
    at com.atlassian.confluence.user.crowd.DefaultApplicationCache.toCacheValue(DefaultApplicationCache.java:69)
    at com.atlassian.confluence.user.crowd.DefaultApplicationCache.putApplication(DefaultApplicationCache.java:54)
    at com.atlassian.confluence.user.crowd.CachedCrowdApplicationDao.findByName(CachedCrowdApplicationDao.java:50)
    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:606)
    ... 295 more

診断

次の SQL クエリを使い、Confluence データベースで各ディレクトリの list_index を確認します。

SELECT * FROM cwd_app_dir_mapping ORDER BY 5;

(info) このエラーは、XML インポートに失敗したあとに cwd_application または cwd_app_dir_mapping テーブル、あるいはその両方が空である場合にも発生する可能性があります。これに該当する場合は「Confluence にログインできない」に従ってください。 

原因

この問題は、ディレクトリの list_index が再帰的 (0、1、2..) ではない場合や、cwd_app_dir_mapping テーブルに list-index が 0 であるディレクトリが含まれない場合に発生します。

ソリューション

  1. Confluence をシャットダウンします。
  2. cwd_app_dir_mapping テーブルを更新し、ディレクトリの list_index が適切な順序 (0、1、2、...) になるようにします。次の SQL クエリを使用できます。

    UPDATE cwd_app_dir_mapping
    SET LIST_INDEX=0
    WHERE ID=<first_id>;
    
    UPDATE cwd_app_dir_mapping
    SET LIST_INDEX=1
    WHERE ID=<second_id>;
    
    UPDATE cwd_app_dir_mapping
    SET LIST_INDEX=2
    WHERE ID=<third_id>;
  3. Confluence を再起動します。

    データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。

説明ログインしようとすると、Confluence が次のようなシステム エラーを返す。
製品Confluence
プラットフォームサーバー
最終更新日 2020 年 4 月 2 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.