[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4078) test001 fails on sparcv9



richton@nbcs.rutgers.edu wrote:
> Full_Name: Aaron Richton
> Version: 2.3.10
> OS: Solaris 9
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (128.6.30.199)
>
>
> test000 passes, but test001 fails on 64-bit sparcv9. It throws a SIGBUS, which
> often means alignment issues in this context. I can play with this more with a
> decent memory debugger if you'd like, but for now, the corefile says:
>
> =>[1] slapadd(argc = 6, argv = 0xffffffff7ffff468), line 194 in "slapadd.c"
>   [2] main(argc = 6, argv = 0xffffffff7ffff468), line 527 in "main.c"
>   
Could be. If it's an alignment issue, this diff ought to fix it:
diff -u -r1.32 slapadd.c
--- slapadd.c   31 Aug 2005 21:23:13 -0000      1.32
+++ slapadd.c   11 Oct 2005 23:03:43 -0000
@@ -44,28 +44,28 @@
 int
 slapadd( int argc, char **argv )
 {
-       char            *buf = NULL;
-       int         lineno;
-       int         lmax;
-       int                     rc = EXIT_SUCCESS;
-
+       char *buf = NULL;
        const char *text;
        char textbuf[SLAP_TEXT_BUFLEN] = { '\0' };
        size_t textlen = sizeof textbuf;
        const char *progname = "slapadd";
-       int manage = 0;

        struct berval csn;
        struct berval maxcsn;
-       int match;
+       struct berval bvtext;
        Attribute *attr;
        Entry *ctxcsn_e;
        ID      ctxcsn_id, id;
+       Operation *op;
+       char opbuf[OPERATION_BUFFER_SIZE];
+
+       int match;
        int ret;
-       struct berval bvtext;
        int checkvals;
-       char opbuf[OPERATION_BUFFER_SIZE];
-       Operation *op;
+       int lineno;
+       int lmax;
+       int rc = EXIT_SUCCESS;
+       int manage = 0;

        slap_tool_init( progname, SLAPADD, argc, argv );

-- 
  -- Howard Chu
  Chief Architect, Symas Corp.  http://www.symas.com
  Director, Highland Sun        http://highlandsun.com/hyc
  OpenLDAP Core Team            http://www.openldap.org/project/