酒飲んで、車いじって、トロンボーン吹いて、寝る。そんな生活に憬れる今日この頃。
日記の更新は気の向くまま、つれづれなるままに・・・

owncloudを導入してみた

自宅のサーバをDropboxみたいに使えればいいかな、と思ってowncloudをインストールしてみた。
そのときのトラブルと解決の経緯を。


owncloudのサイトからtar.gzファイルを落として解凍。
でもってapacheのドキュメントディレクトリにコピーしてapacheの設定を修正して見れるように。
さらに、mysqlのデータベースを作成。

$ mysql -u root -p
> create database owncloud;
> grant all privileges on owncloud.* to 'owncloud'@'localhost' identified by 'password';

ここまでは普通のインストールの方法。詳細は別のサイトに委ねます。


で、Chromeからサイトへ移動。ログイン名やデータベース情報を入れてGO!とおもったら、暫くして

データを受信していません
サーバーからデータが送信されていないためウェブページを読み込むことができません
ヒント:
このウェブページを跡で読み込んでください
エラー 324 (net::ERR_EMPTY_REPSPONSE): サーバーはデータを送信せずに接続を切断しました。

という表示が。その後何度再読み込みさせても同じ表示のまま。
apacheerror.logを見ると

[notice] child pid 15785 exit signal Segmentation fault (11)

とでている。なんじゃそりゃ?
行き詰まってgoogleで検索すると、海外のフォーラムサイトで同じエラーのスレッドが見つかるが「bug fixで直ったよ」みたいな記事ばかりで決定的な解決策は無い様子。


はて困った。


そもそもSegmentation faultってなんじゃい?と思って調べてみたら
メモリデータへの不正アクセスによるエラーとのこと。
http://sarface2012.hatenablog.com/entry/20101027
メモリが少ない(1G)わけでもない(かといって多いわけでもないけど)
とにかく上記のサイトのように、なにが悪さをしているのかを調べてみることに。


まず、apacheにcoreを吐かせるためにapache2.confに一行追加

CoreDumpDirectory /tmp

coreのファイルサイズ制限を解除(無限)にするために

$ ulimit -c unlimited

とする。
念の為にulimit -aで確認

$ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
・・・・・

この状態でapacheを再起動させて、ブラウザで再読込させてみる。
表示はやっぱり「エラー324 (net::ERR_EMPTY_REPSPONSE)」
/tmpにcoreが出来ていることを確認してgdbでcoreを解析

# gdb /usr/sbin/apache2 -c /tmp/core

GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/sbin/apache2...(no debugging symbols found)...done.
[New LWP 16421]

warning: Can't read pathname for load map: 入力/出力エラーです.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
Failed to read a valid object file image from memory.
Core was generated by `/usr/sbin/apache2 -k start'.
Program terminated with signal 11, Segmentation fault.
#0 0xb6e2fede in ?? () from /usr/lib/apache2/modules/libphp5.so
(gdb)

なんかlibphp5.soがおかしいらしい
もうすこし詳しく調べるために「where」と入力

(gdb) where
#0 0xb6e2fede in ?? () from /usr/lib/apache2/modules/libphp5.so
#1 0xb6e31229 in zend_parse_parameters () from /usr/lib/apache2/modules/libphp5.so
#2 0xb6d37246 in ?? () from /usr/lib/apache2/modules/libphp5.so
#3 0xb6ed6805 in ?? () from /usr/lib/apache2/modules/libphp5.so
#4 0xb6e91b65 in execute () from /usr/lib/apache2/modules/libphp5.so
#5 0xb6e282d9 in zend_execute_scripts () from /usr/lib/apache2/modules/libphp5.so
#6 0xb6dc211e in php_execute_script () from /usr/lib/apache2/modules/libphp5.so
#7 0xb6ed8fb8 in ?? () from /usr/lib/apache2/modules/libphp5.so
#8 0xb7746656 in ap_run_handler ()
#9 0xb7746aa9 in ap_invoke_handler ()
#10 0xb7758d50 in ap_process_request ()
#11 0xb7755908 in ?? ()
#12 0xb774db26 in ap_run_process_connection ()
#13 0xb775e3c0 in ?? ()
#14 0xb775ed13 in ?? ()
#15 0xb775eded in ?? ()
#16 0xb775f9f5 in ap_mpm_run ()
#17 0xb772f6a4 in main ()

なんかzendがアレコレするときにおかしくなるらしい。


といってもやることといえば・・・libphp5を更新する位しか思いつかない。
一旦quitで抜けて、libphp5.soが含まれているパッケージをapt-fileで検索してみた

# apt-file find libphp5.so
libapache2-mod-php5: /usr/lib/apache2/modules/libphp5.so
libphp5-embed: /usr/lib/php5/libphp5.so
php5-dbg: /usr/lib/debug/usr/lib/apache2/modules/libphp5.so

ウチのサーバはLAMP環境が整っているので、libapache2-mod-php5は当然の如くインストール済み。
ここはとりあえず、他の2つをインストールしてみる(ぉぃ

# aptitude install libapache2-mod-php5 libphp5-embed php5-dbg

この状態でapacheを再起動して、もう一度ブラウザで再読込させてみるも、
表示は当然の如く「エラー324 (net::ERR_EMPTY_REPSPONSE)」
apacheerror.logには
[notice] child pid 15785 exit signal Segmentation fault (11)
が一行追加されている。
一応/tmpに吐き出されたcoreをもう一度解析してみる

# gdb /usr/sbin/apache2 -c /tmp/core

GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/sbin/apache2...(no debugging symbols found)...done.
[New LWP 16421]

warning: Can't read pathname for load map: 入力/出力エラーです.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20100525+lfs/mysql.so" does not match "/usr/lib/php5/20100525+lfs/mysql.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20100525+lfs/mysql.so" does not match "/usr/lib/php5/20100525+lfs/mysql.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20100525+lfs/mysqli.so" does not match "/usr/lib/php5/20100525+lfs/mysqli.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20100525+lfs/mysqli.so" does not match "/usr/lib/php5/20100525+lfs/mysqli.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20100525+lfs/pdo_mysql.so" does not match "/usr/lib/php5/20100525+lfs/pdo_mysql.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20100525+lfs/pdo_mysql.so" does not match "/usr/lib/php5/20100525+lfs/pdo_mysql.so" (CRC mismatch).

Failed to read a valid object file image from memory.
Core was generated by `/usr/sbin/apache2 -k start'.
Program terminated with signal 11, Segmentation fault.
#0 0xb6e2fede in zend_parse_va_args (num_args=0, type_spec=0xb5c155cc "\016",
va=,
flags=)
at /build/buildd-php5_5.4.4-14-i386-gpFYGr/php5-5.4.4/Zend/zend_API.c:506

前半のwarningはphp5-dbgをインストールした影響だと思うんですが、
その下に具体的なエラー内容が表示されている。(php5-dbgのおかげ?)
ここでもzendがなにやらおかしい様子。


ということで、PHPの問題であることがなんとなくわかってきた


zendについてはよく知らないのだが、いずれも「Failed to read a valid object file image from memory.」とあるので、なんとなくPHPのメモリ設定がおかしいのかもしれない。
ウチのサーバでphpのメモリに関する設定といえば・・・・そういえば高速化ってことでapcとeaccerelatorが両方設定している。それ以外は教科書通りの設定なので、怪しいのはこの2つくらいしかない。


ここは物は試しでeacceleratorの設定を削除してみてapacheを再起動。
再読み込みさせたら・・・owncloudのログイン画面が!
ログインしてみたところ、正常に動きました。


最後は意外にあっけなく解決しちゃいましたが、私のサーバ環境においてapcとeacceleratorが共存していたことが問題だったようです。
もともとapcとeacceleratorは共存できる/できないの議論があったようなので、これを機会にapc一本にします。

カメラを売った

オリンパスのフィルム一眼レフカメラを売りに行った。
10年ほど前に、ちょっとだけ小金持ちになったので、無意味にヤフオクで買い漁ったものだ。
夢だったからねぇ〜、OM-4Tiを所有するのが。あとOM-2Nとか。
あと90mmF2とかにも手を出したりして。
でも、買ってみたはいいけど、結局ほとんど使わなかった。
OM-4Tiもフィルムを入れたのは2回程度。90mmF2も1回しか使っていない。


今思えば、そもそも写真にそれほどまでの興味&情熱があるわけでもなし、でもって当時結構な仕事のストレスを抱えていたので、そこそこの値段で「所有欲」を満たしてストレス解消、という衝動買いをしただけでした。
勿体なーい。


で、名古屋のアサヒドーカメラに売りに行ったのですが、購入総額の1/3程度かな〜な値段で売却。
予想よりは良い値段で売れたのでヨシとします。
店員曰く、本体はメカニカルシャッターじゃなければ値段はつかないらしい。
理由は、電子制御シャッターは部品が無いから修理が困難or出来ないため。よほど状態がよくない限り部品取り扱いの値段になるそうな。
レンズは利用価値が有る(アダプター付けて今のデジタル一眼に取り付けれる)ため、そこそこ値段が付くとのこと。標準レンズ以外であれば尚更で、私の場合は90mmF2の存在が大きかった。
で、フラッシュのF280がゴミ扱いされたのは驚いた。店員曰く「今時TTLなんて時代遅れですから・・・」なるほど。。。


中古フィルム一眼の市場価格は下がる一方で、一時期の高値が付く可能性はゼロとのこと。
確かに、ヤフオクを見ていても、購入したときの半額ですら買い手がつかない。特にオリンパスは最悪。


いつ中古カメラを売るか?今でしょ!

フライングゲット

あのAKB48の「フライングゲット」をフルバンドで演奏してみたい、と思い立って約1年。
ついにビッグバンド用の楽譜作成を開始。


謡曲なのでそんなに難しいフレーズは無い。リズム(ドラム・ベース)の上に歌の旋律をユニゾンで作り上げて、別パートではオカズを加える、という初歩的な作業で曲頭〜間奏までのところを一気に2日間で作り上げた。残すは間奏から最後までの部分のみ。以外に簡単な作業でサクサクと作成中。


で、この時点までのところで、一旦パート譜を作成。
それを眺めて一言・・・


すげー難しい(w


とりあえず、サックスパートには死んでもらいます(w
あと、決してフルバンドっぽい曲ではない。というのも、ユニゾン満載だから(w
なるほど、「音八」の楽譜がツマラン理由がここにあるのか(納得


ということで
「聴いて良い曲は、必ずしも演奏して良い曲ではない」
というMy格言を、また一つ証明した今日この頃。


フライングゲット! ┓(´〜`)┏

会社でビッグバンド

会社で3年前に立ち上げたビッグバンドに、Tp奏者の新入社員が加わった。でもって、一年間お休みしていたTbの女の子も復活。これでSax5+Tp2+Tb2+Rhy3の編成までに成長。週1回の終業後の練習にも欠かさず参加してくれる練習熱心なメンバーが多く、毎回合奏練習ができる状況までになった。


やっとここまで来たなぁ、というのが正直な感想。
練習に2人しか来なかったことが1ヶ月続いたときは「もうやめようかな」とマヂで凹んだときもあったけど。


音楽って「続ける」ってのが大事なんだなぁ、ってつくづく思う。練習もバンド運営も。
今はいろんな意味でダメでも、続けてりゃ必ずいい演奏ができるようになる、っていうのは間違いじゃないみたい。
あと、急ぎすぎてもダメで、地道にコツコツと、っていうのも結構重要なのかもしれない。


頭数の目標はほぼ達成できたので、次の目標は演奏レベルの向上。
これも地道にコツコツと続けてゆくしかないな。

Chrome, ChromiumでFlash Player

最新のChromeChromiumでFlashPlayerが使えませんでした。
ググってみたらLinuxでは結構有名なことらしく、結論としてはAdobeのサイトからVer.11.2のFlashPlayerをDLしてみそ、ということでした。
Flash Player 11.2 を有効にする(Google Chrome | Linux)
で、その通りにやってみたのですが・・・なぜか動かない。
色々調べてやっとわかったのがVer.11.2以上では、CPUがSSE2に対応していないと動かない、という事実でした。
https://forums.ubuntulinux.jp/viewtopic.php?pid=92398#p92398
debianが動いているマシンはPentium IIIなのでSSE2に未対応。そりゃ動かないわなぁ。
ということでVer.11.1をインストールすることで解決。

でも一部のサイトでは「古いので見れません」って表示になるが、まぁそれはしゃーないと諦めています。

Debian Squeezeで最新Chromium

Chromeの共有機能の良さにハマって、最近は家でもスマホでもブラウザはChromeを使っている。加えてひ弱なサーバー(Pentium III(!))でも軽快に動くので、とても重宝している。がしかし!なぜかサーバー(Debian Squeeze)のChromeではFlash Playerが動作しない。バージョンが古いのが原因なのか不明。
しばらくは「しゃーない」と諦めていたが、FlashPlayerが必要なサイトに出くわすともっさりと重たくなる。まぁこれはマシンの非力さが原因かもしれないけど。


ということでChromiumuに乗り換えて見たのだが、これがまた古いバージョンのChromium 6。今はバージョン18ですってば。
ということでDebian Squeezeの古いChromiumを最新のChromiumにUpdateする方法をメモ。
ソース元はこちら(英文)

  • /etc/apt/sources.listに次の一行を追加。あるいは/etc/apt/sources.list.d/に次の一行を書いたテキストファイルを保存する(ファイル名はなんでもよい)

deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu lucid main

  • ターミナルで次のコマンドを実行する

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4E5E17B5

aptitude update && aptitude upgrade chromium-browser

これでChromiumは常に最新のバージョンにUpdateされる(はず?!)

Kinkos

桜が花盛りな週末、2日連続で楽譜の印刷&コピーのためにKinkosに通う。
2つのバンドのコンマスという立場上、楽譜の管理や次の課題曲の楽譜手配であれこれ悩むのだけど、好きこそ何とやらで、はっきり言って面倒なんだけど、これもまた楽し。


ところでKinkosのコピー機がUSBメモリに保存してあるPDFをダイレクト印字できるようになっていた。
しかも料金はコピー料金と同じ。これは非常に良い。
サークルKとかでも同じサービスをしているけど、混んでいなければ何時間でもコピー機を占有できる、という点では足を運んででもKinkosで作業したい。