🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by W. Wilson Ho Fri, 06 Jan 1989 19:16
gdb 3.0 got segmentation fault
#658
Author: W. Wilson Ho
Date: Fri, 06 Jan 1989 19:16
51 lines
2989 bytes
The following bug happens on both Vax and Sun.  The version is 3.0.

Gdb gets a segmentation fault whenever it needs to evaluate a
logical AND or OR operation.  Here is the script:

-------------
GDB 3.0, Copyright (C) 1988 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "info copying" to see the conditions.
Reading symbol data from /usr/src/test/gdb-3.0/gdb2...done.
Type "help" for a list of commands.
(gdb) r
Starting program: /usr/src/test/gdb-3.0/gdb2
GDB 3.0, Copyright (C) 1988 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "info copying" to see the conditions.
Type "help" for a list of commands.
(mygdb) print 1||2

Program received signal 11, Segmentation fault
0xe18e in binop_user_defined_p (op=BINOP_OR, arg1=(value) 0x49244, arg2=(value) 0x0) (valarith.c line 113)
(gdb) where
#0  0xe18e in binop_user_defined_p (op=BINOP_OR, arg1=(value) 0x49244, arg2=(value) 0x0) (valarith.c line 113)
#1  0xc13f in evaluate_subexp (expect_type=(struct type *) 0x0, exp=(struct expression *) 0x3c784, pos=(int *) 0x7fffe0bc, noside=EVAL_NORMAL) (eval.c line 509)
#2  0xc13f in evaluate_subexp (expect_type=(struct type *) 0x0, exp=(struct expression *) 0x3c784, pos=(int *) 0x7fffe0bc, noside=EVAL_NORMAL) (eval.c line 509)
#3  0xb6ec in evaluate_expression (exp=(struct expression *) 0x3c784) (eval.c line 121)
#4  0x1095a in print_command (exp=(char *) 0x3c006 "1||2", 1) (printcmd.c line 491)
#5  0xa11 in execute_command (p=(char *) 0x3c006 "1||2", from_tty=1) (main.c line 416)
#6  0xb96 in command_loop () (main.c line 466)
#7  0x8ae in main (argc=1, argv=(char **) 0x7fffe1b4, envp=(char **) 0x7fffe1bc) (main.c line 359)
(gdb) quit
The program is running.  Quit anyway? (y or n) y
-------------

Apparently in evaluate_subexp() in eval.c, under the case BINOP_AND
and BINOP_OR, arg2 was not evaluated before being passed to
binop_user_defined_p() .

Thanks,

Wilson Ho
-------------------------------------------------------------------------------
  W. Wilson Ho		        |  INTERNET: how@iris.ucdavis.edu
  Division of Computer Science	|  UUCP:     {lll-crg, ucbvax}!ucdavis!iris!how
  EECS Department		|
  University of California	|  Phone:    (916)752-7109
  Davis, CA 95616		|
-------------------------------------------------------------------------------
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads