Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSON error output does not work with "use" (unknown) module #5726

Closed
p6rt opened this issue Oct 5, 2016 · 4 comments
Closed

JSON error output does not work with "use" (unknown) module #5726

p6rt opened this issue Oct 5, 2016 · 4 comments
Labels

Comments

@p6rt
Copy link

p6rt commented Oct 5, 2016

Migrated from rt.perl.org#129810 (status was 'resolved')

Searchable as RT129810$

@p6rt
Copy link
Author

p6rt commented Oct 5, 2016

From nxadm@apt-get.be

Hi,

Great job adding JSON error output (lizmat++). This will make tooling a
lot better!

So far it seems to work well, but I found a use case where no JSON is
thrown, but the regular error text. Specifically, the error output is
skipped when a module is loaded that does not exit.

I created some 'error state' modules to test the perl6 syntax support​:
https://github.com/nxadm/syntastic-perl6/tree/JSON_2016.09/t (the code
hasn't yet been ported to support JSON).

Here is the output of for the module_not_found.pm6 where the JSON output
is not thrown​:

~/Code/syntastic-perl6/t$ /opt/rakudo/bin/perl6 -v
This is Rakudo version 2016.09 built on MoarVM version 2016.09
implementing Perl 6.c.

~/Code/syntastic-perl6/t$ cat module_not_found.pm6
unit package ModuleNotFoundTest;
use abcdefghijklmnopqrstuvwxyz1234567891011121314151617181920;

~/Code/syntastic-perl6/t$ RAKUDO_EXCEPTIONS_HANDLER=JSON
/opt/rakudo/bin/perl6 -c module_not_found.pm6
Unhandled exception​: Can't serialize an object of type
CompUnit​::DependencySpecification
  at <unknown>​:1
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:throw)
  from gen/moar/m-CORE.setting​:819
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:die)
  from gen/moar/m-CORE.setting​:807
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:die)
  from gen/moar/m-CORE.setting​:39400
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
  from gen/moar/m-CORE.setting​:39376
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
  from gen/moar/m-CORE.setting​:39395
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:)
  from gen/moar/m-CORE.setting​:4908
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:push-all)
  from gen/moar/m-CORE.setting​:2697
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:push-until-lazy)
  from gen/moar/m-CORE.setting​:16196
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:reify-until-lazy)
  from gen/moar/m-CORE.setting​:17249
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:join)
  from gen/moar/m-CORE.setting​:2066
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:join)
  from gen/moar/m-CORE.setting​:39395
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
  from gen/moar/m-CORE.setting​:39376
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
  from gen/moar/m-CORE.setting​:39395
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:)
  from gen/moar/m-CORE.setting​:4908
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:push-all)
  from gen/moar/m-CORE.setting​:2697
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:push-until-lazy)
  from gen/moar/m-CORE.setting​:16196
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:reify-until-lazy)
  from gen/moar/m-CORE.setting​:17249
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:join)
  from gen/moar/m-CORE.setting​:2066
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:join)
  from gen/moar/m-CORE.setting​:39395
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
  from gen/moar/m-CORE.setting​:39376
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
  from gen/moar/m-CORE.setting​:39410
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
  from gen/moar/m-CORE.setting​:26815
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:process)
  from gen/moar/m-CORE.setting​:24542
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:)
  from gen/moar/m-CORE.setting​:24540
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:)
  from gen/moar/m-CORE.setting​:24538
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:print_exception)
  from gen/moar/m-CORE.setting​:24630
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:<anon>)
  from gen/moar/stage2/NQPHLL.nqp​:1559
(/opt/rakudo/share/nqp/lib/NQPHLL.moarvm​:command_eval)
  from src/Perl6/Compiler.nqp​:27
(/opt/rakudo/share/nqp/lib/Perl6/Compiler.moarvm​:command_eval)
  from gen/moar/stage2/NQPHLL.nqp​:1499
(/opt/rakudo/share/nqp/lib/NQPHLL.moarvm​:command_line)
  from gen/moar/m-main.nqp​:47
(/opt/rakudo/share/perl6/runtime/perl6.moarvm​:MAIN)
  from gen/moar/m-main.nqp​:38
(/opt/rakudo/share/perl6/runtime/perl6.moarvm​:<mainline>)
  from <unknown>​:1 (/opt/rakudo/share/perl6/runtime/perl6.moarvm​:<main>)
  from <unknown>​:1 (/opt/rakudo/share/perl6/runtime/perl6.moarvm​:<entry>)

@p6rt
Copy link
Author

