Bug 137938 - Re-enable sysutils/megarc for 7.X
Summary: Re-enable sysutils/megarc for 7.X
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Martin Wilke
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-18 20:20 UTC by Gerrit Beine
Modified: 2011-09-11 21:00 UTC (History)
0 users

See Also:


Attachments
file.diff (873 bytes, patch)
2009-08-18 20:20 UTC, Gerrit Beine
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gerrit Beine 2009-08-18 20:20:01 UTC
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.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2009-08-18 20:20:09 UTC
Class Changed
From-To: sw-bug->maintainer-update

Fix category (submitter is maintainer) (via the GNATS Auto Assign Tool)
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2009-08-18 20:20:16 UTC
Responsible Changed
From-To: freebsd-ports-bugs->miwi

miwi@ wants his PRs (via the GNATS Auto Assign Tool)
Comment 3 dfilter service freebsd_committer freebsd_triage 2009-08-18 21:35:12 UTC
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"
Comment 4 Martin Wilke freebsd_committer freebsd_triage 2009-08-18 21:35:20 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 5 rjt 2009-10-30 19:13:44 UTC
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
Comment 6 longwitz 2011-09-11 20:42:10 UTC
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