# New Ticket Created by  mt1957 
# Please include the string:  [perl #127696]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=127696 >


L.s.

First I am experimenting without documentation and trying to read code 
from rakudo source to code what I need. It might not be the proper way 
to get a CompUnit into the $*REPO repo-chain.

Suppose I have a module X::Y and it sits in ./mylib. The path is not yet 
known in perl6. All this info must be set at run time so what I did is;

   # These values come from somewhere else
   my $lib = 'mylib';
   my $mod = 'X::Y';

   # Make a repository object
   my $repository = CompUnit::Repository::FileSystem.new(:prefix($lib));

   # Insert it into the $*REPO list
   CompUnit::RepositoryRegistry.use-repository($repository);

   # Then require the module
   require ::($mod);

This produces an error which needed to be send to rakudobug; (btw, the 
symbol XML comes from the imported module which also is imported into 
the code loading that particular module $mod;

P6M Merging GLOBAL symbols failed: duplicate definition of symbol XML
<Internal error while creating backtrace: No such method 'static_id' for 
invocant of type 'NQPRoutine'   in block  at gen/moar/m-CORE.setting 
line 20516
   in method outer-caller-idx at gen/moar/m-CORE.setting line 20532
   in block  at gen/moar/m-CORE.setting line 20550
   in block  at gen/moar/m-CORE.setting line 20548
   in block  at gen/moar/m-CORE.setting line 20542
   in method nice at gen/moar/m-CORE.setting line 20539
   in method Str at gen/moar/m-CORE.setting line 20572
   in method Stringy at gen/moar/m-CORE.setting line 1128
   in sub infix:<~> at gen/moar/m-CORE.setting line 1616
   in block  at gen/moar/m-CORE.setting line 30160
   in code  at gen/moar/m-CORE.setting line 20671
   in block  at gen/moar/m-CORE.setting line 20671
   in method gist at gen/moar/m-CORE.setting line 20665
   in block  at gen/moar/m-CORE.setting line 20944
   in sub print_exception at gen/moar/m-CORE.setting line 20937
.
Please report this as a bug (mail to rakudo...@perl.org)
  and re-run with the --ll-exception command line option
to get more information about your error>



Run as suggested with --ll-exception option gives;

P6M Merging GLOBAL symbols failed: duplicate definition of symbol XML
    at gen/moar/m-ModuleLoader.nqp:177 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/Perl6/ModuleLoader.moarvm:merge_globals:300)
  from gen/moar/m-CORE.setting:18442 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:merge-symbols:63)
  from gen/moar/m-CORE.setting:30082 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:REQUIRE_IMPORT:148)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Actions.pm6:222 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/12/12E7F67FB0111555EF080CB5E075682D58C95C5E::208)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Actions.pm6:185 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/12/12E7F67FB0111555EF080CB5E075682D58C95C5E::96)
  from gen/moar/m-CORE.setting:4083 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:pull-one:256)
  from gen/moar/m-CORE.setting:2457 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:sink-all:20)
  from gen/moar/m-CORE.setting:12911 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:sink:36)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Actions.pm6:183 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/12/12E7F67FB0111555EF080CB5E075682D58C95C5E::47)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Actions.pm6:182 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/12/12E7F67FB0111555EF080CB5E075682D58C95C5E:prelude:171)
  from gen/moar/stage2/QRegex.nqp:1342 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/QRegex.moarvm:!reduce:29)
  from gen/moar/stage2/QRegex.nqp:1303 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/QRegex.moarvm:!cursor_pass:47)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Grammar.pm6:23 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/DA/DA8DDF8223A1C4354B80436DC7DE72DF8DD04CDD:prelude:167)
  from <unknown>:1 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/DA/DA8DDF8223A1C4354B80436DC7DE72DF8DD04CDD::156)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Grammar.pm6:15 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/DA/DA8DDF8223A1C4354B80436DC7DE72DF8DD04CDD:TOP:95)
  from gen/moar/m-CORE.setting:23693 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:parse:168)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml.pm6:107 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/61/612900878A648A7FE050FD33960E94823A5A59DB:parse:365)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml.pm6:71 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/61/612900878A648A7FE050FD33960E94823A5A59DB::42)
  from 
/home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml.pm6:74 
(/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/61/612900878A648A7FE050FD33960E94823A5A59DB:parse-file:66)
  from t/104-xml.t:166  (<ephemeral file>:<unit>:161)
  from t/104-xml.t:1  (<ephemeral file>:<unit-outer>:10)
  from gen/moar/stage2/NQPHLL.nqp:1371 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval:228)
  from src/Perl6/Compiler.nqp:332 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/Perl6/Compiler.moarvm:eval:37)
  from gen/moar/stage2/NQPHLL.nqp:1574 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/NQPHLL.moarvm:evalfiles:91)
  from gen/moar/stage2/NQPHLL.nqp:1468 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval:214)
  from src/Perl6/Compiler.nqp:70 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/Perl6/Compiler.moarvm:command_eval:93)
  from gen/moar/stage2/NQPHLL.nqp:1442 
(/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line:114)
  from gen/moar/m-main.nqp:37 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/perl6.moarvm:MAIN:18)
  from gen/moar/m-main.nqp:33 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/perl6.moarvm:<mainline>:189)
  from <unknown>:1 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/perl6.moarvm:<main>:8)
  from <unknown>:1 
(/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/perl6.moarvm:<entry>:9)


Question is if the above steps are ok to get a module read and parsed. 
The error might disappear when I have solved the problem of clashing 
symbols but the error above is about an internal problem.

Thanks in advance.
Marcel Timmerman

P.s.
This is Rakudo version 2016.02-136-g412d9a4 built on MoarVM version 
2016.02-25-gada3752
implementing Perl 6.c.


Reply via email to