Home > Archives > 2013年9月 Archive

2013年9月 Archive

Google Chromeを起動するとOSがフリーズする件について

先日からGoogle Chromeを起動するとOS(Windows 7 64bit)がフリーズするという現象に遭遇しました。
発生率は100%です。ブルースクリーン(BSoD)ではなく、キーボードもマウスも受け付けなくなり、画面の描画もとまり、そのままフリーズ状態になります。

もしかしてWindowsUpdateが原因なのかと思いましたが、WindowsUpdateをしていない他のPCでも発生したので関係ないようです。

どうもその頃ChromeのUpdateがあったようなので、それが引き金かなと思います。検索すると、同様の症状の人がそれなりにいるようです。
(追記:ChromeのUpdateは関係なく、下記のEvernote Web ClipperがUpdateされていたようで、それが原因だと思います。)

 

解決策として、拡張機能の「Evernote Web Clipper」を停止したら発生しなくなりました。これを有効にするとまた再現します。

他にFlashを無効にするとか、色々と試しましたが、このアドオンが原因のようです。

 

少なくとも私の環境ではこれで直りました。
他の人の環境でも直るかはわかりませんが、参考になれば。

追記 2013/10/04 20:00

Web Clipperのバージョンが6.0.2になっていました。
こちらのバージョンでは有効にしてもフリーズする事はなくなりました。

一度無効にしている人は、 Chrome -> 設定 -> 拡張機能 のページから、いきなり有効にするのでは無く「拡張機能を今すぐ更新」を押して6.0.2のバージョンにしてから有効にすると良いです。

 

親ディレクトリにinstall.shがあるとlibtoolize -cでltmain.shがコピーされない

libaacplusをビルドしていて気がつきました。

親ディレクトリか親の親ディレクトリにinstall.sh が存在すると、libtoolize -cltmain.sh がコピーされません。
以下確認した履歴です。

なお、環境はCentOS6.4でlibtoolizeのバージョンはlibtoolize (GNU libtool) 2.2.6bです。

libaacplusの場合、./autogen.shを実行するだけで良いのですが、今回はlibtoolizeに原因があることを確認するために手順を変更しています。

正常な場合

mkdir -p /a/b/c/d/e
cd /a/b/c/d/e
wget http://217.20.164.161/~tipok/aacplus/libaacplus-2.0.2.tar.gz
tar zxvf libaacplus-2.0.2.tar.gz
cd libaacplus-2.0.2

libtoolize -c
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'

駄目な場合(親にinstall.shがある場合)

mkdir -p /a/b/c/d
cd /a/b/c/d
touch /a/b/c/d/install.sh
wget http://217.20.164.161/~tipok/aacplus/libaacplus-2.0.2.tar.gz
tar zxvf libaacplus-2.0.2.tar.gz
cd libaacplus-2.0.2

libtoolize -c
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'

ltmain.shがコピーされませんでした。

親2階層分まで見るようなので、以下の構造の場合は c/install.sh, d/install.sh が存在すると駄目でした。

/a/b/c/d/libaacplus-2.0.2

こ、こんなん分かるわけないよ(;´Д`)
これにハマってかなり時間を取られたので忘れても大丈夫なようにメモメモ。

 

virshのsnapshotで木構造の根っこに作る方法がわからない

CentOSでは仮想環境としてKVM+qemuの環境が使えるのですが、スナップショットの使い方がいまいちわからない。

例えば、VMを普通に作り、Diskをqcow2で作ったとします。で、スナップショットの機能を使うわけですが、どうも思った通りの動作にならないのです。

スナップショットを作っていくと、以下のように木構造で作られていきます。以下はインストール直後の状態を installed という名前でスナップショットを取り、さらにその後 yum update した状態を yum-updated というスナップショット名で取りました。

んで、こういう感じでやっていくと木構造になっていくわけですが、木構造のrootとなるスナップショットの取り方がわかりません。以下を見ると、installed と test5 が根っこになっていますが、どうしてこうなったのか分からないのです・・・。なんか色々やっていたら作れたのですが、再現ができず(´・ω・`)

誰か知っていたら教えてください・・ orz
ホスト環境のOSはCentOS6.3でvirshは0.9.10です。

# virsh snapshot-list tamsvr43-video --tree
installed
 |
  +- yum-updated
      |
      +- test1
      +- test2
      +- test3
          |
          +- test4

test5
 |
  +- test6
      |
      +- test7
          |
          +- test8
              |
              +- test9
                  |
                  +- 1378473386
                  |   |
                  |   +- 1378473474
                  |
                  +- test12
                      |
                      +- test30

 

 

CentOS6.3にてffmpegをビルドした時の記録 その1

ffmpegをCentOS6.3でビルドした時のメモを残しておきます。

なお、指定したオプションは再配布可能な範囲での指定なので、自分でビルドする場合はもっとフルにオプション指定した方が良いと思います。例えば、--enable-nonfreeとか--enable-libfdk-aacとか。

※この記事は後のビルドのためのベースとなるもので、最終的にはsharedリンクを完全に無くし、指定できるオプションは可能な限り付けることを目標としています。

 

 

Continue reading

elasticsearch勉強会 の参加メモ #elasticsearchjp

先日行われた初心者詐欺が横行していたelasticsearch勉強会に参加したのでそのメモを残しておきます。

