start

Xvncが起動できなくなった(´・ω・`)

家鯖をFreeBSD 9.2-RELEASEから10.1-RELEASEに更新したら、Xvncが起動しなくなってしまった。X Window System単体でも下記のような感じで動かない。

(上略)
Initializing built-in extension DRI2
Loading extension GLX
(EE) 
Fatal server error:
(EE) no screens found(EE) 
(EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.

xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

とりあえず再設定してみる(本当は/var/log/Xorg.0.logを見るべき。)

$ sudo Xorg -configure
X.Org X Server 1.14.7
Release Date: 2014-06-05
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 10.1-RELEASE-p6 amd64 
Current Operating System: FreeBSD Freyja.local.decomo.info 10.1-RELEASE-p6 FreeBSD 10.1-RELEASE-p6 #0: Tue Feb 24 19:00:21 UTC 2015     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
Build Date: 04 April 2015  11:50:25PM
 
Current version of pixman: 0.32.6
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sun Apr  5 13:37:46 2015
List of video drivers:
	vboxvideo
	vmware
	vmwlegacy
	vesa
(EE) module ABI major version (6) doesn't match the server's version (14)
(++) Using config file: "/root/xorg.conf.new"
(==) Using system config directory "/usr/local/share/X11/xorg.conf.d"


Xorg detected your mouse at device /dev/sysmouse.
Please check your config if the mouse is still not
operational, as by default Xorg tries to autodetect
the protocol.

Your xorg.conf file is /root/xorg.conf.new

To test the server, run 'X -config /root/xorg.conf.new'

(EE) Server terminated with error (2). Closing log file.

なんぞモジュールのABIが適合してないらしい。ここでようやく/var/log/Xorg.0.logを見るべきことに気づく。

(上略)
[   912.200] (II) LoadModule: "vmware"
[   912.201] (II) Loading /usr/local/lib/xorg/modules/drivers/vmware_drv.so
[   912.201] (II) Module vmware: vendor="X.Org Foundation"
[   912.202] 	compiled for 1.7.7, module version = 11.0.99
[   912.202] 	Module class: X.Org Video Driver
[   912.202] 	ABI class: X.Org Video Driver, version 6.0
[   912.202] (EE) module ABI major version (6) doesn't match the server's version (14)
[   912.202] (II) UnloadModule: "vmware"
[   912.202] (II) Unloading vmware
[   912.203] (EE) Failed to load module "vmware" (module requirement mismatch, 0)
[   912.203] (II) LoadModule: "vmwlegacy"
[   912.204] (II) Loading /usr/local/lib/xorg/modules/drivers/vmwlegacy_drv.so
[   912.205] (EE) Failed to load /usr/local/lib/xorg/modules/drivers/vmwlegacy_drv.so: /usr/local/lib/xorg/modules/drivers/vmwlegacy_drv.so: Undefined symbol "miEmptyData"
[   912.205] (II) UnloadModule: "vmwlegacy"
[   912.205] (II) Unloading vmwlegacy
[   912.205] (EE) Failed to load module "vmwlegacy" (loader failed, 7)
(下略)

vmwareのビデオドライバが不味いっぽい。昔ESXi上で動かしていた時の残骸で、またfreebsd-updateの時に共有ライブラリの更新をミスったのが根本原因だろう。OS更新に失敗して見事にpkg情報が全部飛んでしまっているので、一度pkgでインストールしすぐにアンインストール。vmwlegacy_drv.soはなぜか消えなかったので手動で削除。

sudo pkg install xf86-video-vmware
sudo pkg remove xf86-video-vmware
sudo rm /usr/local/lib/xorg/modules/drivers/vmwlegacy_drv.so

Xorg単体では動くようになったっぽいが(ヘッドレス環境なので本当に動いてるかは未確認)、やっぱりXvncが起動しない。ログはこんな感じ。

Xvnc Free Edition 4.1.3 - built Mar 29 2015 07:02:28
Copyright (C) 2002-2008 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
Underlying X server release 40300000, The XFree86 Project, Inc


Mon Apr  6 23:15:00 2015
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on port 5901
 vncext:      Listening for HTTP connections on port 5801
 vncext:      created VNC server for screen 0
error opening security policy file /usr/local/lib/X11/xserver/SecurityPolicy
Could not init font path element /usr/local/lib/X11/fonts/misc/, removing from list!
Could not init font path element /usr/local/lib/X11/fonts/Speedo/, removing from list!
Could not init font path element /usr/local/lib/X11/fonts/Type1/, removing from list!
Could not init font path element /usr/local/lib/X11/fonts/CID/, removing from list!
Could not init font path element /usr/local/lib/X11/fonts/75dpi/, removing from list!
Could not init font path element /usr/local/lib/X11/fonts/100dpi/, removing from list!

Fatal server error:
could not open default font 'fixed'
xsetroot:  unable to open display 'Freyja.local.decomo.info:1'
vncconfig: unable to open display "Freyja.local.decomo.info:1"
xterm: Xt error: Can't open display: Freyja.local.decomo.info:1
Openbox-Message: 環境変数 DISPLAY からディスプレイを開くのに失敗しました。

フォントパスが無いと怒られてるけど、これらパスはxorg.confから取り除いてるんだけどな…。

使えなくても直ぐさま困る訳ではないが、使えると便利な場合があるので早いとこ何とかしたい(´・ω・`)

