Fri 27 Jul 2007 09:44:46 PM UTC, comment #10:
>Yes, that worked, though the patch didn't apply itself correctly.
I'm surprised that it didn't apply. I made it against an up-to-date copy from CVS. Do you have conflicting changes in your local tree?
>If you meant to just move the call to casereader_destroy (reader)
>after the else {msg (...)}, then it worked fine.
Yes, that's all I meant to do. Thanks for confirming that it works.
>I should have noticed that before. Oops.
It's my fault: I checked in my mega-patch that added this bug, without adequate review from you for the modules that you own and without sufficient documentation of how the new code works. I apologize for the former, and I'm working on a new developer's manual to help out with the latter.
I checked this in. I think that fixes the bug? I closed it, please reopen if I'm wrong. Thanks!
|
Fri 27 Jul 2007 08:23:31 PM UTC, comment #9:
Yes, that worked, though the patch didn't apply itself correctly.
If you meant to just move the call to casereader_destroy (reader) after the else {msg (...)}, then it worked fine.
I should have noticed that before. Oops.
|
Fri 27 Jul 2007 07:20:01 PM UTC, comment #8:
Jason: is the fix I attached OK by you?
|
Thu 26 Jul 2007 03:24:44 AM UTC, comment #7:
> Is the "No valid data found. This command was skipped." message expected?
Yes. It can't run without any observations of the dependent
variable.
|
Wed 25 Jul 2007 07:57:57 PM UTC, comment #6:
The new part of the bug is my fault. I'm attaching a fix.
Is the "No valid data found. This command was skipped." message expected?
(file #13470)
|
Wed 25 Jul 2007 07:22:10 PM UTC, comment #5:
I fixed this one, and thought it should be closed. But I just ran the syntax attached and after REGRESSION exited, an assertion failed. I'm not sure if I was supposed to call some cleanup code in regression.q around line 1241?
The error was:
/home/jhs/tmp/bug:22: error: REGRESSION: No valid data found. This command was skipped.
assertion "ds->proc_state == PROC_CLOSED" failed: file "src/data/procedure.c", line 305, function "proc_commit"
******************************************************
You have discovered a bug in PSPP. Please report this
message, plus several lines of output just above it.
For the best chance at having the bug fixed, also
include the syntax file that triggered it and a sample
of any data file used for input.
proximate cause: Assertion Failure/Abort
version: GNU pspp 0.4.3 (Fri Apr 20 13:28:49 EDT 2007).
host_system: i386-unknown-openbsd4.0
build_system: i386-unknown-openbsd4.0
default_config_path: ~/.pspp:/home/jhs/etc/pspp
include_path: ./:~/.pspp/include:/home/jhs/share/pspp
locale_dir: /home/jhs/share/locale
compiler version: 3.3.5 (propolice)
******************************************************
|
Tue 15 May 2007 08:44:11 PM UTC, comment #4:
It's been more than a "few days," but better late than never. In the absence of any valid data, REGRESSION now causes an error and prints appropriate message.
|
Wed 18 Apr 2007 01:43:11 AM UTC, comment #3:
I agree. I'll add such a message in the next few days.
|
Wed 18 Apr 2007 12:55:59 AM UTC, comment #2:
It seems to have stopped it crashing. However perhaps it would be better to give a warning when there are no non-missing values in the dependent variables, rather than silently ignoring the command?
|
Thu 12 Apr 2007 10:43:22 PM UTC, comment #1:
I just checked in a fix. Let me know if it works.
|
Thu 12 Apr 2007 01:53:59 AM UTC, original submission:
I tried the attached file (which takes the log of a negative number, and uses it as the dependent variable for regression).
Regression doesn't seem to be tolerant of such misuse. It crashes with the following problem:
Program received signal SIGSEGV, Segmentation fault.
0x08087c6f in run_regression (first=0xbf80a13c, cf=0x8133a48, cmd_=0x8122460, ds=0x8130138) at src/language/stats/regression.q:1215
1215 for (i = 0; i < X->m->size2; i++)
(gdb) print X->m
$1 = (gsl_matrix *) 0x0
(gdb) bt
#0 0x08087c6f in run_regression (first=0xbf80a13c, cf=0x8133a48, cmd_=0x8122460, ds=0x8130138) at src/language/stats/regression.q:1215
#1 0x080de97d in multipass_split_output (aux=0xbf80a138, ds=0x8134088) at src/data/procedure.c:682
#2 0x080de9ef in multipass_split_end_func (aux_=0x0, ds=0x8130138) at src/data/procedure.c:673
#3 0x080df4db in internal_procedure (ds=0x8130138, proc=<value optimized out>, end=0x80de9d0 <multipass_split_end_func>, aux=0xbf80a138) at src/data/procedure.c:231
#4 0x080df55a in multipass_procedure_with_splits (ds=0x8130138, split=0x80879e0 <run_regression>, func_aux=0x8122460) at src/data/procedure.c:634
#5 0x080869d3 in cmd_regression (lexer=0x81302c8, ds=0x8130138) at src/language/stats/regression.q:955
#6 0x0804f75f in cmd_parse_in_state (lexer=0x81302c8, ds=0x8130138, state=CMD_STATE_DATA) at src/language/command.c:217
#7 0x0804fc36 in cmd_parse (lexer=0x81302c8, ds=0x8130138) at src/language/command.c:160
#8 0x0804d643 in main (argc=2, argv=0xbf80a304) at src/ui/terminal/main.c:126
(gdb)
|