◆
携帯にメールが1500通以上届いたんですよ
無限ループは怖い。
プログラミングを嗜んだことのある人間なら、誰しも一度はこのバグに陥ったことがあるのではないだろうか。 「○○が終わるまで処理を繰り返し行い続ける」というルーチンにおいて、そのループの終了条件を間違ってしまったために、いつまでも処理が終わらず無限ループとなってしまうのである。 ローカルマシン上で動かなくなっている分には、幾らでも対処できるし、それほど被害も無い。 OSにもよるが、Alt + F4 やら Ctrl + C やら リンゴ + Option + esc あたりを押せば止まったりするし、それでも駄目なら直接プロセスを殺したりOSごと再起動すればいいだけだ。 だが。 当然ながら個人のパソコン以外だと、そうもいかなくなる。 今、バイトでWebプログラミングの手伝いをさせて貰っているのだが、携帯メール周りのテスト実行中に事件は起きた。 やはり、無限ループは怖い。 幸いサーバはトラブルに強いUNIXマシンであったため、コンピュータ自体が動かなくなり営業に支障が出てしまうという最悪の事態だけは免れたものの、ループブロックの中でとある処理を行っていたために笑い話のようなことが起こってしまうことになったのである。 果たして、そのループ中に行われていたこととは!? 答え:sendmail 呼んで字の如く、メール(mail)を送信(send)するコマンドである。 周知の通り、人間とは比較にならない速度で定型の仕事を行う性質を持つ。 かつ、ちゃんと指定されなければ、どんなにおかしいことでも「正常に」実行する。 つまりメール送信コマンドを何千回と行ったのだ。 慌ててプログラムを強制終了したが、時既に遅し。 携帯にメールが1500通以上届くことになる。 一度の通信で全部来たわけではなかったが、330通、500通、250通……といった感じで、多少の間を開けて大量に受信する。 携帯電話でメールチェックを行うと、「メールセンターに問い合わせています」というような類のメッセージが流れ通信状態になると思うが、この画面が10から20分続くのである。 500通を超えたあたりで、流石に携帯電話も力尽きたのかパワーオフになってしまった。(これは単に充電池が足りなかっただけかもしれない) これは実にマズい。 急いでi-mode通信を遮断、(固定電話)でDoCoMoのサポートセンターにコールし、事情を説明する。 サポセンの女性 「i-Menuからメール設定にアクセスし、送信アドレスを受信拒否してください。」 と言われるものの、効果ゼロ。 おそらく受信拒否設定は、届いたメールをメールボックスに保存する際に弾くだけなのだろう。 一度受信してしまったメールに対して、ユーザ側から対処することは出来ない模様。 結局、電話越しに相談した結果、「頑張って全部受信する」か「サーバのメール保持期限が過ぎるまで待つ」の2択しかないということに。 ちなみにメールの保持期限は約1ヶ月。 その間、全くメールが使えないとなると現実的ではない。 仕方なく前者を採用することにした。 と、これが事件の顛末である。 損失額はパケット料金にしておよそ5000円くらいか。 たった数バイトのプログラムの記述ミスで、これだけの額が吹っ飛んでしまった計算になる。 あとは大量送信したことにより、DoCoMo側からバイト先のサーバに対して何らかのペナルティが与えられたりしないかどうかだけが気がかりだ。 R.F.D. |
by odprfd
| 2005-11-23 11:48
| 情報技術
|
●プロフィール
●mixi | pixiv | TRPG SNS ●Twitter(log | fav) ●ターミナルベロシティ スパム対策実施中。 http://を含むコメント、半角英数字のみで構成されたコメントは送信できません。URLを載せたい場合はhを省くなどの工夫を。 同様にTBも規制中。記事内に当blogへのリンクが無い場合、自動的にTBは拒否されるようになっています。ご了承ください。 ●このBlogのRSS (XML形式、SPAMフィルタ済) 検索
カテゴリ
最新の記事
以前の記事
2015年 08月 2015年 03月 2014年 01月 2013年 04月 2013年 03月 2013年 01月 2012年 11月 2012年 07月 2012年 06月 2012年 03月 more... 最新のトラックバック
ブログパーツ
その他のジャンル
記事ランキング
画像一覧
|
ファン申請 |
||