Archive for 4月, 2008

4月 19th, 2008

dbxぜ pathmapぜ core mismatchに対応する

Posted in Solaris by admin

 あるシステム上にコアファイルが作成され、別の環? でそのコアファイルを解析する場合があります。例えば、本番環? で発生したcoreを開発環? で解析する場合がよぜ ある例だと思います。この場合、本番環? と開発環? のライブラリ朧 成が同一であることが前朏 になりますが、同一の朧 成をとれない事態もありえます。しかし、dbxではライブラリの配置場所を知らせるオプションを使用して、本番環? のライブラリを圏 照しているように開発環? で解析を行うことが可能です。

$ dbx core
WARNING!!
A loadobject was found with an unexpected checksum value.
See `help core mismatch' for details, and run `proc -map'
to see what checksum values were expected and found.
dbx: 警告: Some symbolic information might be incorrect.
プログラムぜ  シグナボ  SEGV (フォルトのアドレスにマッピングしていません) により停止しました
0xfe230db0: _string_to_decimal+0x06f8:  ldsb     [%o3 + %o1], %o0
(dbx) proc -map
0xfe300000 /lib/libnsl.so.1
  Warning: checksum in file(2d35) doesn't match image(9f64)
0xfef60000 /lib/libsocket.so.1
  Warning: checksum in file(c331) doesn't match image(5f49)
0xfef40000 /lib/libgen.so.1
  Warning: checksum in file(ed36) doesn't match image(d0fd)

core出力ホストぜ dbx解析ホストのライブラリ朧 成に相違がある場合、上記のようぜ WARNINGと共に正常な解析が出来ないことを警告されます。ここぜ core出力ホストのライブラリをdbx解析ホストに机 備し、dbxぜ pathmapコマンドを使用することで解析可能となります。

