Bug 157019 - flex-2.5.31-11 breaks sax2 log parser
Summary: flex-2.5.31-11 breaks sax2 log parser
Status: RESOLVED FIXED
: 153496 155815 156881 156890 157169 (view as bug list)
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: Other (show other bugs)
Version: Beta 7
Hardware: Other Other
: P5 - None : Critical (vote)
Target Milestone: ---
Assignee: Michal Marek
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-10 12:22 UTC by Marcus Schaefer
Modified: 2006-03-13 08:17 UTC (History)
8 users (show)

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Schaefer 2006-03-10 12:22:22 UTC
The mentioned version of flex breaks the sax2 log file parser which
causes several critical bug reports. There are no warning while calling
flex the difference between the generated files is:

--- /tmp/buildsystem.Gauss.root/usr/src/packages/BUILD/sax/sysp/lib/plog/lex.yy.c       2006-03-10 12:59:21.000000000 +0100
+++ plog/lex.yy.c       2006-03-10 12:58:33.000000000 +0100
@@ -2231,6 +2231,17 @@
 
 #define YYTABLES_NAME "yytables"
 
+#undef YY_NEW_FILE
+#undef YY_FLUSH_BUFFER
+#undef yy_set_bol
+#undef yy_new_buffer
+#undef yy_set_interactive
+#undef YY_DO_BEFORE_ACTION
+
+#ifdef YY_DECL_IS_OURS
+#undef YY_DECL_IS_OURS
+#undef YY_DECL
+#endif
 #line 70 "parse.l"

The old version includes that the new one doesn't
Comment 1 Marcus Schaefer 2006-03-10 12:29:14 UTC
Version flex-2.5.31-10 and older works
Comment 2 Marcus Schaefer 2006-03-10 12:32:27 UTC
*** Bug 153496 has been marked as a duplicate of this bug. ***
Comment 3 Marcus Schaefer 2006-03-10 12:33:02 UTC
*** Bug 156890 has been marked as a duplicate of this bug. ***
Comment 4 Marcus Schaefer 2006-03-10 12:33:42 UTC
*** Bug 155815 has been marked as a duplicate of this bug. ***
Comment 5 Marcus Schaefer 2006-03-10 12:38:22 UTC
The changes from

-------------------------------------------------------------------
Thu Mar  9 18:19:09 CET 2006 - mmarek@suse.cz

- keep YY_* macros in the generated C file (backport from 2.5.33)
  [#141964#c6] (keep-yytext_ptr.patch -> keep-macros.patch)

-------------------------------------------------------------------
Wed Mar  8 12:37:52 CET 2006 - mmarek@suse.cz

- removed unneeded part of last fix (C++ scanners weren't affected)
  [#151087] (overflow.patch)

Introduced the problem
Comment 6 Olaf Kirch 2006-03-10 12:41:12 UTC
Marcus, will you provide sax2 packages for testing, built with the
old flex rpm?
Comment 7 Marcus Schaefer 2006-03-10 12:46:40 UTC
I tested on gauss.suse.de if you want to check or do you need
sax2 packages just to be able to configure your X-Server again ?
Comment 8 Michal Marek 2006-03-10 14:42:16 UTC
will look at it
Comment 9 Michal Marek 2006-03-10 15:13:10 UTC
If you try /work/src/done/BETA/flex, does it fail as well?
Comment 10 Michal Marek 2006-03-10 16:06:40 UTC
I still can't find the problem :-( 

sax/sysp/lib/plog/parse.l contains no code in the third (last) section, so the
generated lex.yy.c has or has not a few #undefs _on the last lines_. Now that
file gets #included by parse.tab.cc _on the last line_. So the only difference
are #undefs at the end of parse.tab.cc.

BTW you marked some beta7 bugs as duplicates of this one, but beta7 only had

$ LANG=POSIX rpm -qp --changelog flex-2.5.31-10.i586.rpm | head
* Fri Feb 17 2006 - mmarek@suse.cz
- fix buffer overflow in some generated scanners
  [#151087] (overflow.patch)

* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires

* Tue Dec 20 2005 - mmj@suse.de
- don't package /usr/share/info/dir


As last resort, I could take the change back and tell Thorsten to use flex-old
(see bug #141964 comment #6). I'll CC him.
Comment 11 Marcus Schaefer 2006-03-10 16:27:40 UTC
Thanks for debugging, I'm still investigating... maybe the problem is
somewhere else. please be patient flex-old is not yet an option
Comment 12 Marcus Schaefer 2006-03-10 17:16:34 UTC
I am soo stupid it hurts. This is my bug not yours sorry for the confusion.
The problem is that within the buildsystem there is no Xorg loader available
but the compilation process checks that and defaults to XFree86 which doesn't
exist and leads to a non working log file parser.

My tests have been done within the installed system only because within a
chrooted buildsystem you cannot call an X-Server if its not installed. So
every time I compiled the code in the buildsystem I silently run into that
error. Of course all builds are broken because of this *aaargh*

It is fixed now and it works with the current version of flex of course
will submit a package now
Comment 13 Joe Harmon 2006-03-10 17:37:52 UTC
(In reply to comment #12)

> It is fixed now and it works with the current version of flex of course
> will submit a package now

Do you think that it will make beta 8?
Comment 14 Marcus Schaefer 2006-03-10 17:41:28 UTC
sure, deadline for beta8 is Monday 6pm and the package I submitted
has been checked in 5 minutes ago ;)
Comment 15 Marcus Schaefer 2006-03-13 07:53:14 UTC
*** Bug 156881 has been marked as a duplicate of this bug. ***
Comment 16 Marcus Schaefer 2006-03-13 08:17:28 UTC
*** Bug 157169 has been marked as a duplicate of this bug. ***