[OpenAFS] AFS 1.8.2 , bus error on FreeBSD
Benjamin Kaduk
kaduk@mit.edu
Mon, 8 Apr 2019 18:09:58 -0500
You may be able to run with this patch:
diff --git a/src/lwp/lwp.c b/src/lwp/lwp.c
index 496e773e00..0904ebff3e 100644
--- a/src/lwp/lwp.c
+++ b/src/lwp/lwp.c
@@ -353,6 +353,8 @@ LWP_CreateProcess(void *(*ep) (void *), int stacksize,
int priority, void *parm,
stackptr = (char *)(8 * (((long)stackmemory + 7) / 8));
#endif /* !AFS_DARWIN_ENV */
#endif
+ /* Gross hack to change stack alignment. */
+ stackptr += 8;
if (priority < 0 || priority >= MAX_PRIORITIES) {
free(temp);
#ifndef AFS_AIX32_ENV
If that doesn't work, I'd try compiling (everything) with gcc -O0 and see
if that helps -- the stack alignment only becomes an issue when some of the
newer fancy instructions are used.
-Ben
On Mon, Apr 08, 2019 at 08:50:19AM +0200, Andreas Ladanyi wrote:
> I cant see crashes when compiling with gcc. The "bos" binary was built.
> But "bus error" occurs when executing the "bos" binary.
>
> if i understand you correctly the error is in the LWP code. There is a
> workaround for this issue only for clang. So if i use clang to compile
> the "bos" binary could start without "bus error" ?
>
>
> Am 07.04.19 um 20:44 schrieb Benjamin Kaduk:
> > I don't think that's a requirement, no.
> > (Were the crashes with a gcc-compiled version?)
> >
> > -Ben
> >
> > On Sun, Apr 07, 2019 at 08:17:44PM +0200, Andreas Ladanyi wrote:
> >> Ok so i have to compile OpenAFS 1.8 with clang instead of gcc at FreeBSD ?
> >>
> >>
> >> Am 06.04.19 um 04:33 schrieb Benjamin Kaduk:
> >>> On Fri, Apr 05, 2019 at 08:39:23AM +0200, Andreas Ladanyi wrote:
> >>>> Hi,
> >>>>
> >>>> i compiled afs 1.8.2 on freebsd 11.2. When i want to execute bos command
> >>>> it shows me a "Bus Error". If i understand the problem correctly the
> >>>> problem is that bos wants to access memory which CPU physically cant access.
> >>>>
> >>>> Do i have to set some flags at configure time, before make ?
> >>> The LWP code ends up with a misaligned stack for the green thread and it's
> >>> kind of messy to track down a fix that works on all OS versions and with
> >>> all compilers.
> >>>
> >>> The ports collection makefile adds -mstackrealign for clang, to work around
> >>> this issue. The hope is that for OpenAFS 2.0 we'll have LWP entirely gone
> >>> and not need to worry about this any more...
> >>>
> >>> -Ben
> >>> _______________________________________________
> >>> OpenAFS-info mailing list
> >>> OpenAFS-info@openafs.org
> >>> https://lists.openafs.org/mailman/listinfo/openafs-info
> > _______________________________________________
> > OpenAFS-info mailing list
> > OpenAFS-info@openafs.org
> > https://lists.openafs.org/mailman/listinfo/openafs-info