none
Visual Studio 2010 でエディタをスクロールすると落ちる RRS feed

  • 質問

  • Visual Studio 2010 でエディタをスクロールすると落ちます。

    なぜでしょうか?

    OSはWindows8 64bitです。

    イベントビューアーを見ると以下のようになっていました。

    障害が発生しているアプリケーション名: devenv.exe、バージョン: 10.0.40219.1、タイム スタンプ: 0x4d5f2a73
    障害が発生しているモジュール名: cslangsvc.dll、バージョン: 10.0.40219.1、タイム スタンプ: 0x4d5f3b95
    例外コード: 0xc00000fd
    障害オフセット: 0x0004652a
    障害が発生しているプロセス ID: 0x11b0
    障害が発生しているアプリケーションの開始時刻: 0x01ce61abfdbb7951
    障害が発生しているアプリケーション パス: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
    障害が発生しているモジュール パス: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\VCSPackages\cslangsvc.dll
    レポート ID: 4790e9fd-cd9f-11e2-be6a-7427ea027ff0
    障害が発生しているパッケージの完全な名前:
    障害が発生しているパッケージに関連するアプリケーション ID:

    2013年6月5日 5:22

回答

  • 調査を進めると、以下のように定義している箇所があるんですが、

    public const int iテスト0 = 1;
    public const int iテスト1 = iテスト0 + 1;

    public const int iテスト1000 = iテスト999 + 1;

    このiテスト1000を使っているファイルを開いてエディタをスクロールすると落ちていました。

    試しにすべてのconstをstaticに変えると落ちなくなりました。

    結局 Win7 SP1 + VS2010 SP1、XP SP3 + VS2010 SP1、Win8 + VS2012 Update2 の三つの環境でクラッシュするのを確認できました。
    今回の場合 IDE の不具合が極めて濃厚なので、定数を static readonly なフィールドに変えて対処するしかないと思います。


    ひらぽん http://d.hatena.ne.jp/hilapon/


    2013年6月6日 3:44
    モデレータ