p6rt commented Oct 10, 2016

From @zoffixznet

Fixed in rakudo/rakudo@3b5ef07cee
Tests added in https://github.com/perl6/roast/blob/412539ab809a769b7bf36df02c4aba8040f95f7e/S04-exceptions/exceptions-json.t#L27

On Wed Oct 05 11​:07​:23 2016, nxadm wrote​:

Hi,

Great job adding JSON error output (lizmat++). This will make tooling a
lot better!

So far it seems to work well, but I found a use case where no JSON is
thrown, but the regular error text. Specifically, the error output is
skipped when a module is loaded that does not exit.

I created some 'error state' modules to test the perl6 syntax support​:
https://github.com/nxadm/syntastic-perl6/tree/JSON_2016.09/t (the code
hasn't yet been ported to support JSON).

Here is the output of for the module_not_found.pm6 where the JSON output
is not thrown​:

~/Code/syntastic-perl6/t$ /opt/rakudo/bin/perl6 -v
This is Rakudo version 2016.09 built on MoarVM version 2016.09
implementing Perl 6.c.

~/Code/syntastic-perl6/t$ cat module_not_found.pm6
unit package ModuleNotFoundTest;
use abcdefghijklmnopqrstuvwxyz1234567891011121314151617181920;

~/Code/syntastic-perl6/t$ RAKUDO_EXCEPTIONS_HANDLER=JSON
/opt/rakudo/bin/perl6 -c module_not_found.pm6
Unhandled exception​: Can't serialize an object of type
CompUnit​::DependencySpecification
at <unknown>​:1
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:throw)
from gen/moar/m-CORE.setting​:819
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:die)
from gen/moar/m-CORE.setting​:807
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:die)
from gen/moar/m-CORE.setting​:39400
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
from gen/moar/m-CORE.setting​:39376
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
from gen/moar/m-CORE.setting​:39395
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:)
from gen/moar/m-CORE.setting​:4908
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:push-all)
from gen/moar/m-CORE.setting​:2697
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:push-until-lazy)
from gen/moar/m-CORE.setting​:16196
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:reify-until-lazy)
from gen/moar/m-CORE.setting​:17249
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:join)
from gen/moar/m-CORE.setting​:2066
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:join)
from gen/moar/m-CORE.setting​:39395
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
from gen/moar/m-CORE.setting​:39376
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
from gen/moar/m-CORE.setting​:39395
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:)
from gen/moar/m-CORE.setting​:4908
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:push-all)
from gen/moar/m-CORE.setting​:2697
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:push-until-lazy)
from gen/moar/m-CORE.setting​:16196
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:reify-until-lazy)
from gen/moar/m-CORE.setting​:17249
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:join)
from gen/moar/m-CORE.setting​:2066
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:join)
from gen/moar/m-CORE.setting​:39395
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
from gen/moar/m-CORE.setting​:39376
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
from gen/moar/m-CORE.setting​:39410
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:to-json)
from gen/moar/m-CORE.setting​:26815
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:process)
from gen/moar/m-CORE.setting​:24542
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:)
from gen/moar/m-CORE.setting​:24540
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:)
from gen/moar/m-CORE.setting​:24538
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:print_exception)
from gen/moar/m-CORE.setting​:24630
(/opt/rakudo/share/perl6/runtime/CORE.setting.moarvm​:<anon>)
from gen/moar/stage2/NQPHLL.nqp​:1559
(/opt/rakudo/share/nqp/lib/NQPHLL.moarvm​:command_eval)
from src/Perl6/Compiler.nqp​:27
(/opt/rakudo/share/nqp/lib/Perl6/Compiler.moarvm​:command_eval)
from gen/moar/stage2/NQPHLL.nqp​:1499
(/opt/rakudo/share/nqp/lib/NQPHLL.moarvm​:command_line)
from gen/moar/m-main.nqp​:47
(/opt/rakudo/share/perl6/runtime/perl6.moarvm​:MAIN)
from gen/moar/m-main.nqp​:38
(/opt/rakudo/share/perl6/runtime/perl6.moarvm​:<mainline>)
from <unknown>​:1 (/opt/rakudo/share/perl6/runtime/perl6.moarvm​:<main>)
from <unknown>​:1 (/opt/rakudo/share/perl6/runtime/perl6.moarvm​:<entry>)

@p6rt
Copy link
Author

p6rt commented Oct 10, 2016

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Oct 10, 2016

@zoffixznet - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Oct 10, 2016
@p6rt p6rt added the Bug label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant