pspp-dev
[Top][All Lists]
Advanced

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

Re: assertion failure in case.c


From: Jason Stover
Subject: Re: assertion failure in case.c
Date: Wed, 12 Jul 2006 20:06:47 -0400
User-agent: Mutt/1.5.10i

With this in the for loop:

for count_repeat_buffers in \
    "100 5 2" "100 5 3" "100 5 4" "100 5 5" "100 5 10" "100 5 50" "100 5 100" 
"100 5" \
    "100 10 2" "100 10 3" "100 10 5" "100 10" \
    "1000 5 5" "1000 5 50" "1000 5" \
    "100 100 3" "100 100 5" "100 100" \
    "10000 5 500" \
    "50000 1"; do
    echo "$count_repeat_buffers"
    ...

It stops the first time through:

$ make check TESTS=tests/command/sort.sh SUPERVISOR='gdb --args' 
Making check in intl
Making check in gl
make  check-am
Making check in po
make  check-TESTS
100 5 2
.GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd3.9"...
(gdb) r
Starting program: /home/jhs/src/pspp/src/ui/terminal/pspp --testing-mode -o 
raw-ascii sort.pspp
Warning: cannot create a convertor for "646" to "UTF-8": Invalid argument
Warning: cannot create a convertor for "646" to "646": Invalid argument
assertion "dst->this == dst" failed: file "src/data/case.c", line 219, function 
"case_copy"

Program received signal SIGABRT, Aborted.
0x06737995 in kill () from /usr/lib/libc.so.39.0
(gdb) bt
#0  0x06737995 in kill () from /usr/lib/libc.so.39.0
#1  0x0677406f in abort () at /usr/src/lib/libc/stdlib/abort.c:65
#2  0x0671112b in __assert2 (file=0x3c0172d6 "src/data/case.c", line=219, 
func=0x3c017237 "case_copy", 
    failedexpr=0x3c0173cd "dst->this == dst") at 
/usr/src/lib/libc/gen/assert.c:52
#3  0x1c071239 in case_copy (dst=0x82c99264, dst_idx=0, src=0xcfbec7e0, 
src_idx=0, value_cnt=2)
    at src/data/case.c:238
#4  0x1c06c93a in process_case (irs=0x86b98200, c=0xcfbec7e0, idx=1) at 
src/math/sort.c:374
#5  0x1c06c889 in write_runs (xsrt=0x0, reader=0x86b98100) at 
src/math/sort.c:351
#6  0x1c06c76c in do_external_sort (reader=0x86b98100, criteria=0x0) at 
src/math/sort.c:257
#7  0x1c06c54c in sort_execute (reader=0x86b98100, criteria=0x7e893160) at 
src/math/sort.c:133
#8  0x1c06c479 in sort_active_file_in_place (criteria=0x7e893160) at 
src/math/sort.c:80
#9  0x1c02f3d8 in cmd_sort_cases () at src/language/stats/sort-cases.c:71
#10 0x1c006627 in do_parse_command (state=CMD_STATE_DATA) at 
src/language/command.c:203
#11 0x1c00653d in cmd_parse (state=CMD_STATE_DATA) at src/language/command.c:146
#12 0x1c005210 in main (argc=5, argv=0xcfbec950) at src/ui/terminal/main.c:105

On Wed, Jul 12, 2006 at 10:05:46AM -0700, Ben Pfaff wrote:
> Jason, can you try to get a more detailed report by running
>         make check TESTS=tests/command/sort.sh SUPERVISOR='gdb --args'
> and running `backtrace' when the assertion hits.
> 
> I see that sort.sh actually runs PSPP several times, so before
> you do that, you might want to add
>         echo "$count_repeat_buffers"
> to the top of the for loop at the end of sort.sh so that you can
> see which run actually fails.  Then you can change the for loop
> so that it only runs the one that fails.  If it's, say, the 10th
> run that fails, that'll save you some time with GDB.
> -- 
> Positronic Functional Android Fabricated for Fighting




reply via email to

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