2005年11月11日 (金曜日)

08:28:48 # Life 日本オタクツアー. ポップ・ジャパン・ツアー:日本おたくツアー日程。 というのがあった. Debian Conferenceの構成になにか参考になるだろうか.

最近のgit treeでは,UMLコンパイル失敗する.

  CC      lib/rwsem.o
lib/rwsem.c: In function '__rwsem_do_wake':
lib/rwsem.c:57: warning: implicit declaration of function 'rwsem_atomic_update'
lib/rwsem.c:57: error: 'RWSEM_ACTIVE_BIAS' undeclared (first use in this function)
lib/rwsem.c:57: error: (Each undeclared identifier is reported only once
lib/rwsem.c:57: error: for each function it appears in.)
lib/rwsem.c:59: error: 'RWSEM_ACTIVE_MASK' undeclared (first use in this function)
lib/rwsem.c:108: error: 'RWSEM_WAITING_BIAS' undeclared (first use in this function)
lib/rwsem.c:113: warning: implicit declaration of function 'rwsem_atomic_add'
lib/rwsem.c: In function 'rwsem_down_failed_common':
lib/rwsem.c:163: error: 'RWSEM_ACTIVE_MASK' undeclared (first use in this function)
lib/rwsem.c: In function 'rwsem_down_read_failed':
lib/rwsem.c:193: error: 'RWSEM_WAITING_BIAS' undeclared (first use in this function)
lib/rwsem.c:193: error: 'RWSEM_ACTIVE_BIAS' undeclared (first use in this function)
lib/rwsem.c: In function 'rwsem_down_write_failed':
lib/rwsem.c:210: error: 'RWSEM_ACTIVE_BIAS' undeclared (first use in this function)
make[1]: *** [lib/rwsem.o] Error 1
make: *** [lib] Error 2
	

20:45:39 # Life 最新のツリーでmencoderが動作しないという件について,v4l2の方々が反応してきた. v4l2の互換レイヤーをbttvは利用しているらしく, そこにregressionがあるのではないか,ということ. カーネルのどのバージョンがどうか,ということを確認.

特定のリビジョンをチェックアウトする方法.

	  git-cat-file tag $(cat .git/refs/tags/v2.6.14)
	  git-cat-file commit 741b2252a5e14d6c60a913c77a6099abe73a854a
	  git-read-tree 69ebfee77c8a174c87ea8ed31e023c94b09a9d6e
	  git-checkout-index  -f -a 
	  make-kpkg clean && make oldconfig && make-kpkg --revision 741b2252a5e14d6c60a913c77a6099abe73a854a kernel_image --rootcmd=fakeroot
	

df70b17f88a4d1d8545d3569a1f6d28c6004f9e4の時点で問題があるということを確認した.

channel: 12
minutes: 1
output filename: a
MEncoder dev-CVS--4.0.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon 64 Newcastle,Winchester,San Diego,Venice; Sempron Palermo (Family: 15, Stepping: 0)
Detected cache-line size is 64 bytes
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2

success: format: 9  data: 0x0 - 0x0
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski
 comment: first try, more to come ;-)
Selected device: BT878 video (IODATA GV-BCTV5/PC
 Tuner cap:
 Tuner rxs: MONO
 Capabilites:  video capture  video overlay  VBI capture device  tuner  read/write  streaming
 supported norms: 0 = PAL; 1 = NTSC; 2 = SECAM; 3 = PAL-Nc; 4 = PAL-M; 5 = PAL-N; 6 = NTSC-JP; 7 = PAL-60;
 inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
 Current input: 0
 Current format: YUYV
v4l2: current audio mode is : STEREO
Selected channel: 12 (freq: 217.250)
v4l2: ioctl queue buffer failed: Bad address
v4l2: 0 frames successfully processed, 0 frames dropped.
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.

	

Linux dancer64 2.6.14dancer-g6e9d6b8e #1 Mon Oct 31 11:31:20 JST 2005 x86_64 GNU/Linux でも問題がある.

channel: 1
minutes: 12
output filename: a
MEncoder dev-CVS--4.0.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon 64 Newcastle,Winchester,San Diego,Venice; Sempron Palermo (Family: 15, Stepping: 0)
Detected cache-line size is 64 bytes
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2

success: format: 9  data: 0x0 - 0x0
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski
 comment: first try, more to come ;-)
Selected device: BT878 video (IODATA GV-BCTV5/PC
 Tuner cap:
 Tuner rxs: MONO
 Capabilites:  video capture  video overlay  VBI capture device  tuner  read/write  streaming
 supported norms: 0 = PAL; 1 = NTSC; 2 = SECAM; 3 = PAL-Nc; 4 = PAL-M; 5 = PAL-N; 6 = NTSC-JP; 7 = PAL-60;
 inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
 Current input: 0
 Current format: YUYV
v4l2: current audio mode is : STEREO
Selected channel: 1 (freq: 91.250)
v4l2: ioctl queue buffer failed: Bad address
v4l2: 0 frames successfully processed, 0 frames dropped.
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.
	

22:46:12 # Life bttvのデバッグのためにbisectをはじめてみる. 一度目から比較してみても,全然bisectの数が減っていない気がする. 1000程度だったきがしたのだが,それが二度目には2000近くに増えている? この出力は何だろう. なんとなく見積もってみると,多分あと11回くらいはgit bisectしないといけないような気がする. 11時間くらいかかると見た.

$ git-bisect bad
Bisecting: 1966 revisions left to test after this
[23fd07750a789a66fe88cf173d52a18f1a387da4] Merge ../linux-2.6 by hand
$ make oldconfig && make-kpkg clean && make-kpkg --revision bisectN kernel_image --rootcmd=fakeroot
	

で,回答がかえってきた.

This is probably going to converge on the PageReserved removal patch,
and the way get_user_pages now refuses on a VM_RESERVED vma.

I don't want to send you a patch for that immediately, we're still
thinking through the implications of allowing VM_RESERVED there again
(it might just hit another BUG, or leak memory).  And we probably
need to take the separate "vbetool" problem into account too.

Though if you're curious and impatient, you could try just editing
the " | VM_RESERVED" out of mm/memory.c get_user_pages.
	

一ヵ月前のバージョンであるgit 0.99.8-0 を使っているのがまずいのかもしれない気がして来たので, 最新にアップデートしてみようとしらべはじめる.

Junichi Uekawa

$Id: dancer-diary.el,v 1.89 2005/05/12 11:19:14 dancer Exp $