public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [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).