Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 106014
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo's Team for Core System packages <base-system@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: postmodern <brodigan@pdx.edu>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
test.y The test bison file application/octet-stream postmodern 2005-09-14 19:19 0000 899 bytes Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 106014 depends on: Show dependency tree
Bug 106014 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-09-14 15:46 0000
When constructing a bison syntax file and using the %parse-param directive
without the { } to contain the actual C param to be passed, bison outputs a
garbage error message.

/usr/bin/bison -v -d -p test_parser_ -b test_parser test_parser.y
test_parser.y:13.17: missing `{' in `H 

------- Comment #1 From postmodern 2005-09-14 15:46:10 0000 -------
When constructing a bison syntax file and using the %parse-param directive
without the { } to contain the actual C param to be passed, bison outputs a
garbage error message.

/usr/bin/bison -v -d -p test_parser_ -b test_parser test_parser.y
test_parser.y:13.17: missing `{' in `H ÞÿÿHH$HHDHBHD$HBHD$H'


Reproducible: Always
Steps to Reproduce:
1. Create skeleton bison syntax file with the malformed %parse-param directive
2. /usr/bin/bison -v -d -p test_parser_ -b test_parser test_parser.y
3.

Actual Results:  
test_parser.y:10.14: missing `{' in `H ÞÿÿHH$HHDHBHD$HBHD$H'

Expected Results:  
a decent error

Gentoo Base System version 1.6.13
Portage 2.0.51.22-r2 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r1,
2.6.12-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.12-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3400+
dev-lang/python:     2.3.5-r2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -O3 -march=k8"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-pipe -O3 -march=k8"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X aac alsa avi berkdb bitmap-fonts cdr crypt curl dvd dvdread eds
emboss encode esd fam flac foomaticdb fortran gif gnome gpm gstreamer gtk gtk2
imlib ipv6 jpeg libvisual lzw lzw-tiff mp3 mpeg ncurses network nls ogg
oggvorbis opengl pam pdflib perl png python quicktime readline samba sdl softmmu
speex spell sqlite ssl tcpd theora tiff truetype-fonts type1-fonts usb
userlocales vorbis xine xml2 xpm xv zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS

------- Comment #2 From SpanKY 2005-09-14 17:13:35 0000 -------
does it work with bison-2 ?

------- Comment #3 From postmodern 2005-09-14 17:22:15 0000 -------
sys-devel/bison-2.0 segfaults, here's the backtrace of "/usr/bin/bison -v -d -p
test_parser_ -b test_parser test_parser.y".

#0  0x00002aaaaac2ffb0 in strlen () from /lib/libc.so.6
#1  0x00002aaaaac059fc in vfprintf () from /lib/libc.so.6
#2  0x00002aaaaac02434 in cuserid () from /lib/libc.so.6
#3  0x00002aaaaac027fa in vfprintf () from /lib/libc.so.6
#4  0x0000000000402f55 in complain_at (loc=
        {start = {file = 0x540610 "metadata_parser.y", line = 19, column = 17},
end = {file = 0x540610 "metadata_parser.y", line = 19, column = 18}}, 
    message=0x435427 "missing `{' in `%s'") at complain.c:89
#5  0x0000000000419f37 in gram_lex (val=0x7fffffe2f798, loc=0x7fffffe32930)
    at scan-gram.l:537
#6  0x000000000040fbed in gram_parse () at parse-gram.c:1259
#7  0x0000000000413e31 in reader () at reader.c:483
#8  0x0000000000406fbd in main (argc=8, argv=0x7fffffe32a68) at main.c:80

------- Comment #4 From SpanKY 2005-09-14 18:44:51 0000 -------
why dont you post the source .y file as an attachment so we can try to
reproduce

------- Comment #5 From postmodern 2005-09-14 19:19:54 0000 -------
Created an attachment (id=68481) [details]
The test bison file

------- Comment #6 From postmodern 2005-09-14 19:28:03 0000 -------
The attached file is a test example of bison using the %parse-param directive.
The test file is a simple postfix calculator which calculates postfix algebra
and accumulates results into the int *i variable passed by %parse-param. To
compile, test and run the attached file simpley run the following commands.

bison -v -d -b test test.y
gcc -Wall test.tab.c -o test
./test

Then enter various postfix algebraic equations using integers and the operators
+, -, *, / and the unary - (which takes the form "NUM n" in this implementation).

This postfix calculator example was inspired by (ripped off from)
http://dinosaur.compilertools.net/bison/bison_5.html,

------- Comment #7 From SpanKY 2005-09-14 21:12:45 0000 -------
the good news is that bison-2.0 flags it as invalid ... the bad news is that
the
error message which tells you that your code is wrong segfaults (as you show in
gdb) :)

------- Comment #8 From SpanKY 2005-09-14 21:25:28 0000 -------
ok, it was reported about two months ago upstream and fixed ... ive grabbed the
diff from cvs and added to our current 2.0 ebuild

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug