Unknown but interesting if you can reproduce it.
was there a bug reported here (http://zfs-fuse.net/issues)?
It hasn't happened for a loooooong time so... statistically speaking
it's bound to happen soon
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
time while touch /tmp/tanq/$RANDOM.{a..z}{a..z}; do rm -f /tmp/tanq/*& done
Assuming you've found the cause, I'd appreciate if you can share it. I
currently haven't the time to go actively debug it.
Cheers,
Seth
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
> Sorry I keep coming up with these tests that take so long to run -- at
> least this is better than my last issue which took days of running to
> re-create. :-)
No problem. I have a fast machine and installed Wormhole 5D :)
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
Well well, I am pretty sure this is fixed already, don't bother to find which patch does the job, it's patch from sun anyway.
All this is because there is a set of patches which has been stuck in unstable for much too long, but
time while touch $(eval echo /tmp/tanq/$RANDOM.{$(seq -s, 1 100)}); do rm -f /tmp/tanq/*& doneThis was with: commit 2f697ca8602f, debug=1, optim=-O2, gcc 4.5.1,
[....]
rm: [2]- Exit 1 rm -f /tmp/tanq/*
cannot remove `/tmp/tanq/4986.84': Transport endpoint is not connected
rm: cannot remove `/tmp/tanq/4986.85'
real 0m34.537s
user 0m0.520s
: Transport endpoint is not connectedsys 0m0.860s
time (while touch $(eval echo /tmp/tanq/$RANDOM.{$(seq -s, 1 100)}); do rm -f /tmp/tanq/*& done; wait) 2>&1 | tailPS2. nevermind: an extra test run with that modified command line aborted after 2m28s:
touch: cannot touch `/tmp/tanq/20847.98': Transport endpoint is not connectedSo I guess all that is really happening is: I have a fast machine (Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz) and I run zfs-fuse backed on tmpfs for tests like these.
touch: cannot touch `/tmp/tanq/20847.99': Transport endpoint is not connected
touch: cannot touch `/tmp/tanq/20847.100': Transport endpoint is not connected
real 2m28.608s
user 0m2.770s
sys 0m3.640s
it's because Seth doesn't have enough time for this, and I don't want to be in charge of any official version with some package maintenance, etc...
Thanks for the amazing time you spent on it anyway !
What shall I try now? Is there a patch you'd like me to revert and
try
running with that removed, or some sort of a bisect? I may need some
git
pointers on how to get to that point though.
Thanks
On 09/01/2011 11:41 PM, Emmanuel Anne wrote:What shall I try now? Is there a patch you'd like me to revert and
try
running with that removed, or some sort of a bisect? I may need some
git
pointers on how to get to that point though.
The only interesting bisect point I can come up with now is ea6df50db0b4cfc167925ed452d2840b14ecb103^ or before;
That is the only related change I can think of right now. I think I prefer to find some time to actually debug things
scons -C src/ debug=1 optim=-O2It crashed 'soon' with ea6df50: 4m58s [1]. **However**, with the 'before' version (50a6f36), I couldn't make it fail.
time (while touch $(eval echo /tmp/tanq/$RANDOM.{$(seq -s, 1 $((2+$RANDOM/100)))}); do rm -f /tmp/tanq/*& done; wait)
scons -C src/ debug=1 optim=-O2Well what dya know: it ran all day without a hitch, see this line from htop:
time (while touch $(eval echo /tmp/tanq/$RANDOM.{$(seq -s, 1 $((2+$RANDOM/100)))}); do rm -f /tmp/tanq/*& done; wait)
PID USER NLWP PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
22011 root 109 20 0 1225M 148M 1908 S 111. 1.9 13h54:58 /home/sehe/custom/_ZFS/src/zfs-fuse/zfs-fuse --no-kstat-mount
touch: cannot touch `/tmp/tanq/23733.98': Transport endpoint is not connected[2] pretty way to monitor that:
touch: cannot touch `/tmp/tanq/23733.99': Transport endpoint is not connected
touch: cannot touch `/tmp/tanq/23733.100': Transport endpoint is not connected
real 4m58.076s
user 0m5.780s
sys 0m8.430s
watch -n .1 ls /tmp/tanq -C
I decided to leave it running all day _even with assertions enabled_, and a slightly more randomized load [1]:
scons -C src/ debug=1 optim=-O2
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
I wasn't thinking about adding any locking really. I was thinking about
finding the cause. Then fix it :)
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
Please include
uname -a
cat /proc/cpuinfo
libc version
compilation flags
zfsrc
Also of note are pool options. I run a vanilla pool (no pool/fs options,
no zfsrc and just a stripe). As you know I can reproduce it in under 5
minutes at will. I'll try on another box or two for kicks.
On 09/04/2011 11:24 AM, Emmanuel Anne wrote:What are your specs/OS details out of curiosity? I might be able to
> Currently testing with your lastest bit of script on a raidz disk
> image (3 disk images actually), and it runs like a charm.
> If there is really a bug around here, the less I can say is that it's
> not easy to at least reproduce.
leverage the information
Please include
uname -a
cat /proc/cpuinfo
libc version
compilation flags
zfsrc
Also of note are pool options. I run a vanilla pool (no pool/fs options,
no zfsrc and just a stripe). As you know I can reproduce it in under 5
minutes at will. I'll try on another box or two for kicks.
Pretty much equivalent of what I'm testing with, but
1. you might have larger thread stacks (need to check) and
2. I'm running on tmpfs
3. I'm not using raidz (or any redundancy, for that matter)
The timings might just be a tad slower for you, lowering the odds of
seeing this?
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
I'll try on another box or two for kicks.
#4 0x0816dba6 in sa_lookup (hdl=0x0, attr=9, buf=0x9db1d0a8, buflen=8) at lib/libzpool/sa.c:1436With debug=1, a SIGSEGV takes about equally as long and takes place at the same site:#0 0xb7fbf33d in pthread_mutex_lock () from /lib/i386-linux-gnu/libpthread.so.0
#5 0x0806c3d9 in zfs_rmnode (zp=0x8429ce68) at zfs-fuse/zfs_dir.c:625
#6 0x08150a9b in zfs_zinactive (zp=0x8429ce68) at lib/libzpool/zfs_znode.c:1332
#7 0x0808ca7d in zfs_inactive (vp=0xb7c19ca0, cr=0x8236e7c, ct=0x0) at zfs-fuse/zfs_vnops.c:4325
#8 0x081a052f in fop_inactive (vp=0xb7c19ca0, cr=0x8236e7c, ct=0x0) at lib/libsolkerncompat/vnode.c:910
#9 0x0819fe0f in vn_rele (vp=0xb7c19ca0) at lib/libsolkerncompat/vnode.c:652
#10 0x0809039e in zfsfuse_getattr (req=0x8245440, ino=806, fi=0x0) at zfs-fuse/zfs_operations.c:334
#11 0xb7fa0e86 in ?? () from /lib/libfuse.so.2
#12 0xb7f9f728 in ?? () from /lib/libfuse.so.2
#13 0xb7fa3526 in fuse_session_process () from /lib/libfuse.so.2
#14 0x0808e4e1 in zfsfuse_listener_loop (arg=0x0) at zfs-fuse/fuse_listener.c:297
#15 0xb7fbce99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#16 0xb7d4073e in clone () from /lib/i386-linux-gnu/libc.so.6
#1 0x08124475 in mutex_enter (mp=0x0) at lib/libsolkerncompat/mutex.c:63Same crash with raidz (2 devs), raidz2 (3 vdevs)
#2 0x081093d2 in sa_lookup (hdl=0x0, attr=9, buf=0xafb400b0, buflen=8) at lib/libzpool/sa.c:1437
#3 0x0806a46d in zfs_rmnode (zp=0x7aa6cb88) at zfs-fuse/zfs_dir.c:625
#4 0x0808175f in zfs_inactive (vp=0xb7c341f8, cr=0x81a7918, ct=0x0) at zfs-fuse/zfs_vnops.c:4325
#5 0x0812c18e in fop_inactive (vp=0xb7c341f8) at lib/libsolkerncompat/vnode.c:910
#6 vn_rele (vp=0xb7c341f8) at lib/libsolkerncompat/vnode.c:652
#7 0x08088d20 in zfsfuse_getattr (req=0x81b11c0, ino=260, fi=0x0) at zfs-fuse/zfs_operations.c:334
#8 0xb7fa0e86 in ?? () from /lib/libfuse.so.2
#9 0xb7f9f728 in ?? () from /lib/libfuse.so.2
#10 0xb7fa3526 in fuse_session_process () from /lib/libfuse.so.2
#11 0x080839d8 in zfsfuse_listener_loop (arg=0x0) at zfs-fuse/fuse_listener.c:297
#12 0xb7fbce99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
--To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
Well obviously if I can't reproduce it, I can't fix it. You'll be on your own on this one then unless you find a way for me to do it !
Adding a meager '-a 0.00000001' to the command line seems to inhibit the
problem. That explains why you don't see it. I'd still like to go the
real cause, but meanwhile I suppose -a 0.00000001 should be an
acceptable workaround.
I'll leave it running for a good few hours to see (statistically) how
big of an improvement of the error rate this is.
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/