xrdp-chansrvのデバッグ方法

307 views
Skip to first unread message

Hiroshi Kurokawa

unread,
Aug 29, 2019, 3:01:37 AM8/29/19
to 日本xrdpユーザ会 (The "xrdp" Users' Group Japan)
お世話になります。黒川と申します。

xrdp 0.9.11をCentOS7にインストールして利用しております。

インストール自体は成功し、
Windows 10のmstsc.exeからは問題なくxrdp経由でgnomeのセッションにログイン出来ました。
次に、Dell-WYSE製のシンクライアント端末から、xrdp経由でログインを試みましたが
WYSEシンクライアント端末のログには
RDP: virtual channnel rdpsnd error, rc = 0xffffffff
のログが出てしまい、gnomeのセッションに入る直前で通信が切れてしまいます。

上記のページにあるように、
xrdp.ini内のrdpsnd=falseを設定すれば、問題なくgnomeのセッションへ接続出来ます。

シンクライアント端末のログと、xrdp.iniの設定内容から
RDPのvirtual channelの設定時に何らかの問題があると思われます。
xrdpのソースを眺めてみたのですが、
当該の処理はxrdp-chansrvのchansrv.cまたはsound.c辺りが相当するように思えます。
そのため、この辺りにブレイクポイントを掛けてデバッグしようと思ったのですが、
xrdp-chansrvが、xrdp-sesmanからexecで起動される子プロセスであること、
そもそもxrdp-sesman自体が内部処理にforkが多用されており、非常にデバッグしにくい構造であることから、
私にとってはデバッグ作業自体が困難な状況です。

大変不躾な質問になりまして恐縮なのですが、
表記の通りxrdp-chansrvの効率的なデバッグ方法、
特にxrdp-chansrvが子プロセスとして実行されたときにデバッガに制御を落とす方法や
ブレークポイントを置いたりする方法についてご存じの方、
御教授頂けませんでしょうか。

当方の環境ですが、
OS:CentOS 7(@VirtualBox@Windows 10)
シンクライアント端末:WYSE Cx0(ThinOS 8.3_109)
デバッグ環境:eclipse CDT 2019-06
xrdpのconfigureパラメータ:--enable-jpeg --enable-tjpeg --enable-fuse --enable-fdkaac --enable-opus --enable-mp3lame --enable-pixman --enable-vsock --enable-xrdpdebug
となります。

何卒宜しくお願い致します。

meta

unread,
Aug 29, 2019, 9:28:45 PM8/29/19
to 日本xrdpユーザ会 (The "xrdp" Users' Group Japan)
黒川さんこんにちは。

この部分のデバッグは私も手こずっているところで、あまり得意ではないので識者のアドバイスがほしいところです。

そもそもの問題の方ですが、rdpsndの件に限らずWyseクライアントを使用したときの問題は複数報告されています。
基本的にはxrdpはMicrosoft Windows付属のクライアントと、FreeRDPをターゲットとして開発しています。
ただ、それ以外は一切サポートする意思がないというわけではなく、xrdpをWyseクライアントで使用している方は
少なくないようですので、可能な範囲でぜひ直してあげたいと思ってはいるのですが、ハードウェアクライアントな
ので開発者の下で再現できておらず手をつけられないというのが現状です。

2019年8月29日木曜日 16時01分37秒 UTC+9 Hiroshi Kurokawa:

Hiroshi Kurokawa

unread,
Sep 2, 2019, 11:16:05 PM9/2/19
to 日本xrdpユーザ会 (The "xrdp" Users' Group Japan)
meta様

ご連絡戴きありがとうございます。
手元の環境で、継続してデバッグを試みているのですが、
当該箇所の処理は、xrdp-chansrvだけでなく、
xorgxrdpのrdpClientConRecv函数なども関係してくるようで、
確認するべき範囲が多岐にわたり、デバッグが困難であることが良く分かりました。
 
xrdp本家のDevelopmentGroupを閲覧すれば、何かヒントが得られるかと思ったのですが、
へアクセスしても、グループが存在していないかグループにアクセスする権限がない旨、表示されまして、
トピックのログを閲覧することが出来ませんでした。

手元でのデバッグ作業はこれからも継続して行い、
何か進展がありましたらフィードバックをさせて戴きたく存じておりますが、
かなり困難な作業となることが予想されますので、
識者の方の事例等ありましたらご教授戴きたく存じます。

2019年8月30日金曜日 10時28分45秒 UTC+9 meta:
Reply all
Reply to author
Forward
0 new messages