2013年8月24日土曜日

WHS2011 スタートパッドが立ち上がらない時に

Tech Forum で気になる事象がご質問に挙がりましたので、書き留めて置きます。
スタートパッド ( Launchpad.exe ) が起動できないが、その他の WHS2011 の機能は正常な場合です。
面白い事に、ダッシュボード ( Dashboard.exe ) の機能もバックアップの機能も正常の様です。
対応策は 指定ファイルの削除 です。
                           詳細は未確認未検証です、あしからず。


先ず、Forum のスレッドを参照しておきましょう。

  スタートパッドが起動できなくなった  TechNet Forum

私が投稿した 対応策を含む 参考スレッド はこちら です。

  WHS 2011 Launchpad Fails at startup  TechNet Forum ( Brasil )


共に、 ClientPC 上で、スタートパッド ( Launchpad.exe ) が起動できない状況です。
吐いている Log はほぼ同一。
但し、ClientPC の OS は、上が Windows 7、下が Windows 8 ( Windows 7 には障害が無いとの記載あり )。
つまり、ClientPC の OS には関係なさそうです。


対応策を書いてしまいましょう。  Forum ( Brasil ) のスレッドから 回答を原文のまま 転記しています。

In your client machine:
Go to CUsers¥[user nameAppData¥Local¥Microsoft_Corporation
Make backup copies of DashboradClient.exe_StrongName_.... and Lauchpad.exe_StrongName_...
Delete the originals.
Reboot and try the Launchpad (you will need to reset password options)
つまり、障害 ClientPC で上記のふたつのファイルを削除の上 再起動させ アプリに新しくファイルを作らせる と言う対応策です。
各種のオプションは再設定が必要です。
障害発生時が明確であれば、それ以前の Client BackUp からファイルを書き戻す手も有効かも知れません。 (未検証



Forum のスレッドからイベントログと WHS2011 のログ* を転記しておきます。
注: ログ* C:¥ProgramData¥Microsoft¥Windows Server¥Logs¥Launchpad.log or Launchpad.2.log

障害が発生しているアプリケーション名: Launchpad.exe、バージョン: 6.1.8800.16402、タイム スタンプ: 0x5115acdb
障害が発生しているモジュール名:
KERNELBASE.dll、バージョン: 6.1.7601.18015、タイム スタンプ: 0x50b8479b
例外コード:
0xe0434352
障害オフセット:
0x0000000000009e5d
障害が発生しているプロセス
ID: 0x1f44
障害が発生しているアプリケーションの開始時刻:
0x01ce9baa8572ef82
障害が発生しているアプリケーション
パス: CProgram Files¥Windows Server¥Bin¥Launchpad.exe
障害が発生しているモジュール
パス: CWindows¥system32¥KERNELBASE.dll
レポート
ID:
* 前略 *
[4300] 130818.132427.4097: General: Initializing...C:¥Program Files¥Windows Server¥Bin¥Launchpad.exe
* 中略 *
</DashboardTheme >
[4772] 130818.132427.7129: PfBinding: Information: [0] : Adding service dns identity [EDDY] in proxy endpoint.
[4300] 130818.132427.7329: LaunchPad: !!!!FATAL: Launchpad shutting down due to unhandled exception: 'System.Windows.Markup.StaticExtension' の値の指定時に例外がスローされました。
[4300] 130818.132427.7429: Exception:
---------------------------------------
An exception of type 'Type: System.Windows.Markup.XamlParseException, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' has occurred.
Timestamp: 08/18/2013 13:24:27
Message: 'System.Windows.Markup.StaticExtension' の値の指定時に例外がスローされました。
Stack:    場所 System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
    場所 System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties
* 中略 *
---------------------------------------
An exception of type 'Type: System.Reflection.TargetInvocationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has occurred.
Timestamp: 08/18/2013 13:24:27
Message: 呼び出しのターゲットが例外をスローしました。
Stack:    場所 System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
    場所 System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments
* 中略 *
---------------------------------------
An exception of type 'Type: System.TypeInitializationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has occurred.
Timestamp: 08/18/2013 13:24:27
Message: 'Microsoft.WindowsServerSolutions.Common.SkuBrandingColors' のタイプ初期化子が例外をスローしました。
Stack:    場所 Microsoft.WindowsServerSolutions.Common.SkuBrandingColors.get_ClientGlyphColor()
    場所 Microsoft.WindowsServerSolutions.AdminClientCommon.Helpers.BrandingColorsProxy.get_ClientGlyphColor()
---------------------------------------
An exception of type 'Type: System.Configuration.ConfigurationErrorsException, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' has occurred.
Timestamp: 08/18/2013 13:24:27
Message: 構成システムを初期化できませんでした。
Stack:    場所 System.Configuration.ConfigurationManager.GetSection(String sectionName)
    場所 System.ServiceModel.Activation.AspNetEnvironment.UnsafeGetSectionFromConfigurationManager(String sectionPath)
    場所 System.ServiceModel.Configuration.ConfigurationHelpers.UnsafeGetSectionNoTrace(String sectionPath)
* 中略 *
---------------------------------------
An exception of type 'Type: System.Configuration.ConfigurationErrorsException, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' has occurred.
Timestamp: 08/18/2013 13:24:27
Message: ルート要素が見つかりません。 (C:¥Users¥UserName¥AppData¥Local¥Microsoft_Corporation¥Launchpad.exe_StrongName_lmbeqwgecmqnjdyimezdoj3ekqnortk2¥6.1.0.0¥user.config)
Stack:    場所 System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
    場所 System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
    場所 System.Configuration.ClientConfigurationSystem.OnConfigRemoved(Object sender, InternalConfigEventArgs e)
---------------------------------------
An exception of type 'Type: System.Xml.XmlException, System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has occurred.
Timestamp: 08/18/2013 13:24:27
Message: ルート要素が見つかりません。
Stack:    場所 System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
    場所 System.Xml.XmlTextReaderImpl.ParseDocumentContent()
    場所 System.Configuration.XmlUtil..ctor(Stream stream, String name, Boolean readToFirstElement, ConfigurationSchemaErrors schemaErrors)
    場所 System.Configuration.BaseConfigurationRecord.InitConfigFromFile()

状況は、先に述べた様に、WHS2011 専用のアプリ・ソフトである スタートパッド ( Launchpad.exe ) の起動に失敗するだけです。
他の WHS2011 の機能には影響はありません。


WHS2011 のログを見てみましょう。
エラー部分は、呼び出し元から呼び出し先の順に記録されている様です。
ですから、一番最後が直接的な原因です。

Visual Basic や C# そして C++ 等を弄っておられる方はご存知かと思いますが、
アプリ 起動時に構成ファイルから変数値を読み込む方法があります。
今回の障害は、このファイルが、何がしかの影響を受けて、破損したのが原因と思われます。

アプリの設計上、想定し得なかった例外なのでしょう。
例外処理が出来ないまま、アプリの起動を中断していますね。

WHS2011 の Log の最後に XML で記述された config ファイルを読む上でルート要素が無い って言われてます。

ファイルが破損している証拠だと思います。
変数値として格納しているものが取り出せませんので、芋蔓式にエラーが続きます。
これに拠って、構成システムの初期化に失敗しますので、幾つかの呼び出しを経由して、
冒頭の XAML での MarkUp 失敗に繋がります。
XAML は WPF ( Windows Presenrtation Foundation ) の記述言語です。
ここでは スタートパッド ( Launchpad.exe ) の画面構成をしている筈です。  画面を作れないよって。 
この中にユーザー情報もあるからなのでしょう、不本意ながら、落とされている って感じです。

イベントログの障害が発生しているモジュール KERNELBASE.dll については、障害がある訳ではありません。
例外をスローする事になったモジュールを示します。
ですから、イベントログだけで判断すると、とんでもない方向に解決の糸口を探す事になるので、要注意です。

Forum でも書き込んだのですが、ファイル破損の原因がはっきりしない点が不安要素です。
config ファイルの上書き処理に何か潜在的な問題があるのかも知れません。 推測ですが。
あるいは、開発当初とは異なる OS の構成が引き金かもしれません。 ライブラリが入れ替わっていますので。
      因みに、私は、今回と同様もしくは類似の状況には遭遇していません。 幸いにも。


Microsoft さま、ご覧になられたら、是非、検証の上、修正をお願いします。
Try...Catch 構文を導入し、構成ファイルが読み出せない例外捕捉で、Msgbox を表示の上、新規ファイルに切り替える処理を加えた方が宜しいのでは?



[2013/08/25] WHS2011 のログのエラー順序 と イベントログだけの判断 について加筆

0 件のコメント:

コメントを投稿