2011-09-07

9月月例ゼミ&飲み会



9月にもなったので夏休みモードから脱却してもらおうと2日ほど前に月例ゼミをやるぞ~とメールをし、急遽開催することになったゼミだが、皆、何かプレゼン資料を用意してきた。内容的には、文献サーべ、プログラムの開発状況、私生活の話、、、etc。ただ、話の流れで、研究室でMA7にエントリーすることを急遽決定した。

MA7とは?
MA7とは、Mashup Award 7のことで、ウェブアプリ開発のコンテストだ(http://ma7.mashupaward.jp/)。去年、個人的にイベントに参加してみて面白いとおもっていたのだが、今年も開催されるということで、研究室でこれにエントリーしようという話に。今やっている卒研に技術的ならびに内容的に関連するネタがいろいろ思い浮かんできた。で、とりあえず、研究室で3件ぐらいは出せそうな気配(ネタ的に)。まあ、実際何件エントリーできるかはわからないけど、何か目標に向かってシステム開発をするというのは悪い話じゃない。最低でも1件はおちラボの研究室ブランドでエントリーしたいものである。

飲み会
夜は、どういう趣旨かわからないが飲み会が開催。まあ飲み会をすること自体は悪いことではない。いろんな意味でいいことだと思う。今夜はけっこうコストパフォーマンスのよい店だった。これで英気を養い、研究活動に勤しんでもらえれば幸いである。


2011-09-01

[C#]ContextSwitchDeadlockのエラーがでる

C#でいわゆる外部のCOMを参照したプログラムをVisual Studioでコンパイル、デバッグ実行させたときに、
ContextSwitchDeadlockが発生しました
みたいなエラーが出て、動作が一時中断するケースが発生。なにやら 意味不明なメッセージも書かれているわけだが「続行」ボタンを押すと、動作は通常継続される。これは一体なんなのかというと、何かCOMを参照するようなプログラムにおいて、
  • COMに対する操作がしばらく(1分くらい?)ない場合にデッドロックの可能性をデバッガが指摘してくれている
らしい(MSDN参照)。というわけで、必ずしもプログラムに問題があるわけではないので気にしなくてもいと思われる(ここは要注意)。試してはいないが、DebugではなくてReleaseモードで実行すれば問題ないであろう。

もし、Debugモードでこのエラーをとりあえず回避したいという場合は、
  • [デバッグ] → [例外]→[Managed Debuggin Assistants] → [ContextSwitchDeadlock]のチェックを外す
ことで検知しなくなる。ただ、本当にデッドロックが発生していないのかは注意が必要。