ESは内部的にはLuceneを使っており、競合するプロダクトはSolrです。良くAWSのサービスと勘違いするようですが、AWSは関係なくオープンソースの製品です。(私もそう思っていた時期がありました。)

そういえば、隣に座っていたのTwitter4Jの山本さんだったんですね。気がつかなかった(;´Д`)

スライドはこちらにまとまっています。

雑感

雑感としては、SolrとESの使い分けが何となく自分の中で明確になりました。
Solrはスキーマきっちり、設計きっちりやりたい場合に使って、ESはデータ量が破滅的に増加的で柔軟なスキーマが欲しくてスケールをポンッとできる場合に使おうかなと思います。話を聞いた限りでは、がちがちなPluginを書く場合はSolrのが書きやすいなと思いました。SolrのPluginはそこそこ書きましたが、それなりに分かりやすかったです。

検索エンジンの入門から始まり、プラグインの書き方、デバッグの仕方、実際に使ってみた報告と発表が続いて、ES初心者の自分にはとても分かりやすい構成と話でした。

ESのここが良いなと思った点

  • Solrよりもスケールさせる時が楽そうなイメージ(あくまでイメージです)
  • 帯域制限ができる(Solrはレプリケーション時の帯域とCPU/IOを全力で使おうとするので、大概の場合ここでハマる人多いと思う)
  • ペンギンマンのスライドで、インデキシングの性能が173K/sという驚異的な数字をたたき出していること
  • 起動時にマルチキャスト通信をして自動でクラスタに組み込んでくれる点

ESでここが嫌だなぁーと思った点

  • 値から型を推測してスキーマを決める点
    • それ自体は別に良いんだけど、strict-modeで動作するオプションが欲しい
  • Pluginのパッケージ名を勝手に変更される点
  • Pluginの更新は再起動が必要(Javaなら比較的簡単にクラスのReload処理が書けるので将来対応しないかなー・・)

その他

ES + Kibana のデモを見ると、「もっと早くこれがあれば、あのツールとか、このツールとか、もっと良くできたのに・・」とか浮かんできて楽しそう。

ffmpegで綺麗にエンコードできない(゜◇゜)

ffmpegで動画をエンコードしていたら、気になる事があったのでメモ。誰か解決策を知っていたら教えてください(TxT)

困っていること

frapsで撮影したとある動画をx264に変換すると酷いことになる。

before

after

beforeの動画はこちらです。1GB以上あるので注意。

変換コマンドは以下の通り

./ffmpeg -i test.avi -c:v libx264 -preset slow test.mp4

この動画は現バージョンのffmpegを通すと、以下のエラーが発生します。

Too long VLC (31) in init_vlc
Error building tree
Error decoding plane 2
Error while decoding stream #0:0: Operation not permitted9

このエラーはlibavcodec/huffman.hFF_HUFFMAN_BITSを増やす修正でFIXできます。なお、元々は9だったものが10に修正された経緯がありますが、この動画は12くらいにしないと駄目でした。なお、16にすると出力ファイルが異常に大きくなり、24にすると12と同じサイズになります。・・・なんで?(;´Д`)
というわけで、まずはこのエラーを回避するためにFF_HUFFMAN_BITS12に変更してビルドしました。

 

次に試したのは以下のコマンド。pix_fmtを指定しました。

./ffmpeg -i test.avi -c:v -pix_fmt rgb24 libx264 -preset slow test.mp4

多少マシになったものの、やっぱりおかしな感じになります。

ちなみに、エンコードする時にサイズを変更すると大丈夫なのです。

./ffmpeg -i test.avi -s 720x480 -c:v libx264 -preset slow test.mp4

ffmpegのバージョンはこんな感じ↓です。

# ./ffmpeg -version
ffmpeg version 2.0.1
built on Aug 30 2013 16:30:36 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
configuration: --enable-gpl --enable-version3 --enable-avisynth --enable-fontconfig --enable-libass --enable-libbluray --enable-libcaca --enable-libcdio --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxvid --disable-outdev=sdl --disable-ffprobe --disable-ffserver --optflags='-O2 -finline-functions'
libavutil      52. 38.100 / 52. 38.100
libavcodec     55. 18.102 / 55. 18.102
libavformat    55. 12.100 / 55. 12.100
libavdevice    55.  3.100 / 55.  3.100
libavfilter     3. 79.101 /  3. 79.101
libswscale      2.  3.100 /  2.  3.100
libswresample   0. 17.102 /  0. 17.102
libpostproc    52.  3.100 / 52.  3.100

ffmpegのビルドの記事は別途かきます。  → 書きました

うーん・・。わからん(´・ω・`)

ブログのデザイン修正

MTを5にバージョンアップしようと思ったのですが、その過程でPerl5.10だとMT4が一部動かなかったり、MT5にしたらしたで一部のPluginが動かなかったり、再構築できなかったりと散々で心が折れかけたので、今回は諦めて既存のCSSのをベースに全体的に弄る程度にした。

デザインテスト用の記事は↓

http://mt.orz.at/archives/2000/01/post-599.html

 

なんで今更変更しようとしたかというと、今ちょっと長い記事を書いていて、セクション事にまとめたいなーと思ったから。

正直、コードやコマンド履歴をいっぱい書くビルドの記事とかはMarkdownとかで記述したいぜ・・。むしろVIMで書いてgit pushってやればBlogになってほしい。。

 

 

Home > Archives > 2013年9月 Archive

Search
Feeds

Return to page top