I verified that the port works on 7.2-RELEASE. If I look into history, it was not disabled on cause of a software problem but in cause of an outdatet MASTER_SITE. Sorry for that.
Class Changed From-To: sw-bug->maintainer-update Fix category (submitter is maintainer) (via the GNATS Auto Assign Tool)
Responsible Changed From-To: freebsd-ports-bugs->miwi miwi@ wants his PRs (via the GNATS Auto Assign Tool)
miwi 2009-08-18 20:34:58 UTC FreeBSD ports repository Modified files: sysutils/megarc Makefile Log: - Unbreak and update MASTER_SITES PR: 137938 Submitted by: Gerrit Beine <gerrit.beine@gmx.de> (maintainer) Revision Changes Path 1.8 +2 -8 ports/sysutils/megarc/Makefile _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed. Thanks!
Gerritt, Using megarc on freebsd 7.2 Release still results in kernel panics. The exact configuration of the hardware involved is a Intel SE7520JR2 motherboard with an Intel SRCU42X raid controller. (aka LSI U320-2X) Although I doubt it is hardware specific. The quickest way that I found to reproduce these crashes is by using fsstress in combination with a small script that repeatedly calls megarc. This reproduced a kernel panic within 5..10 minutes. fsstress: http://people.freebsd.org/~kan/fsstress.tar.gz Using the following parameters: ./fsstress -d </scratch-dir on raid controller hosted disk/volumes> -n 1000000 -p 16 Megarc invocation script: #!/bin/csh while (( 1 ))=20 /hive/vendor/bin/megarc -showAlarm -a0 /hive/vendor/bin/megarc -showBios -a0 /hive/vendor/bin/megarc -ctlrInfo -a0 /hive/vendor/bin/megarc -ViewExtSenseData -a0 -ch0 -idAll /hive/vendor/bin/megarc -getPRinfo -a0 /hive/vendor/bin/megarc -ShowdskSpinUP -a0 /hive/vendor/bin/megarc -physdrvSerialInfo -ch0 -a0 -idAll /hive/vendor/bin/megarc -ldInfo -a0 -Lall /hive/vendor/bin/megarc -pdFailInfo -a0 -ch0 -idAll /hive/vendor/bin/megarc -phys -chAll -idAll -a0 end Regards, roel
Hello to all users of megarc, a hint of John Baldwin concerning kern/155658 brought me to the solution of the long outstanding memory corruption problem caused by megarc. For every megarc command the program calls several times the ioctl system call and gives the length of the needed memory buffer to the system. Often the buffer length megarc requests is 12868 bytes, but in this case all controller I have tested returned 25412 bytes. Because the amr driver allocates only the requested memory we have memory corruption of 12k on most of the megarc calls. The following three byte patch for megarc solves the problem: # cmp -x megarc.orig megarc 000238e5 32 63 00023e91 32 63 00023ea9 32 63 # md5 megarc.orig megarc MD5 (megarc.orig) = 69000202480e0abce6cde241900e029c MD5 (megarc) = 6cff0fb3703eef0dd1701064848491ca If somebody likes to include this in the ports tree (sysutils/megarc): --- Makefile.1st 2010-08-09 16:41:56.000000000 +0200 +++ Makefile 2011-09-09 12:05:59.000000000 +0200 @@ -25,8 +25,13 @@ PLIST_FILES= sbin/megarc PORTDOCS= * +B64DECODE?= /usr/bin/b64decode +BSPATCH?= /usr/bin/bspatch + post-extract: @cd ${WRKSRC} && ${UNZIP_CMD} ${EXTRACT_BEFORE_ARGS} 'MegaRC 1.04.zip' + @cd ${WRKSRC} && ${MV} megarc megarc.orig + @cd ${WRKSRC} && ${B64DECODE} ${FILESDIR}/megarc.diff.64 && ${BSPATCH} megarc.orig megarc megarc.diff do-install: ${INSTALL_PROGRAM} ${WRKSRC}/megarc ${PREFIX}/sbin files/megarc.diff.64: begin-base64 644 megarc.diff QlNESUZGNDA3AAAAAAAAAEIAAAAAAAAAlLoFAAAAAABCWmg5MUFZJlNZ7KHJKQAAB0DpSiAACEAA BAAAEAAQIAAiMQZCDJiCkBjULk8XckU4UJDsockpQlpoOTFBWSZTWeV8yZ0AAj7pEMAACAQgAAIA AAQACCAAQFKU9R6hDAb0MxJQ+whPNpEh3dsCp+LuSKcKEhyvmTOgQlpoORdyRThQkAAAAAA= ==== -- Dr. Andreas Longwitz Data Service GmbH Beethovenstr. 2A 23617 Stockelsdorf Amtsgericht Lübeck, HRB 318 BS Geschäftsführer: Wilfried Paepcke, Dr. Andreas Longwitz, Josef Flatau