ナレッジベース KB0235

COMBASE.DLL STATUS_ACCESS_VIOLATION

問題

think-cellの内部データシートを使用した後、COMBASE.DLL STATUS_ACCESS_VIOLATIONエラー メッセージが表示されました。

think-cellのエラーメッセージ

再現手順

  1. PowerPointを開きます。

  2. think-cell積み上げグラフを挿入:
    [挿入][think-cell][要素][積み上げ] → スライド上をクリックしてチャートを挿入します
    → 内部データシートが開きます([タスク マネージャー] →([詳細情報])→ [詳細]

  3. 内部データシートを閉じます
    → Excelのプロセスが [タスク マネージャー] で終了するまで待ちます →([詳細情報])→ [詳細])(最高30秒かかる場合があります)
    CRITICALWITHMSG COMBASE.DLL 10.0.18362.1645+0x1BEBBE: STATUS_ACCESS_VIOLATION
    → エラー メッセージを閉じた後、Excelプロセスが終了します

分析

これは、think-cell と SentinelOne の SentinelAgent がいっしょに有効であるときにのみ発生します。当社の開発者が問題を詳細に分析しました。SentinelAgent が Windows の CoGetInterceptor 関数の使用を開始し、think-cell が COM ContextSwitcher を使用しているようです。2 つは一緒に動作しません。これは Windows のバグのようです。

CCtxChnl::OnCall 関数内の COMBASE.DLL でクラッシュが発生します。64 ビット COMBASE.DLL 10.0.19041.1202 で問題を調査しました。次のアドレス オフセットとシンボル名は、このバージョンのものです。CCtxChnl::OnCall のほとんどのコードは、null である this->_pIFaceEntry->_pID メンバーに対してロバストであるようです (たとえば、CStdWrapper::IsNAWrapperCCtxChnl::OnCall から呼び出され、これを処理するコートがあります)。ただし、CCtxChnl::OnCall での IsCallTracingEnabled の呼び出しが true を返す場合、コードは this->_pIFaceEntry->_pIDnull であることを確認せずに this->_pIFaceEntry->_pID->_oid.Data1 にアクセスしようとします。これにより、アクセス違反が発生します (COMBASE.DLL!Imagebase+0x00000000001A77B0)。これはバグのように見えます。

回避策

think-cellの顧客はSentinelOneから次の解決策を入手しました。

  1. マシン用のSentinelOne パスフレーズを入手してください。

  2. 管理者としてCMDを実行してください。
    cd "C:\Program Files\SentinelOne\Sentinel Agent <X.X.X.XXX\>"
    sentinelctl config agent.relinking.com false -k "PASS PHRASE FROM STEP ONE"
    sentinelctl config agent.relinking.com
    (戻り値は次の通り: false)

  3. 5分待機して、マシンを再起動してください。

この解決策について追加の情報を希望される場合は、SentinelOneサポートに連絡し、次のチケットを使用してください。#652625.

解決策

当社では、問題を Microsoft に報告し、次のステップを待っています。問い合わせることができる Microsoft Office サポートの担当者がいる場合や、この問題について Microsoft にさらに問い合わせを行う場合は、Premier ケース番号 120081824003059 を使用してください。また、SentinelOne サポートにこの問題と Microsoft ケース番号を通知してください。

シェア