Re: AFS 1.8.2 , bus error on FreeBSD

Benjamin Kaduk <[email protected]>
Newsgroups gmane.comp.file-systems.openafs.general
Message-ID <[email protected]>
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
> >>> [email protected]
> >>> https://lists.openafs.org/mailman/listinfo/openafs-info
> > _______________________________________________
> > OpenAFS-info mailing list
> > [email protected]
> > https://lists.openafs.org/mailman/listinfo/openafs-info
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.