bug-gnu-pspp
[Top][All Lists]
Advanced

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

PSPP-BUG: Assertion `0' failed at src/language/command.c:470 in report_s


From: Youngseok Choi
Subject: PSPP-BUG: Assertion `0' failed at src/language/command.c:470 in report_state_mismatch
Date: Tue, 4 Apr 2023 16:51:46 +0900

Hello, 

We are developing a new fuzzer, and it found new assertion bug in the latest pspp executable.

Command Input
pspp poc_file --syntax- =

poc_file is attached.

Output
...
/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.1-60.2: error: Bad character U+FFFD in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.2: error: Bad character U+0000 in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.2: error: Bad character U+0000 in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.2: error: Bad character U+0000 in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.2: error: Unknown command `i'.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.3: error: Bad character U+0000 in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.3: error: Bad character U+0000 in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.3-60.4: error: Bad character U+FFFD in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.4-60.5: error: Bad character U+FFFD in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.5: error: Bad character U+0001 in input.
   60 | �

/home/youngseok/data/230327/asan_inter_30_30_shrink5_1_230308/pspp/5_id:000727/poc_file:60.5: error: Bad character U+0000 in input.
   60 | �
pspp: src/language/command.c:470: report_state_mismatch: Assertion `0' failed.

Backtrace
#0  0x00007ffff56cae87 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff56cc7f1 in __GI_abort () at abort.c:79
#2  0x00007ffff56bc3fa in __assert_fail_base (fmt=0x7ffff58436c0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ffff6c6e240 "0", file=file@entry=0x7ffff6c6a020 "src/language/command.c", line=line@entry=470, function=function@entry=0x7ffff6c6e8e0 <__PRETTY_FUNCTION__.10686> "report_state_mismatch") at assert.c:92
#3  0x00007ffff56bc472 in __GI___assert_fail (assertion=0x7ffff6c6e240 "0", file=0x7ffff6c6a020 "src/language/command.c", line=470, function=0x7ffff6c6e8e0 <__PRETTY_FUNCTION__.10686> "report_state_mismatch") at assert.c:101
#4  0x00007ffff690e310 in report_state_mismatch (command=0x7ffff6d74468 <commands+3048>, state=CMD_STATE_NESTED_DATA) at src/language/command.c:470
#5  0x00007ffff690d265 in do_parse_command (lexer=0x6040000007d0, ds=0x612000000040, state=CMD_STATE_NESTED_DATA) at src/language/command.c:230
#6  0x00007ffff690cd0a in cmd_parse_in_state (lexer=0x6040000007d0, ds=0x612000000040, state=CMD_STATE_NESTED_DATA) at src/language/command.c:149
#7  0x00007ffff6a0c892 in cmd_loop (lexer=0x6040000007d0, ds=0x612000000040) at src/language/commands/loop.c:111
#8  0x00007ffff690d362 in do_parse_command (lexer=0x6040000007d0, ds=0x612000000040, state=CMD_STATE_DATA) at src/language/command.c:243
#9  0x00007ffff690cd0a in cmd_parse_in_state (lexer=0x6040000007d0, ds=0x612000000040, state=CMD_STATE_DATA) at src/language/command.c:149
#10 0x00007ffff690cdda in cmd_parse (lexer=0x6040000007d0, ds=0x612000000040) at src/language/command.c:164
#11 0x0000555555559e7b in main (argc=4, argv=0x7fffffffe038) at src/ui/terminal/main.c:139


Environment
OS: Ubuntu 18.04
gcc: 7.5.0
pspp: 1.6.2 (master branch - git commit id eb1521cd226e0b8cafab7c72d860b21eda71662)

Note that pspp is built with address sanitizer and several options: 
CFLAGS="-fsanitize=address -g -O0" CXXFLAGS="-fsanitize=address -g -O0" \ ./configure --prefix=`pwd`/install_main --without-perl-module --without-gui

Thank you.
Youngseok Choi

Attachment: poc_file
Description: Binary data


reply via email to

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