pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: netbsd build update


From: Jason Stover
Subject: Re: netbsd build update
Date: Tue, 16 May 2006 11:06:28 -0400
User-agent: Mutt/1.5.10i

On Tue, May 16, 2006 at 12:09:42PM +0800, John Darrington wrote:
> On Mon, May 15, 2006 at 10:45:22PM -0400, Jason Stover wrote:
>      
>      $ uname -ap
>      NetBSD ukato 2.1.0_STABLE NetBSD 2.1.0_STABLE (sdf) #0: Thu May  4 
> 16:56:27 UTC 2006  address@hidden:/var/src/src/sys/arch/alpha/compile/sdf 
> alpha
>      
>      $ gcc --version
>      gcc (GCC) 3.3.3 (NetBSD nb3 20040520)
>      
>      The good news: PSPP builds on it.
>      
>      The bad news: Three tests fail and cause PSPP to abort. All are floating
>      point exceptions. 
>      
>      The first failure (bignum.sh) fails on line 180 of moment.c.
>      gdb tells me the variable d is a struct outp_driver *,
>      even though it's clearly declared as a double on line 159.
>      Could this be a problem of colliding names?
>      
> 
> It's a bit difficult to tell.  Can you get a stack trace ?

(gdb) bt
#0  moments_pass_two (m=0x120122480, value=0, weight=1)
    at src/math/moments.c:179
#1  0x0000000120036678 in calc_descriptives (first=0x120122480, 
    cf=0x120122600, dsc_=0x1201223b8) at src/language/stats/descriptives.c:795
#2  0x00000001200a9de8 in multipass_split_output (aux=0x1fffff820)
    at src/data/procedure.c:640
#3  0x00000001200a9d94 in multipass_split_end_func (aux_=0x2)
    at src/data/procedure.c:632
#4  0x00000001200a8dc4 in internal_procedure (
    case_func=0x1200a9c10 <multipass_split_case_func>, 
    end_func=0x1200a9d50 <multipass_split_end_func>, aux=0x1fffff820)
    at src/data/procedure.c:229
#5  0x00000001200a9bac in multipass_procedure_with_splits (split_func=0x2, 
    func_aux=0x0) at src/data/procedure.c:594
#6  0x0000000120034d40 in cmd_descriptives ()
    at src/language/stats/descriptives.c:411
#7  0x0000000120009004 in do_parse_command (state=CMD_STATE_DATA)
    at src/language/command.c:186
#8  0x0000000120008ed0 in cmd_parse (state=CMD_STATE_DATA)
    at src/language/command.c:141
#9  0x00000001200069bc in execute_command () at src/ui/terminal/main.c:137
#10 0x00000001200068b4 in main (argc=2, argv=0x1fffff948)
    at src/ui/terminal/main.c:105

(gdb) info frame 0
Stack frame at 0x1fffff700:
 pc = 0x12008ede0 in moments_pass_two (src/math/moments.c:163); 
    saved pc 0x120036678
 called by frame at 0x1fffff770
 source language c.
 Arglist at 0x1fffff6d0, args: m=0x120122480, value=0, weight=1
 Locals at 0x1fffff700, Previous frame's sp in sp
 Saved registers:
  s0 at 0x1fffff6e8, ra at 0x1fffff6e0, pc at 0x1fffff6e0

At descriptives.c:795, gdb can't see dv, x or weight correctly. I had
to move their declarations out of the local scope:

      for (i = 0; i < dsc->var_cnt; i++)
        {
          struct dsc_var *dv = &dsc->vars[i];
          double x = case_num (&c, dv->v->fv);
          ...

to the beginning of calc_descriptives(...). Then everything looked
fine in descriptives.c, but that didn't help with the trouble in
moments_pass_two(...), where gdb still tells me that d is a struct
outp_driver *.

-Jason




reply via email to

[Prev in Thread] Current Thread [Next in Thread]