都内で活動するフリーランスエンジニアのトラブルシュート日記

2011年4月16日土曜日

Chandler Serverとインストーラの改良予定

 暇を見つけてChandler Serverとインストーラを改良していきます(あくまでも予定)。
  • Chandler Server日本語化
  • セットアップガイドに初期設定などの手順を追加
  • インストーラ対応バージョンの追加(Windows Server対応、64bit対応)
  • Chandler Server開発に特化したeclipseインストーラ作成
  • RDBMS対応インストーラ作成
  • 本体SAML(SSO)連携

Chandler Serverとは

これから少しずつChandler Serverに関する調査結果を記載していきます。

まずは概要から説明します。

Chandler Server(チャンドラサーバ)

Wikipedia日本語での説明

カレンダーを中心とした個人情報の管理がメインのソフトということですね。

Chandler Serverインストーラ(MSI)公開

Chandler Server 1.1.0のインストーラ(MSI)を作成してみました。
興味がある方はダウンロードしてみて下さい。
簡単にインストールできて、すぐに動作確認できます。

Chandler Server 1.1.0インストーラ(MSI形式)

※Windows XP 32bit版にのみインストール可能です。

※Google Docsに大きめのファイルをアップロードしているので 以下のメッセージが出ますが気にしないで下さい。、
「Sorry, we are unable to scan this file for viruses.」

2011年4月10日日曜日

Oracle Database XEホームページログイン失敗

CentOS 5.5にOracle Database 10g XEをインストールしてみました。
が、インストール直後にOracle Database XEホームページにログインしようとすると、ログインに失敗。どうやらパスワードに「admin」と設定するとうまくいかないっぽいです。
ちなみにWindows版では「admin」でもうまくようです。

NetBeansでFIndBugs

ソースの品質向上のため、NetBeansにSQEプラグインをインストールしてみました。
SQEプラグインは、Javaのソース解析を行うための、NetBeansプラグインです。
 インストール手順は以下の通り。


(1) ツール > プラグインをクリック
(2) 「設定」タブを選択して「追加」ボタンをクリック
(3) 以下を入力
名前:SQE Update Center
URL:http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/build/full-sqe-updatecenter/updates.xml
(4) 「使用可能なプラグイン」タブを選択して「カタログを再読み込み」ボタンをクリック
(5) 「FindBugs」などが追加されるので、チェックし「インストール」ボタンをクリック
・ CheckStyle
・ DependencyFinder
・ FindBugs
・ PMD

2011年3月20日日曜日

マルチスレッドでのstatic HashMap.put()で無限ループ

負荷テスト中にCPUが100%になる場合があるとのことで、解析を依頼されました。
とりあえず、スレッドダンプを取得してもらうと、HashMap.put()メソッド内で無限ループしている様子。

??
とりあえず、ネットで情報を収集。
すると、@ITにこんな記事が見つかりました。
http://www.atmarkit.co.jp/fjava/rensai4/troublehacks10/troublehacks10_1.html

マルチスレッドでstatic HashMap.put()にアクセスした場合に、循環参照に陥るらしいです。

対策は、同期をとること。具体的には、
・ConcurrentHashMapを使用する(JDK 1.5以上の場合)
・java.util.Collections.synchronizedMap()を使用する
・synchronizedブロックで囲む

HashMap.put()の他に、get()メソッドやHashSetクラスについても同様の対策が必要。

[参考]
http://www.atmarkit.co.jp/fjava/rensai4/troublehacks10/troublehacks10_1.html

[脆弱性]parseDoubleで無限ループ

JREのjava.lang.Double.parseDouble()に脆弱性が見つかったとのこと。
Double.parseDouble("2.2250738585072012e-308");
で無限ループするそうです。
対象は、JRE / JDK 6 Update 23 以前、5 Update 27 以前、JRE 1.4.2_29 以前。
これを利用するTomcat などのアプリケーションでも影響あり。

対策は、JREのアップデート。パッチの適用など。

[参考]
http://www-01.ibm.com/support/docview.wss?uid=swg21468197