#1720 Console: test area behaves differently from error parsing

open
None
5
2013-06-18
2013-06-14
jomabrueloe
No

I use a perl script to format the error output of my compiler in a way that can be easily parsed by the error list. This worked fine up to version 1.9 of the error list (which I still use today).
With the more recent versions (since the german localization, 2.0 ?) I get a very strange behaviour: I check the error output in the plugin options and get a display of all included errors and warnings. But in real life, the error list shows just nothing. I have tried to modify my perl script in several ways (output to std out, output to error out, output to both) without any change.

Discussion

1 2 > >> (Page 1 of 2)
  • Alan Ezust
    Alan Ezust
    2013-06-14

    This sounds like it is related to Console plugin?
    Let me confirm. Are you saying that from Console plugin options - error patterns, you can "test" the Perl regexp and it shows you the errors, as expected, but if you paste those same errors in a text file, and "cat" (or "type" from windows) it from the Console System shell, you do not see the same errors in ErrorList? Because I just tried those exact steps and it works for me.

    Please give me more details on how to reproduce your issue.

    Do you have the ErrorList Dockable already visible when you do this?

     
  • Alan Ezust
    Alan Ezust
    2013-06-14

    • status: open --> pending-works-for-me
     
  • jomabrueloe
    jomabrueloe
    2013-06-17

    Hi, thanks for your response.

    Yes, thats the way I do it, only I don't use a temporary file but direct piping via perl. I'm gonna try that way also and give you the result.
    Regarding your 2nd question: I use the error list docked an the bottom of jedit.

     
  • jomabrueloe
    jomabrueloe
    2013-06-17

    Hi,

    I just tried it: with the new version (and the latest console plugin), using the type command in the console results in a plain display with empty error list. Using the same with my old (working) configuration, the errros and warnings are shown as well in the console (colored text) as in the error list.
    I though it would be helpful for you to see, which other plugins are used. Therefore I attach two jpegs, one with the working and one with the not working configuration.

    Jo

     
  • jomabrueloe
    jomabrueloe
    2013-06-17

     
    Attachments
  • jomabrueloe
    jomabrueloe
    2013-06-17

     
    Attachments
  • Alan Ezust
    Alan Ezust
    2013-06-17

    Ok, this is the windows platform, and german localization.

    If you switch back to English locale, does the problem goes away?

    If so, please let us know. If not, I would suggest trying to see how else the settings differ between the working vs non-working configurations.
    Many error matchers in Console do you have enabled? Which ones are they? Is generic one of them? Can you make the "generic" error trigger, or is your problem specific to perl errors?
    I have a file called asdf.txt that looks like this:
    /etc/apt/sources.list:5: error! This is an arbitrary message.

    and whenever I cat it, I see errors in my errorlist. Do you?

    I will also go to windows and see if I can reproduce your issue by switching to german.

     
  • Alan Ezust
    Alan Ezust
    2013-06-17

    I tried typing the Error-Output.txt and it is not detected as a Perl error by the Perl error regexp, which for me is this:
    (.+) at ([^<>]+) line (\d+)(\.?|, (.+))
    Is that the same regexp you have?
    If so, I can reproduce your error but it seems to me there is something wrong with the regexp. Is this really the output of the perl command?

     
  • Alan Ezust
    Alan Ezust
    2013-06-17

    some perl error strings to test your regexp

     
    Attachments
  • Alan Ezust
    Alan Ezust
    2013-06-17

    I attached alan-perl-errors.txt which works for my perl error regexp. See if typing that from Console gives you perl errors.

     
  • jomabrueloe
    jomabrueloe
    2013-06-18

    Hi,
    thanks for your efforts! I have to apologize, that I wasn't that clear: I use a Tasking C-Compiler for a microcontroller. But because the error output of this one is very hard to handle (2 lines per error ...) I use the perl script to transform it to an conveniant pattern. Than - I have to apologize again for not transmitting this already - I use an own error pattern to parse the errors and warnings. I attach the error pattern as a screen shot.

    Thanks again

    Jo

     
  • jomabrueloe
    jomabrueloe
    2013-06-18

     
    Attachments
  • Alan Ezust
    Alan Ezust
    2013-06-18

    I have no idea/didn't check why your pattern worked before and doesn't now. Are you sure the regexps are the same?
    I can reproduce your current issue. It is really strange.
    I don't know why when testing the pattern, it shows things working but when I cat it, it is not detected.
    *HOWEVER*, there is a workaround:
    by simply adding a $ at the end of each of those regexps. The problem goes away.

     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    • status: pending-works-for-me --> open-works-for-me
     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    • status: open-works-for-me --> open
     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    • summary: Error list does not show errors --> Console: Some Error Regexps require a $ at the end to work
     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    • summary: Console: Some Error Regexps require a $ at the end to work --> Console: test area behaves differently from error parsing
     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    Sorry, it was not just a addition of the $ at the end. I changed your patterns to this:
    ^(E.+) :: (.+) :: (\d+)$
    ^(W.+) :: (.+) :: (\d+)$

     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    And for some reason, I only see errors and no warnings. There might be 2 bugs here, one related to how errors are parsed and another related to warnings.

     
  • jomabrueloe
    jomabrueloe
    2013-06-18

    New info:
    - using the english localisation doesn't change the behavior
    - the error is dedicated to the parser line; using "W" in the "error" parsing line results in display of warnings but errors
    - the "extra line" parsing line does not work either

     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    So to summarize, the original test case is this:

    The error/warning patterns were these:
    ^(E.+) :: (.+) :: (.+)$
    ^(W.+) :: (.+) :: (.+)$

    For a "test area", I pasted some lines from 85-103 of Error-Output.txt which is attached.

    When I "test/commit" the regexes against the pasted text, it works fine.

    But if I "cat" the Error-Output.txt file from Console, none of these errors are picked up.

    Personally, I have not worked on this code recently, so I hope one of the other engineers (Dale or Artem) will take a look at this. Also, I am pretty sure this has nothing to do with the ErrorList plugin.

     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    • assigned_to: nobody --> synh
     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    What version of Console is the latest version that works for you?

     
  • Alan Ezust
    Alan Ezust
    2013-06-18

    Nevermind, I see it is Console 4.4.4 (from your working configuration) from your screenshot.

     
1 2 > >> (Page 1 of 2)