# core出力ホストのライブラリ朧 成をdbx解析ホストに置ぜ
$ ls -l /home/user/corehost/usr/local/lib
$ dbx
(dbx) dbxenv core_lo_pathmap on
(dbx) pathmap /usr/local/lib /home/user/corehost/usr/local/lib
(dbx) debug /var/www/cgi-bin/test.cgi core
test.cgi の読み込み中
core ファイルボ ンドラの読み込みに成功しました
ld.so.1 の読み込み中
libnsl.so.1 の読み込み中
libsocket.so.1 の読み込み中
libgen.so.1 の読み込み中
libdl.so.1 の読み込み中
libsched.so.1 の読み込み中
libc.so.1 の読み込み中
libxnet.so.1 の読み込み中
libwtc9.so の読み込み中
libaio.so.1 の読み込み中
librt.so.1 の読み込み中
libm.so.2 の読み込み中
libmd5.so.1 の読み込み中
libm.so.1 の読み込み中
ld.so.1 の読み込み中
プログラムぜ  シグナボ  SEGV (フォルトのアドレスにマッピングしていません) により停止しました
0xfe230db0: strlen+0x0050:      ld       [%o2], %o1
現関?  :main
  224       if( strlen(service_area_cd) != AREA_CD_LEN ){
(dbx) where
  [1] strlen(0x0, 0x3500e6, 0x0, 0x3500e698, 0x0, 0x1010101), at 0xfe230db0
=>[2] main(), line 224 in "test.cgi"
4月 16th, 2008

DLNAのパケットを探る

Posted in Web/AP全舜 by tatenaga

 DLNAとぜ Digital Living Network Allianceの略で、ホームネットワークの相? 接続互朏 性を標準化しようとする団? とその? 能の眷 称を指す。その? 能を簡単に? うぜ DLNA対? TVぜ LANケーブルをさせばネットワーク内のサーバに? 存してある画? や音楽、動画がTVの画面で観れるというものです。ホームネットワークをイメージした時、一番最初に思いつきそうな? 能じゃないでしょうか。サーバ側の設定は簡単で? 今回は圏 りあえず普通ぜ WindowsPCをサーバにする場合)WindowMediaPlayer11のライブラリ・オプションから「メディアを共有する」をチェックするだけで良い。

 設? 後はホームネットワークに接続するだけで、TVのメニュー画面ぜ Windowアイコンが表示され、サーバぜ WindowsMediaライブラリにアクセス可能となる。この「接続するだけで」という簡易さは、UPnP(ユニバーサル・プラグ? プレイ? という技術仕様。この? 能自? は、無眷 LANルーターがやってぜ れています。ルーターは? のようぜ SSDPプロトコルをブロードキャストで送信し、ネットワーク? に接続されたデバイスとその? 能を発? する。

NOTIFY * HTTP/1.1
HOST: 239.255.255.250:1900

NT: urn:schemas-upnp-org:service:(機? )
NTS: ssdp:alive
USN: uuid:HOGEHOGE::urn:schemas-upnp-org:service:(機? )
CACHE-CONTROL: max-age=120
Location: http://(ServerName):2869/upnp/rootdevice.xml
SERVER: IGD-HTTP/1.1 UPnP/1.0 UPnP-Device-Host/1.0

 次にサーバ内のファイルを閲覧する。Windowsアイコンを選択すると「写真」「音楽」「ビデオ」「画? 」「再生リスト」に分岐する。更に「再生リスト」「全てのビデオ」「ジャンル」「シリーズ」「評価」「フォルダ」等の閲覧方? が選択できるようになっている。この方? ぜ JPEG等の画? 、MP3などの音楽はスムーズに再生できた。しかし、動画が不安定。TVぜ MPEG2のみ対応だったので、予め変朏 しておいたのだが。いろいろ試し、PCぜ FireWallソフトを切るとうまく行く事が゜ かった。パケットをフィルタリングする時にヘッダやレスポンスを弄るのか、もしぜ は処理が遅ぜ なってタイムアウトしていたのではないだろうか。また動画は以下のような形? で確認した。MPEG2変朏 ぜ SUPER(C)というものを使用した。Youtube等ぜ Flash動画、FLV形? などの? 朏 にも対? している。

VIDEO: MPEG-? , 720x480, 29.97fps...
AUDIO: mp2, Stereo, 224kbps, 44100KHz...

 基本的ぜ TVクライアントぜ Windowsサーバぜ SOAP通信でやり圏 りしている。SOAPとは、普段ブラウザ? でも使用しているHTTPプロトコルを用い、SOAPメッセージという仕様化されたXML形? のデータでリクエスト/レスポンスを行う方? です。

クライアント・リクエスト

POST /upnphost/udhisapi.dll?control=uuid:HOGEHOGE+urn:upnp-org:serviceId:ContentDirectory HTTP/1.1
X-AV-Physical-Unit-Info: pa="Sony KDL-40J5000"; pl=Hoge64;
Host: ServerName:2869
User-Agent: UPnP/1.0 DLNADOC/1.00
Content-Length: 696
Content-Type: text/xml; charset="utf-8"

SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"

HTTP/1.1 100 Continue

(以? 、SOAPメッセー゜  -リクエスト)
畜
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
 <Filter>dc:title,av:mediaClass,dc:date,@childCount,res,av:orgAlive,res@resolution,

res@av:orgAlive,upnp:album,upnp:albumArtURI,upnp:albumArtURI@dlna:profileID,dc:creator,
res@size,res@duration,res@bitrate,res@protocolInfo,arib:objectType,res@dlna:ifoFileURI</Filter>
畜

サーバ・レスポン゜
HTTP/1.1 200 OK
Content-Length: 1577
Content-Type: text/xml; charset="utf-8"

Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/1.0
Date: Wed, 16 Apr 2008 14:26:50 GMT

(以? 、SOAPメッセー゜  -レスポン゜ )
畜
<item id="{C542793A-85F4-4369-AC70-C2863BBC2034}.0.AA849880" restricted="1" parentID="AA849880"><dc:title>nike_ronaldinho_joy_en_high.wmv</dc:title>
<dc:creator>[.....................]</dc:creator><res size="18997248" 
http:// ServerName:10243/WMPNSSv3/1803946331/ 1_e0M1NDI3OTNBLTg1RjQtNDM2OS1BQzcwLUMyODYzQkJDMjAzNH0uMC5BQTg0OTg4MA.mpg</res> <upnp:class>object.item.videoItem</upnp:class> <upnp:album>[........................]</upnp:album><dc:date>2008-04-10</dc:date> <upnp:albumArtURI dlna:profileID="JPEG_TN" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0">http://ServerName:0243/WMPNSSv3/1803946331 /0_e0M1NDI3OTNBLTg1RjQtNDM2OS1BQzcwLUMyODYzQkJDMjAzNH0uMC5BQTg0OTg4MA.jpg? albumArt=true</upnp:albumArtURI></item> 畜

また、データをストリームする際にぜ SOAPのカプセルには包まない。単純ぜ HTTPぜ GETするだけになる。

存在確認

HEAD /WMPNSSv3/1803946331/
1_e0M1NDI3OTNBLTg1RjQtNDM2OS1BQzcwLUMyODYzQkJDMjAzNH0uMC5BQTg0OTg4MA.mpg HTTP/1.1
getcontentFeatures.dlna.org: 1
Pragma: getIfoFileURI.dlna.org
Host: ServerName:10243

HTTP/1.1 200 OK
Content-Length: 18997248

Content-Type: video/mpeg
Last-Modified: Thu, 10 Apr 2008 13:41:01 GMT
Server: Microsoft-HTTPAPI/1.0
Accept-Ranges: bytes
ContentFeatures.DLNA.ORG: DLNA.ORG_PN=MPEG_PS_NTSC;
     DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000
TransferMode.DLNA.ORG: Streaming
Date: Wed, 16 Apr 2008 14:30:36 GMT

データリクエスト

GET /WMPNSSv3/1803946331/
1_e0M1NDI3OTNBLTg1RjQtNDM2OS1BQzcwLUMyODYzQkJDMjAzNH0uMC5BQTg0OTg4MA.mpg HTTP/1.1
Range: bytes=0-             (部分的リクエスト)
getcontentFeatures.dlna.org: 1
Host: ServerName:10243

HTTP/1.1 206 Partial Content(部分的 GETを圏 け入れ、Content-Rangeヘッダにつながる)

Content-Length: 18997248
Content-Type: video/mpeg
Last-Modified: Thu, 10 Apr 2008 13:41:01 GMT
Server: Microsoft-HTTPAPI/1.0
Accept-Ranges: bytes
ContentFeatures.DLNA.ORG: DLNA.ORG_PN=MPEG_PS_NTSC;
     DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000
Content-Range: bytes 0-18997247/18997248

TransferMode.DLNA.ORG: Streaming
Date: Wed, 16 Apr 2008 14:30:36 GMT

....D................D..!...... (動画データストリーム)

—–
後ぜ NASのようなネットワークぜ DLNAに対応したストレージを購入しましたが、こちらの方が快適です。
家電的総評としては、TVは地デジが映ればそれ以? いらない、ですが・・ボ

http://www.dlna.org/jp

4月 4th, 2008

cpコマンドでシンボリックリンク自? をコピボ

Posted in Solaris by admin

Solarisぜ cpコマンドでシンボリックリンク自? をコピー出来るかどうか。結果は以下のようになりました。

 Solaris8: 不圏
 Solaris8+GNU版cp: “d”オプションで可?
 Solaris10: “P”オプションで可?
 AIX5.3: “h”オプションで可?

Solaris8では以下のようにオプションも用? されていませんが、GNU版cpを? 入すれば対応できます。

% /usr/bin/cp -rP
/usr/bin/cp: オプションが正しぜ ありません -- P

% /usr/xpg4/bin/cp -rP
/usr/xpg4/bin/cp: オプションが正しぜ ありません -- P

% ls -l tmp1
-rw-r--r--   1 root   root               0 Apr 14 20:08 file1
lrwxrwxrwx   1 root   root               5 Apr 14 20:09 symlink1 -> file1
% ./gnu/bin/cp -rdp tmp1 tmp2
% ls -l tmp2
-rw-r--r--   1 root   root               0 Apr 14 20:08 file1
lrwxrwxrwx   1 root   root               5 Apr 14 20:10 symlink1 -> file1

Solaris10からぜ “P”オプションで対応したようです。

% ls -l tmp1
-rw-r--r--   1 root   root               0 Apr 14 20:08 file1
lrwxrwxrwx   1 root   root               5 Apr 14 20:09 symlink1 -> file1
% cp -rP tmp1 tmp2
% ls -l tmp2
-rw-r--r--   1 root   root               0 Apr 14 20:08 file1
lrwxrwxrwx   1 root   root               5 Apr 14 20:10 symlink1 -> file1

AIXにぜ “h”オプションがあるようです。

% ls -l tmp1
合計 0
-rw-r--r--   1 root   root               0 Apr 14 20:08 file1
lrwxrwxrwx   1 root   root               5 Apr 14 20:09 symlink1 -> file1
% cp -prh tmp1 tmp2
% ls -l tmp2
合計 0
-rw-r--r--   1 root   root               0 Apr 14 20:08 file1
lrwxrwxrwx   1 root   root               5 Apr 14 20:10 symlink1 -> file1