すべての返信

  • かなり固有の問題に見えるので、解決できるか判りませんが、
    以前グラフィックドライバーの不具合で VisualStudio が異常終了することがありました。
    グラフィックドライバーを更新して再度試してみてはいかがでしょうか?

    またビデオカードの種類(およびハード全般の情報)も教えて頂くと、なにか手がかりがつかめるかも知れません。

    あとConnectでもcslangsvc.dllでクラッシュするとの報告が上がってますね。ただし再現不可能で終了しちゃってますが。

    Vs2010 crashes on cslangsvc.dll


    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年6月5日 7:47
    モデレータ
  • VS2010にSP1は当たっていますでしょうか? また、以下もあります。

    Microsoft Visual Studio 2010 Service Pack 1 の更新プログラム (KB2736182)
    http://www.microsoft.com/ja-jp/download/details.aspx?id=34677

    ただ、もしその現象が多くのWindows 8で発生するのであればもっと大きな問題になっていると思いますので、SP1の問題では無さそうですね・・・。
    ひらぽんさんが書かれているように、グラフィックドライバー等の固有の問題である可能性が高いように思います。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    2013年6月5日 7:55
    モデレータ
  • VS2010にSP1は当たっていますでしょうか? 

    > devenv.exe、バージョン: 10.0.40219.1

    とあるので、どうやらSP1はインストールされてるようですね。(2010 RTM だと10.0.30319.1 のようです)
    ただしKB2736182は見落としてました。情報ありがとうございます。


    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年6月5日 8:07
    モデレータ
  • ひらぽんさん、trapemiyaさん回答ありがとうございます。

    調査を進めると、以下のように定義している箇所があるんですが、

    public const int iテスト0 = 1;
    public const int iテスト1 = iテスト0 + 1;

    public const int iテスト1000 = iテスト999 + 1;

    このiテスト1000を使っているファイルを開いてエディタをスクロールすると落ちていました。

    試しにすべてのconstをstaticに変えると落ちなくなりました。

    2013年6月6日 1:09
  • 調査を進めると、以下のように定義している箇所があるんですが、

    public const int iテスト0 = 1;
    public const int iテスト1 = iテスト0 + 1;

    public const int iテスト1000 = iテスト999 + 1;

    このiテスト1000を使っているファイルを開いてエディタをスクロールすると落ちていました。

    試しにすべてのconstをstaticに変えると落ちなくなりました。

    なんとも理解し難い現象ですね。再現性を調べるため、static に変更したファイル、再度 const に置換してまた問題発生するか確認できますでしょうか?また他の環境でも発生するようなら Connect に報告すべき VisualStudio の不具合だと思われます。

    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年6月6日 1:39
    モデレータ
  • public const int iテスト0 = 1;
    public const int iテスト1 = iテスト0 + 1;

    public const int iテスト1000 = iテスト999 + 1;

    このiテスト1000を使っているファイルを開いてエディタをスクロールすると落ちていました。

    試しにすべてのconstをstaticに変えると落ちなくなりました。

    試してみました。私の環境は Windows7 x64 + VisualStudio 2010 SP1 ですが、スクロールは問題ありません。ただし最後の

    public const int iテスト1000 = iテスト999 + 1;

    をコピーして貼り付け、編集しようとしたら VisualStudio がクラッシュしました(^^;
    この現象、同じ手順で確実に発生してます。

    障害が発生しているアプリケーション名: devenv.exe、バージョン: 10.0.40219.1、タイム スタンプ: 0x4d5f2a73
    障害が発生しているモジュール名: ntdll.dll、バージョン: 6.1.7601.17725、タイム スタンプ: 0x4ec49b8f
    例外コード: 0xc00000fd
    障害オフセット: 0x0002dede
    障害が発生しているプロセス ID: 0x130c
    障害が発生しているアプリケーションの開始時刻: 0x01ce62588bc6246a
    障害が発生しているアプリケーション パス: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
    障害が発生しているモジュール パス: C:\Windows\SysWOW64\ntdll.dll
    レポート ID: d44390fd-ce4b-11e2-a4f9-005056c00008

    試しに、すべてのconstをstaticに変えると落ちなくなりました(汗

    この現象、こちらでももう少し調べてみます。


    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年6月6日 2:07
    モデレータ
  • XP SP3 + VisualStudio 2010 SP1 でも試してみました。Win7 同様、最後の定数宣言をコピーして貼り付け、編集しようとカーソルをエディタに当てたら見事クラッシュしました。

    const を static に変更すると、IDE はクラッシュせず変更できます。これは Connect 行きですね(^^;


    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年6月6日 2:32
    モデレータ
  • XP SP3 + VisualStudio 2010 SP1 でも試してみました。Win7 同様、最後の定数宣言をコピーして貼り付け、編集しようとカーソルをエディタに当てたら見事クラッシュしました。

    const を static に変更すると、IDE はクラッシュせず変更できます。これは Connect 行きですね(^^;

    Connect に報告しときました。VS2010の報告は受け付けてくれないかも知れませんが、まぁダメ元で(汗

    https://connect.microsoft.com/VisualStudio/feedback/details/789600/vs2010-c-ide


    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年6月6日 3:12
    モデレータ
  • 追記です。Windows8(x64) + VisualStudio 2012 Update2  でも問題の再現を確認できました。こちらもconstのままだとクラッシュ、staticに変更するとクラッシュせず変更できます。

    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年6月6日 3:31
    モデレータ
  • 調査を進めると、以下のように定義している箇所があるんですが、

    public const int iテスト0 = 1;
    public const int iテスト1 = iテスト0 + 1;

    public const int iテスト1000 = iテスト999 + 1;

    このiテスト1000を使っているファイルを開いてエディタをスクロールすると落ちていました。

    試しにすべてのconstをstaticに変えると落ちなくなりました。

    結局 Win7 SP1 + VS2010 SP1、XP SP3 + VS2010 SP1、Win8 + VS2012 Update2 の三つの環境でクラッシュするのを確認できました。
    今回の場合 IDE の不具合が極めて濃厚なので、定数を static readonly なフィールドに変えて対処するしかないと思います。


    ひらぽん http://d.hatena.ne.jp/hilapon/


    2013年6月6日 3:44
    モデレータ
  • ひらぽんさん

    調査ありがとうございます。

    今回の問題はconstの値を直前の変数を使って定義することで発生してますね。

    public const int iテスト0 = 0;
    public const int iテスト1 = 1;

    public const int iテスト1000 = 1000;

    では発生しませんでした。

    2013年6月7日 0:07
  • 今回の問題はconstの値を直前の変数を使って定義することで発生してますね。

    public const int iテスト0 = 0;
    public const int iテスト1 = 1;

    public const int iテスト1000 = 1000;

    では発生しませんでした。

    そのようですね。ちなみに VB でも試したところ、定数を10000個に増やしても問題ありませんでした。ただしVB固有の自動インデントが効かなくなりますが(汗

    Public Const iテスト0 As Int32 = 1
    Public Const iテスト1 As Int32 = iテスト0 + 1
     ・・・ 中略 ・・・
    Public Const iテスト9999 As Int32 = iテスト9998 + 1
    Public Const iテスト10000 As Int32 = iテスト9999 + 1

    いずれにせよ、Connect での進展を期待したいと思います。

    ひらぽん http://d.hatena.ne.jp/hilapon/


    2013年6月7日 1:10
    モデレータ
  • Connect に報告しときました。VS2010の報告は受け付けてくれないかも知れませんが、まぁダメ元で(汗

    https://connect.microsoft.com/VisualStudio/feedback/details/789600/vs2010-c-ide

    Windows 8.1 Preview & VisualStudio 2013 Preview でも再現したので、新たに Connect に報告しておきました。

    https://connect.microsoft.com/VisualStudio/feedback/details/793308/


    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年7月10日 2:43
    モデレータ