* [Bug translator/10913] New: bad/misleading translator error message
@ 2009-11-06 19:36 dsmith at redhat dot com
2009-11-06 20:12 ` [Bug translator/10913] " jistone at redhat dot com
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: dsmith at redhat dot com @ 2009-11-06 19:36 UTC (permalink / raw)
To: systemtap
Here's the test script:
====
function foo:long()
%{
THIS->__retvalue = 5;
}
probe begin
(
printf("%d\n", foo())
}
====
Notice that the closing brace of the embedded-C function should be '%}', not
'}'. Here's what you get when you run this script.
====
# stap -vg test.stp
parse error: expected '{'
saw: junk '??THIS->__retvalue = 5;?}??probe begin?(??printf("%d\n", foo())?}'
at junk.stp:2:1
source: %{
^
1 parse error(s).
Pass 1: parsed user script and 63 library script(s) using
83216virt/20040res/2396shr kb, in 150usr/50sys/201real ms.
Pass 1: parse failed. Try again with another '--vp 1' option.
====
The translator's error message is completely confusing. It points at the open
bracket, not at the lack of a proper closing bracket.
--
Summary: bad/misleading translator error message
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: translator
AssignedTo: systemtap at sources dot redhat dot com
ReportedBy: dsmith at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=10913
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug translator/10913] bad/misleading translator error message
2009-11-06 19:36 [Bug translator/10913] New: bad/misleading translator error message dsmith at redhat dot com
@ 2009-11-06 20:12 ` jistone at redhat dot com
2010-03-22 19:15 ` chwang at redhat dot com
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: jistone at redhat dot com @ 2009-11-06 20:12 UTC (permalink / raw)
To: systemtap
------- Additional Comments From jistone at redhat dot com 2009-11-06 20:11 -------
The problem is in the tokenizer -- it treats an entire "%{...%}" as one big
tok_embedded token. If it doesn't find the closing, you instead get a tok_junk
"%{...EOF".
You get similar weirdness from unterminated strings:
$ stap -ve 'global s = "foo'
parse error: expected literal string or number
saw: junk 'foo' at <input>:1:12
source: global s = "foo
^
IMO, there no use for the tokenizer to generate tok_junk -- it should just throw
an error right away indicating *why* it is junk...
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10913
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug translator/10913] bad/misleading translator error message
2009-11-06 19:36 [Bug translator/10913] New: bad/misleading translator error message dsmith at redhat dot com
2009-11-06 20:12 ` [Bug translator/10913] " jistone at redhat dot com
@ 2010-03-22 19:15 ` chwang at redhat dot com
2010-03-22 21:02 ` dsmith at redhat dot com
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: chwang at redhat dot com @ 2010-03-22 19:15 UTC (permalink / raw)
To: systemtap
------- Additional Comments From chwang at redhat dot com 2010-03-22 19:14 -------
Created an attachment (id=4671)
--> (http://sourceware.org/bugzilla/attachment.cgi?id=4671&action=view)
Patch for 10913
*Very* short patch for 10913.
Would error messages like this be okay?
Embedded:
parse error: could not find matching '%}' to close embedded function block
at: embedded-code at /home/chwang/Desktop/turnip.stp:3:1
source: %{
^
Quotes:
parse error: Could not find matching closing quote
at: string 'enterprise' at <input>:1:17
source: global starship="enterprise
^
parse error: Could not find matching closing quote
at: string 'turnip)}' at <input>:3:21
source: probe begin {printf("turnip)}
^
Took a look at doing something similar for '{' mismatches as well, but haven't
managed to do so without accidentally wiping out other errors within the block.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10913
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug translator/10913] bad/misleading translator error message
2009-11-06 19:36 [Bug translator/10913] New: bad/misleading translator error message dsmith at redhat dot com
2009-11-06 20:12 ` [Bug translator/10913] " jistone at redhat dot com
2010-03-22 19:15 ` chwang at redhat dot com
@ 2010-03-22 21:02 ` dsmith at redhat dot com
2010-03-23 15:58 ` chwang at redhat dot com
2010-03-30 13:11 ` fche at redhat dot com
4 siblings, 0 replies; 6+ messages in thread
From: dsmith at redhat dot com @ 2010-03-22 21:02 UTC (permalink / raw)
To: systemtap
------- Additional Comments From dsmith at redhat dot com 2010-03-22 21:01 -------
(In reply to comment #2)
> Created an attachment (id=4671)
--> (http://sourceware.org/bugzilla/attachment.cgi?id=4671&action=view)
> Patch for 10913
>
> *Very* short patch for 10913.
>
> Would error messages like this be okay?
>
> Embedded:
> parse error: could not find matching '%}' to close embedded function block
> at: embedded-code at /home/chwang/Desktop/turnip.stp:3:1
> source: %{
> ^
>
> Quotes:
> parse error: Could not find matching closing quote
> at: string 'enterprise' at <input>:1:17
> source: global starship="enterprise
> ^
> parse error: Could not find matching closing quote
> at: string 'turnip)}' at <input>:3:21
> source: probe begin {printf("turnip)}
> ^
>
> Took a look at doing something similar for '{' mismatches as well, but haven't
> managed to do so without accidentally wiping out other errors within the block.
Your new error messages look reasonable to me.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10913
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug translator/10913] bad/misleading translator error message
2009-11-06 19:36 [Bug translator/10913] New: bad/misleading translator error message dsmith at redhat dot com
` (2 preceding siblings ...)
2010-03-22 21:02 ` dsmith at redhat dot com
@ 2010-03-23 15:58 ` chwang at redhat dot com
2010-03-30 13:11 ` fche at redhat dot com
4 siblings, 0 replies; 6+ messages in thread
From: chwang at redhat dot com @ 2010-03-23 15:58 UTC (permalink / raw)
To: systemtap
------- Additional Comments From chwang at redhat dot com 2010-03-23 15:58 -------
Pushed with the error messages above on 2010-03-23, 11:55:56
72cdb9cd5afd6936a189b26a29eb8aa23d32a4fa
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10913
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug translator/10913] bad/misleading translator error message
2009-11-06 19:36 [Bug translator/10913] New: bad/misleading translator error message dsmith at redhat dot com
` (3 preceding siblings ...)
2010-03-23 15:58 ` chwang at redhat dot com
@ 2010-03-30 13:11 ` fche at redhat dot com
4 siblings, 0 replies; 6+ messages in thread
From: fche at redhat dot com @ 2010-03-30 13:11 UTC (permalink / raw)
To: systemtap
------- Additional Comments From fche at redhat dot com 2010-03-30 13:11 -------
committed
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://sourceware.org/bugzilla/show_bug.cgi?id=10913
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-03-30 13:11 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-06 19:36 [Bug translator/10913] New: bad/misleading translator error message dsmith at redhat dot com
2009-11-06 20:12 ` [Bug translator/10913] " jistone at redhat dot com
2010-03-22 19:15 ` chwang at redhat dot com
2010-03-22 21:02 ` dsmith at redhat dot com
2010-03-23 15:58 ` chwang at redhat dot com
2010-03-30 13:11 ` fche at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).