bugPSPP - Bugs: bug #19581, Regression Crashes if dependent...

 
 

bug #19581: Regression Crashes if dependent variable is SYSMIS.

Submitted by:  John Darrington <jmd>
Submitted on:  Thu 12 Apr 2007 01:53:59 AM UTC  
 
Category: Numerical ErrorsSeverity: 5 - Average
Status: FixedAssigned to: John Darrington <jmd>
Open/Closed: ClosedRelease: Before 0.6.0
Effort: 0.00

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

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!

Ben Pfaff <blp>
Project Administrator
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.

Jason H Stover <jstover>
Project Member
Fri 27 Jul 2007 07:20:01 PM UTC, comment #8:

Jason: is the fix I attached OK by you?

Ben Pfaff <blp>
Project Administrator
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.

Jason H Stover <jstover>
Project Member
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)

Ben Pfaff <blp>
Project Administrator
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)
******************************************************

Jason H Stover <jstover>
Project Member
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.

Jason H Stover <jstover>
Project Member
Wed 18 Apr 2007 01:43:11 AM UTC, comment #3:

I agree. I'll add such a message in the next few days.

Jason H Stover <jstover>
Project Member
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?

John Darrington <jmd>
Project AdministratorIn charge of this item.
Thu 12 Apr 2007 10:43:22 PM UTC, comment #1:

I just checked in a fix. Let me know if it works.

Jason H Stover <jstover>
Project Member
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)

John Darrington <jmd>
Project AdministratorIn charge of this item.

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #13470:  bug-19581.patch added by blp (775B - text/x-diff)
file #12468:  bug1 added by jmd (240B - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by blp (Updated the item)
  • -unavailable- added by jstover (Posted a comment)
  • -unavailable- added by jmd (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 9 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 27 Jul 2007 09:44:46 PM UTCblpStatusReady for Test/Review=>Fixed
      Open/ClosedOpen=>Closed
    Fri 27 Jul 2007 07:20:01 PM UTCblpStatusNone=>Ready for Test/Review
    Wed 25 Jul 2007 07:57:57 PM UTCblpAttached File-=>Added bug-19581.patch, #13470
    Wed 25 Jul 2007 03:21:23 PM UTCblpReleaseNone=>Before 0.6.0
    Tue 15 May 2007 08:44:11 PM UTCjstoverAssigned tojstover=>jmd
    Wed 18 Apr 2007 12:55:59 AM UTCjmdAssigned tojmd=>jstover
    Thu 12 Apr 2007 10:43:22 PM UTCjstoverAssigned tojstover=>jmd
    Thu 12 Apr 2007 01:53:59 AM UTCjmdAttached File-=>Added bug1, #12468

    Back to the top


    Powered by Savane 3.1-cleanup1