* Seg fault in blkparse.
@ 2011-05-24 23:38 Bill Broadley
2011-05-25 6:19 ` Tao Ma
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Bill Broadley @ 2011-05-24 23:38 UTC (permalink / raw)
To: linux-btrace
I recorded a 3 minutes of heavy IO (generated with fio) with:
blktrace -w 240 -a read -a write -a fs -I devs -o btrfs-12-blk.log
(I used 240 seconds to make sure I didn't miss any of the 180 seconds of
I/O).
As a small aside I wasn't sure what the default filter mask was, it
seems more correct to use:
blktrace -w 240 -A read -a write -a fs -I devs -o btrfs-12-blk.log
So set the mask to exactly (and only) read, then add write, and fs. But
that dies with:
Invalid set action mask read/0x0
The above mentioned file "devs" contains /etc/sdc1 ... /dev/sdn1 (12
devices, one per line).
It generated 16 log files (it's a dual socket x quad core/8 thread intel
CPUs). The logs total 15M (using du --total -h *blktrace*).
blkparse reliably seg faults at around 102 seconds into the log:
8,209 1 5749 102.246254903 4825 U N [(null)] 2
8,113 4 10445 102.255427790 0 C R 14356151 + 8 [10445]
Segmentation fault
Stderror does have some strange output:
# blkparse btrfs-12-blk.log > /dev/null
Bad magic 0
Bad magic 0
Bad magic 0
Bad magic 8
Bad magic 0
Bad magic 0
Bad magic 0
Bad magic c2d3ccfa
Segmentation fault
It generated 61,758 lines of output when it dies.
Additional information about this machine, it's an ubuntu 11.04 x86-64
machine with:
# uname -a
Linux fb 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011
x86_64 x86_64 x86_64 GNU/Linux
# blkparse --version
blkparse version 1.0.1
# blktrace --version
blktrace version 2.0.0
This doesn't seem like a particularly challenging log to handle.
I looked for a way to tell blkparse to use a larger buffer but I didn't
see a way to do that with blkparse --help or the blkparse man page.
Stupid user error? Suggestions? I'm sending it to this list as
directed by the man page.
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: Seg fault in blkparse.
2011-05-24 23:38 Seg fault in blkparse Bill Broadley
@ 2011-05-25 6:19 ` Tao Ma
2011-05-25 8:48 ` Bill Broadley
2011-05-25 8:51 ` Bill Broadley
2 siblings, 0 replies; 4+ messages in thread
From: Tao Ma @ 2011-05-25 6:19 UTC (permalink / raw)
To: linux-btrace
On 05/25/2011 07:38 AM, Bill Broadley wrote:
>
> I recorded a 3 minutes of heavy IO (generated with fio) with:
> blktrace -w 240 -a read -a write -a fs -I devs -o btrfs-12-blk.log
>
> (I used 240 seconds to make sure I didn't miss any of the 180 seconds of
> I/O).
>
> As a small aside I wasn't sure what the default filter mask was, it
> seems more correct to use:
> blktrace -w 240 -A read -a write -a fs -I devs -o btrfs-12-blk.log
>
> So set the mask to exactly (and only) read, then add write, and fs. But
> that dies with:
> Invalid set action mask read/0x0
>
> The above mentioned file "devs" contains /etc/sdc1 ... /dev/sdn1 (12
> devices, one per line).
>
> It generated 16 log files (it's a dual socket x quad core/8 thread intel
> CPUs). The logs total 15M (using du --total -h *blktrace*).
>
> blkparse reliably seg faults at around 102 seconds into the log:
> 8,209 1 5749 102.246254903 4825 U N [(null)] 2
> 8,113 4 10445 102.255427790 0 C R 14356151 + 8 [10445]
> Segmentation fault
>
> Stderror does have some strange output:
>
> # blkparse btrfs-12-blk.log > /dev/null
> Bad magic 0
> Bad magic 0
> Bad magic 0
> Bad magic 8
> Bad magic 0
> Bad magic 0
> Bad magic 0
> Bad magic c2d3ccfa
> Segmentation fault
>
> It generated 61,758 lines of output when it dies.
>
> Additional information about this machine, it's an ubuntu 11.04 x86-64
> machine with:
> # uname -a
> Linux fb 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011
> x86_64 x86_64 x86_64 GNU/Linux
> # blkparse --version
> blkparse version 1.0.1
> # blktrace --version
> blktrace version 2.0.0
>
> This doesn't seem like a particularly challenging log to handle.
>
> I looked for a way to tell blkparse to use a larger buffer but I didn't
> see a way to do that with blkparse --help or the blkparse man page.
>
> Stupid user error? Suggestions? I'm sending it to this list as
> directed by the man page.
would you mind providing a tar.gz for the btrfs-12-blk.log?
Regards,
Tao
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Seg fault in blkparse.
2011-05-24 23:38 Seg fault in blkparse Bill Broadley
2011-05-25 6:19 ` Tao Ma
@ 2011-05-25 8:48 ` Bill Broadley
2011-05-25 8:51 ` Bill Broadley
2 siblings, 0 replies; 4+ messages in thread
From: Bill Broadley @ 2011-05-25 8:48 UTC (permalink / raw)
To: linux-btrace
On 05/24/2011 11:19 PM, Tao Ma wrote:
> would you mind providing a tar.gz for the btrfs-12-blk.log?
Sure. I did have the log from the previous run, but I was careful in
reproducing it and I get a slightly different result:
# blkparse rand-read-btrfs-r1-blk.log | wc -l
Bad magic 0
Bad magic 0
Bad magic 0
Bad magic 0
Out of memory, CPU info for device rand-read-btrfs-r1- (-46513984)
Which brings up another question. I setup a btrfs with 12 32GB partitions:
# btrfs filesystem show
failed to read /dev/sr0
Label: none uuid: 16c43865-52d8-42ec-a0c3-420f0184f622
Total devices 12 FS bytes used 96.12GB
devid 2 size 32.00GB used 32.00GB path /dev/sdd1
devid 3 size 32.00GB used 32.00GB path /dev/sde1
devid 5 size 32.00GB used 32.00GB path /dev/sdg1
devid 6 size 32.00GB used 32.00GB path /dev/sdh1
devid 11 size 32.00GB used 32.00GB path /dev/sdm1
devid 8 size 32.00GB used 32.00GB path /dev/sdj1
devid 10 size 32.00GB used 32.00GB path /dev/sdl1
devid 12 size 32.00GB used 32.00GB path /dev/sdn1
devid 1 size 32.00GB used 32.00GB path /dev/sdc1
devid 4 size 32.00GB used 32.00GB path /dev/sdf1
devid 9 size 32.00GB used 32.00GB path /dev/sdk1
devid 7 size 32.00GB used 32.00GB path /dev/sdi1
But there's no specific device for it, so I can mount any of the devices
(/dev/sd[cdefghijklmn]1) and see the entire volume:
$ df -h /tank
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 385G 193G 191G 51% /tank
So obvious the btrfs mounted with /dev/sdc1 (385GB across 12 disks) is
not the same as the device /dev/sdc1 (a 32GB partition on a single disk).
So for proper btrfs usage I should monitor /dev/sdc1? Use 12 -d's to add
each device? Use -I and list the 12 devices one per line in a file?
Oh, the requests logs as well as details for making the filesystem,
running the benchmark, and recording the blktrace is a 5.1MB file at
http://broadley.org/bill/blktrace-btrfs.tar.gz
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Seg fault in blkparse.
2011-05-24 23:38 Seg fault in blkparse Bill Broadley
2011-05-25 6:19 ` Tao Ma
2011-05-25 8:48 ` Bill Broadley
@ 2011-05-25 8:51 ` Bill Broadley
2 siblings, 0 replies; 4+ messages in thread
From: Bill Broadley @ 2011-05-25 8:51 UTC (permalink / raw)
To: linux-btrace
Sorry for the confusion.
Some small fixes.
On 05/25/2011 01:48 AM, Bill Broadley wrote:
> Sure. I did have the log from the previous run, but I was careful in
I didn't have the logs so I had to reproduce them.
> So for proper btrfs usage I should monitor /dev/sdc1? Use 12 -d's to add
> each device? Use -I and list the 12 devices one per line in a file?
I meant for proper blktrace usage, not btrfs
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-05-25 8:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-24 23:38 Seg fault in blkparse Bill Broadley
2011-05-25 6:19 ` Tao Ma
2011-05-25 8:48 ` Bill Broadley
2011-05-25 8:51 ` Bill Broadley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).