Hello, occasionally we got some solaris 10 server to panic in zfs code while doing "zfs send -i [EMAIL PROTECTED] [EMAIL PROTECTED] | ssh remote zfs receive poolname". The race condition(s) get triggered by a broken data transmission or killing sending zfs or ssh command. The panic or hanging zfs commands occurs on receiving end.
I've tried to reproduce the conditions with a small (quick&dirty) script.
You'll find it as an attached file. After starting the enclosed script with
./zfs-hardness-test.sh /var/tmp
it does the following:
- Creates a zpool on files in /var/tmp/...
- Copies some files to that zpool and creates snapshot "A".
- Copies more files into zpool and creates another snapshot "B".
- zfs send snapA >fileA
- zfs send -i snapA snapB >fileAB
- destroys zpool and creates new/empty zpool
- zfs receive of snapA from fileA via "ssh localhost"
At this point the script enters a endless loop of...
- zfs receive of incremental snapAB from file AB via "ssh localhost"
- zfs destroy snapB (if exists)
- zfs list
- restart loop
The key point is that receiving of incremental snapAB will break at some random
point, except for the first iteration where a full receive will be done. For
breaking things the script sends a SIGINT to zfs and ssh commands. This
simulates a broken data transmission.
I suppose on busy (or slow) server you'll have more chance to trigger the
problem. On all testes system, sparc and x86, solaris will panic or hang in
"zfs receive" & "zfs list".
Is this a (two?) known bug(s). Are there patches available?
This is the output of "uname -a;head -1 /etc/release" of some systems tested:
SunOS vs104is1 5.10 Generic_127112-02 i86pc i386 i86pc
Solaris 10 8/07 s10x_u4wos_12b X86
SunOS qachpi10 5.10 Generic_137112-02 i86pc i386 i86pc
Solaris 10 5/08 s10x_u5wos_10 X86
SunOS qacult10 5.10 Generic_137111-08 sun4u sparc SUNW,Ultra-5_10
Solaris 10 5/08 s10s_u5wos_10 SPARC
SunOS qacpp03 5.10 Generic_127111-05 sun4us sparc FJSV,GPUSC-M
Solaris 10 11/06 s10s_u3wos_10 SPARC
SunOS qacult31 5.10 Generic_127127-11 sun4u sparc SUNW,Ultra-30
Solaris 10 5/08 s10s_u5wos_10 SPARC
Disclaimer:
DO NOT USE THE ATTACHED SCRIPT ON PRODUCTIVE SERVER. USE IT AT YOUR OWN RISK.
USE IT ON A TEST SERVER ONLY. IT'S LIKELY THAT YOU WILL DAMAGE YOUR SERVER OR
YOUR DATA BY RUNNING THIS SCRIPT.
- Andreas
--
This message posted from opensolaris.org
zfs-hardness-test.sh
Description: Binary data
_______________________________________________ zfs-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
