bugPSPP - Bugs: bug #67049, SIGABRT due to an assertion...

 
 

bug #67049: SIGABRT due to an assertion failure in var_set_leave_quiet() function

Submitter:  Nez <xu_dawn>
Submitted:  Wed 23 Apr 2025 07:42:03 PM UTC
   
 
Category:  None Severity:  5 - Average
Status:  None Assigned to:  None
Open/Closed:  Open Release:  None
Effort:  0.00
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 23 Apr 2025 07:42:03 PM UTC, original submission:  

Summary
Program crashes with SIGABRT due to an assertion failure in var_set_leave_quiet() function. The assertion leave || !var_must_leave(v) fails, causing the program to abort.

Steps to Reproduce

Run PSPP with input data containing variables that may cause the condition leave || !var_must_leave(v) to fail.

./pspp --algorithm compatible POC-PSPP-Abort                                                                   
POC-PSPP-Abort:1.1-1.3: error: Unknown command `dnl'.
    1 | dnl PSPP - a program for statistical analysis.
      | ^~~

POC-PSPP-Abort:2.1-2.3: error: Unknown command `dnl'.
    2 | dnl Copyright (C) 2017 Free Software Foundation, Inc.
      | ^~~

POC-PSPP-Abort:3.1-3.3: error: Unknown command `dnl'.
    3 | dnl
      | ^~~

POC-PSPP-Abort:8.1-8.3: error: Unknown command `dnl'.
    8 | dnl
      | ^~~

POC-PSPP-Abort:13.1-13.3: error: Unknown command `dnl'.
   13 | dnl
      | ^~~

POC-PSPP-Abort:16.1-16.3: error: Unknown command `dnl'.
   16 | dnl
      | ^~~

POC-PSPP-Abort:19.1-19.8: error: Unknown command `AT_SETUP'.
   19 | AT_SETUP([dictionary case-insensitivity])
      | ^~~~~~~~

Reading free-form data from INLINE.
+--------+------+
|Variable|Format|
+--------+------+
|aèiöu   |F8.0  |
|aeiou   |F8.0  |
+--------+------+

Data List
+-----+
|aèiöu|
+-----+
| 1.00|
+-----+
pspp: src/data/variable.c:1114: var_set_leave_quiet: Assertion `leave || !var_must_leave (v)' failed.

The program triggers an assertion failure and aborts.

Expected Result: Program should handle the data gracefully without triggering the assertion failure.

Actual Result: Program crashes with SIGABRT and assertion failure at src/data/variable.c:1114.

Call Stack

var_set_leave_quiet() at src/data/variable.c:1114
var_clone() at src/data/variable.c:1286
dict_clone_var_as_assert() at src/data/dictionary.c:864
dict_clone() at src/data/dictionary.c:296
proc_open_filtering() at src/data/dataset.c:493
proc_open() at src/data/dataset.c:534
list_execute() at src/language/commands/list.c:72
cmd_list() at src/language/commands/list.c:208
do_parse_command() at src/language/command.c:244
cmd_parse_in_state() at src/language/command.c:150
cmd_parse() at src/language/command.c:165
main() at src/ui/terminal/main.c:139

Environment

PSPP version: master in Git Repository[commit:82fb509fb2fedd33e7ac0c46ca99e108bb3bdffb]
OS: Ubuntu 20.04.6 LTS
Compiler: GCC-11.4.0

Credit
Xudong Cao (UCAS)

Nez <xu_dawn>

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #57165:  POC-PSPP-Abort added by xu_dawn (1KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by xu_dawn (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2025-04-23 xu_dawn Attached File- Added POC-PSPP-Abort, #57165

    Back to the top

    Powered by Savane 3.15-26b0.
    Corresponding source code