結局、インストール済みのpkgを全部消し、更に/var/db/pkg/var/db/portsを真っさらにしてTigerVNC環境を一から構築し直したら何事も無く動くようになった(´・ω・`)

オプションのあるportsでOptions unchangedが出る

間違いなくビルドオプションがあるハズのportsでmake configしても「Options unchanged」となって、いつもの青画面が出ない現象に遭遇した。その時インストールしようとしてたportsに変更があったのかの?と思い、他のportsで試してみても同じ現象。これは何かがおかしい。

調べてみると、あの青画面はdialog4portsというコマンドで実現されており、そいつがオカシクなった可能性があるらしい。てなわけで、直接実行してみると…

$ dialog4ports -v
Shared object "libdialog.so.7" not found, required by "dialog4ports"

共有ライブラリが見つからんとな。昨日、FreeBSD 9.2から10.1にfreebsd-updateしており、インストール済みportsの更新をせずに古い共有ライブラリを消してしまったような気がする…。

pkgコマンド自体もおかしくなってる可能性を考慮して、pkg-staticの方でdialog4portsを入れ直してみた。

# pkg-static install dialog4ports
$ dialog4ports -v
dialog4ports version: 0.1.5

無事、青画面も出るようになった。

クソゲ〜製作所14年目

Internet Archiveに残っている最古のdecomo.infoが2003年5月なので、クソゲ〜製作所も今年で12年目、ドメインの取得日基準だと13年目なだな〜と思いきや、非ドメイン時代のサイトも発掘出来てしまった……。

ガチ厨二病全開(当時は高校1年か2年だろうけど)の黒歴史感プンプンで非常に恥ずかしかったりはするが、折角なので当サイト真の黎明期2001年5月のアーカイブを晒しておこう。見てるこっちが赤面しそうな空気である。

それにしても、最近のWebはこういう泥臭さというか芋臭さが全然無くなっちゃったよなぁ。田舎の垢抜けない少女がキメキメ都会デビューしちゃった的な、そんなノスタルジックな気持ちになるのも、自分がオッサン化しつつある証拠といった所か。昔から運営されていて、今でも基本的なHTML要素だけで構成された個人ページなんかを見ると妙に安心する(笑)

昔はページのレイアウトにしろ作りにしろ個性的なサイトが多かったけど、今やblogやwiki全盛で、どこも似たような作り一辺倒で正直ツマラン(wiki使ってる俺が言うなって)。まぁ、Webも成熟期に入ったって事なんだろう。

成熟の果てに待つのは衰退であるが、この先Webとインターネットはどうなって行くんだろうと取り留めもない事を考えるふりをしつつ今日の戯れ言はこの辺で。

……10年後には新たな黒歴史になってそうな文章だな、うむ。

zvolにスワップを作るのは意味がない?

自宅鯖にslog/L2ARC用のSSDを追加するついでに、現在HDD上にあるスワップ専用パーティションをSSDのZFSボリュームに移そうと画策していたが、zvol上のスワップってまともに動くのか不意に気になりだした。 いや、だってさ、潤沢なメモリを必要とするZFSがメモリ不足時に機能するスワップを読み書きするという、相反する2つの事象が発生するわけで。それ本当に大丈夫なの?という疑問が湧くのは当然じゃないかと。

ググってみたら、案の定というか、スワップ on zvolだとメモリ枯渇でシステムが応答しなくなる事例が幾つか出てきた。

swap無しだと数分でOSごと固まる。 zvolで4G分swapをとってもほぼ同じ。
60GBのHDDに4G分swapを取るとこけなくなるが、まれに書き込みエラーで展開がアボートする。

(中略)

swap無しの場合はメモリを食いつぶした時点でプロセスが死んで終了。特に影響無し。
zvolで4G取ってswapにした場合、pageoutがしばらく続いて反応がなくなる。zvolにディスクが100%割り当てられている状態でも同じだった。
60GB HDDに普通のswapを4G取った場合、各プロセスがメモリの上限に達して死ぬ。OSには影響無し。
zfs again | dogmap.jp

SWAP partition

Now let’s see how the system behaves if we run memory.c on an installation with a normal 2GB swap partition:

The system stays responsive and kills memory.c as soon as it runs out of swap space.

ZVOL

Now let’s try the same thing with the swap space on a ZVOL:

It still replies to ping requests, but it has stopped being responsive. You cannot kill memory.c or do anything else useful.
(中略)

And if you can trust the top output, it crashed with only about 60MB of swap space used. Philipp Schmid - FreeBSD 10: does SWAP work on a ZVOL?

全然だめじゃーん。てか、FreeBSD Wikiにも「実メモリが全くなくなると、システムは応答しなくなる可能性がある」って書いてあった……。

引用元の前者は物理メモリ1GB、後者はVMで256MB割り当てた環境と、そもそもZFSを動かすのには適していなかったりもするが…。メモリが増えた所で、枯渇時の挙動が大幅に変わるとも思えないし。

というわけで方針変更。zvol方式はやめてSSDに従来通りスワップパーティションを設ける形で。今のスワップは全部あわせて40GBとかなり豪勢だが、8GBもあれば十分だろう。所詮家鯖だし。てか、設定ミスで今現在はスワップなしだけど24GBの物理メモリで全く問題なく動いてるし。

FreeBSDからVMware Toolsを削除する

dmesgを眺めてたら「pid 1138 (vmware-checkvm), uid 0: exited on signal 10 (core dumped)」というログが記録されていた。

言われてみれば、ESXiを止めた時にVMware Toolsをアンインストールした記憶はない。んじゃまアンインスコしましょうかとpkg info | grep vmwareでインストール済みのパッケージを探ってみても、それらしきパッケージは見当たらず。

portsから入れたんじゃなかったっけかなぁ、と思いつつシェルでvmware-TAB補完してみるとvmware-uninstall-tools.plというファイルが出てきた。

取り敢えず一般ユーザーで実行してみたら「スーパーユーザーで実行しろや」と怒られたので(まぁプログラムの性質上当然だわな)、sudoで実行。

$ sudo vmware-uninstall-tools.pl
Uninstalling the tar installation of VMware Tools.
 
Stopping services for VMware Tools
 
Bus error (core dumped)
Skipping VMware Tools services shutdown on the host:                   done
 
File /etc/vmware-tools/vmware-user.desktop is backed up to
/etc/vmware-tools/vmware-user.desktop.old.2.
 
This program previously created the file
/usr/local/lib/xorg/modules/drivers/vmware_drv.so, and was about to remove it.
Somebody else apparently did it already.
 
This program previously created the file
/usr/local/lib/xorg/modules/input/vmmouse_drv.so, and was about to remove it.
Somebody else apparently did it already.
 
The removal of VMware Tools 9.0.1 build-913578 for FreeBSD completed
successfully.  Thank you for having tried this software.

無事削除されたっぽい。

  • start.txt
  • 最終更新: 2022-07-27 15:26
  • by Decomo