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

Unable to submit reports on FreeBSD-12: 'missing module' or 'fact submission failed' #98

Closed
jkeenan opened this issue May 2, 2021 · 6 comments

Comments

@jkeenan
Copy link
Contributor

jkeenan commented May 2, 2021

As originally reported elsewhere, when I attempt to send CPANtesters reports on FreeBSD-12, I do not succeed.

I. On FreeBSD-12 I have CPAN::Reporter and Task::CPAN::Reporter installed. In ~/.cpan/CPAN/MyConfig.pm I have set: test_report' => q[1].

But when I use the cpan shell to install or test CPAN distros, no test report is generated or sent. Here is typical output:

cpan[2]> test ExtUtils::ModuleMaker
Running test for module 'ExtUtils::ModuleMaker'
Checksum for /home/jkeenan/.cpan/sources/authors/id/J/JK/JKEENAN/ExtUtils-ModuleMaker-0.63.tar.gz ok
Configuring J/JK/JKEENAN/ExtUtils-ModuleMaker-0.63.tar.gz with Makefile.PL

CPAN::Reporter: error loading Test::Reporter::Transport::Metabase.
Please install the missing module or choose a different transport mechanism.

Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::ModuleMaker
Writing MYMETA.yml and MYMETA.json
(/usr/local/bin/perl Makefile.PL exited with 0)
CPAN::Reporter: Makefile.PL result is 'pass', No errors.
  JKEENAN/ExtUtils-ModuleMaker-0.63.tar.gz
  /usr/local/bin/perl Makefile.PL -- OK
Running make for J/JK/JKEENAN/ExtUtils-ModuleMaker-0.63.tar.gz

CPAN::Reporter: error loading Test::Reporter::Transport::Metabase.
Please install the missing module or choose a different transport mechanism. 

II. Stumbling around I came to this web site: https://metabase.cpantesters.org/api/v1/

I then modified my ~/.cpanreporter/config.ini file to read:

edit_report=default:ask/no pass/na:no
email_from=jkeenan@cpan.org
send_report=default:ask/yes pass/na:yes
#transport=Metabase uri https://metabase.cpantesters.org/api/v1/ id_file metabase_id.json
transport=Metabase uri https://metabase.cpantesters.org/api/v1/submit/CPAN-Testers-Report id_file metabase_id.json

I then went into the cpan shell and called test on one of my own distros. I got no better results:

CPAN::Reporter: Test result is 'pass', All tests successful.
CPAN::Reporter: preparing a CPAN Testers report for List-Compare-0.55
CPAN::Reporter: sending test report with 'pass' via Metabase
CPAN::Reporter: Test::Reporter: error from 'Test::Reporter::Transport::Metabase:'
fact submission failed: Not Found at /usr/local/lib/perl5/site_perl/Metabase/Client/Simple.pm line 129.
    Metabase::Client::Simple::submit_fact(Metabase::Client::Simple=HASH(0x80bc8ebe8), CPAN::Testers::Report=HASH(0x80c026960)) called at /usr/local/lib/perl5/site_perl/Test/Reporter/Transport/Metabase.pm line 122
    Test::Reporter::Transport::Metabase::send(Test::Reporter::Transport::Metabase=HASH(0x814193540), Test::Reporter=HASH(0x814081cf0)) called at /usr/local/lib/perl5/site_perl/Test/Reporter.pm line 272
    eval {...} called at /usr/local/lib/perl5/site_perl/Test/Reporter.pm line 272
    Test::Reporter::send(Test::Reporter=HASH(0x814081cf0)) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 495
    CPAN::Reporter::_dispatch_report(HASH(0x814192fa8)) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 107
    CPAN::Reporter::grade_test(CPAN::Distribution=HASH(0x812d7df78), "/usr/bin/make test", ARRAY(0x8142700c0), 0) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 202
    CPAN::Reporter::test(CPAN::Distribution=HASH(0x812d7df78), "/usr/bin/make test") called at /usr/local/lib/perl5/5.32/CPAN/Distribution.pm line 3786
    CPAN::Distribution::test(CPAN::Distribution=HASH(0x812d7df78)) called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 484
    eval {...} called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 483
    CPAN::Module::rematein(CPAN::Module=HASH(0x810bea7b0), "test") called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 513
    CPAN::Module::test(CPAN::Module=HASH(0x810bea7b0)) called at /usr/local/lib/perl5/5.32/CPAN/Shell.pm line 1901
    CPAN::Shell::rematein("CPAN::Shell", "test", "List::Compare") called at /usr/local/lib/perl5/5.32/CPAN/Shell.pm line 2068
    CPAN::Shell::__ANON__("CPAN::Shell", "List::Compare") called at /usr/local/lib/perl5/5.32/CPAN.pm line 381
    eval {...} called at /usr/local/lib/perl5/5.32/CPAN.pm line 378
    CPAN::shell() called at /usr/local/lib/perl5/5.32/App/Cpan.pm line 416
    App::Cpan::_process_options("App::Cpan") called at /usr/local/lib/perl5/5.32/App/Cpan.pm line 512
    App::Cpan::run("App::Cpan") called at /usr/local/bin/cpan line 18

The relevant part of /usr/local/lib/perl5/site_perl/Metabase/Client/Simple.pm is:

 92 sub submit_fact {
 93     my ( $self, $fact ) = @_;
 94
...
129     unless ( $res->{success} ) {
130         Carp::confess $self->_error( $res => "fact submission failed" );
131     }

For the record, the last CPANtesters reports I was able to send from this machine were transmitted on Aug 02 2020. I have installed many modules on this machine since then, but Apr 27 2021 was the first time I thought to look for a CPANtesters report being generated.

I originally reported this problem on list in a thread starting at https://www.nntp.perl.org/group/perl.cpan.testers.discuss/2021/04/msg4505.html. However, I got no response whatsoever, nor did I here from anyone when I posted on irc.perl.org #cpantesters-discuss.

This problem appears similar to that reported earlier in #82.

Thank you very much.
Jim Keenan

@karenetheridge
Copy link

129 unless ( $res->{success} ) {

I would suggest dumping the entire content of $res to see what the error was.

@eserte
Copy link
Contributor

eserte commented May 3, 2021

Using https://metabase.cpantesters.org/api/v1/submit/CPAN-Testers-Report as submit URL for sure won't work. Try https://metabase.cpantesters.org/api/v1/submit/instead (already commented out in your ini file).

@jkeenan
Copy link
Contributor Author

jkeenan commented May 3, 2021

Using https://metabase.cpantesters.org/api/v1/submit/CPAN-Testers-Report as submit URL for sure won't work. Try https://metabase.cpantesters.org/api/v1/submit/instead (already commented out in your ini file).

Resetting my configuration:

$ cat ~/.cpanreporter/config.ini 
edit_report=default:ask/no pass/na:no
email_from=jkeenan@cpan.org
send_report=default:ask/yes pass/na:yes
transport=Metabase uri https://metabase.cpantesters.org/api/v1/submit/ id_file metabase_id.json
#transport=Metabase uri https://metabase.cpantesters.org/api/v1/submit/CPAN-Testers-Report id_file metabase_id.json

Running the cpan shell:

$ cpan 
Loading internal logger. Log::Log4perl recommended for better logging
Terminal does not support AddHistory.

To fix that, maybe try>  install Term::ReadLine::Perl


cpan shell -- CPAN exploration and modules installation (v2.27)
Enter 'h' for help.

cpan[1]> test List::Compare
Reading '/home/jkeenan/.cpan/Metadata'
  Database was generated on Wed, 28 Apr 2021 00:17:03 GMT
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/home/jkeenan/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/home/jkeenan/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Mon, 03 May 2021 18:17:03 GMT
.............
  New CPAN.pm version (v2.28) available.
  [Currently running version is v2.27]
  You might want to try
    install CPAN
    reload cpan
  to both upgrade CPAN.pm and run the new version without leaving
  the current session.


...............................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/home/jkeenan/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /home/jkeenan/.cpan/Metadata
Running test for module 'List::Compare'
Checksum for /home/jkeenan/.cpan/sources/authors/id/J/JK/JKEENAN/List-Compare-0.55.tar.gz ok
Scanning cache /home/jkeenan/.cpan/build for sizes
..........................................................................--DONE
[snip]
Configuring J/JK/JKEENAN/List-Compare-0.55.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for List::Compare
Writing MYMETA.yml and MYMETA.json
(/usr/local/bin/perl Makefile.PL exited with 0)
CPAN::Reporter: Makefile.PL result is 'pass', No errors.
  JKEENAN/List-Compare-0.55.tar.gz
  /usr/local/bin/perl Makefile.PL -- OK
Running make for J/JK/JKEENAN/List-Compare-0.55.tar.gz
cp lib/List/Compare/Functional.pm blib/lib/List/Compare/Functional.pm
cp lib/List/Compare/Base/_Auxiliary.pm blib/lib/List/Compare/Base/_Auxiliary.pm
cp lib/List/Compare.pm blib/lib/List/Compare.pm
cp lib/List/Compare/Base/_Engine.pm blib/lib/List/Compare/Base/_Engine.pm
Manifying 4 pod documents
(/usr/bin/make exited with 0)
CPAN::Reporter: make result is 'pass', No errors.
  JKEENAN/List-Compare-0.55.tar.gz
  /usr/bin/make -- OK
Running make test for JKEENAN/List-Compare-0.55.tar.gz
PERL_DL_NONLAZY=1 "/usr/local/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01_oo_lists_dual_reg_sorted.t ......... ok
[snip]
t/91_func_errors.t ...................... ok
All tests successful.
Files=52, Tests=4190,  7 wallclock secs ( 0.36 usr  0.06 sys +  6.16 cusr  0.88 csys =  7.45 CPU)
Result: PASS
(/usr/bin/make test exited with 0)
CPAN::Reporter: Test result is 'pass', All tests successful.
CPAN::Reporter: preparing a CPAN Testers report for List-Compare-0.55
CPAN::Reporter: sending test report with 'pass' via Metabase
CPAN::Reporter: Test::Reporter: error from 'Test::Reporter::Transport::Metabase:'
fact submission failed: Not Found at /usr/local/lib/perl5/site_perl/Metabase/Client/Simple.pm line 129.
	Metabase::Client::Simple::submit_fact(Metabase::Client::Simple=HASH(0x8138573c0), CPAN::Testers::Report=HASH(0x813c07d80)) called at /usr/local/lib/perl5/site_perl/Test/Reporter/Transport/Metabase.pm line 122
	Test::Reporter::Transport::Metabase::send(Test::Reporter::Transport::Metabase=HASH(0x813caac48), Test::Reporter=HASH(0x815a9fd68)) called at /usr/local/lib/perl5/site_perl/Test/Reporter.pm line 272
	eval {...} called at /usr/local/lib/perl5/site_perl/Test/Reporter.pm line 272
	Test::Reporter::send(Test::Reporter=HASH(0x815a9fd68)) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 495
	CPAN::Reporter::_dispatch_report(HASH(0x813c0e198)) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 107
	CPAN::Reporter::grade_test(CPAN::Distribution=HASH(0x80bd24708), "/usr/bin/make test", ARRAY(0x815a9bf30), 0) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 202
	CPAN::Reporter::test(CPAN::Distribution=HASH(0x80bd24708), "/usr/bin/make test") called at /usr/local/lib/perl5/5.32/CPAN/Distribution.pm line 3786
	CPAN::Distribution::test(CPAN::Distribution=HASH(0x80bd24708)) called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 484
	eval {...} called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 483
	CPAN::Module::rematein(CPAN::Module=HASH(0x8117f48d0), "test") called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 513
	CPAN::Module::test(CPAN::Module=HASH(0x8117f48d0)) called at /usr/local/lib/perl5/5.32/CPAN/Shell.pm line 1901
	CPAN::Shell::rematein("CPAN::Shell", "test", "List::Compare") called at /usr/local/lib/perl5/5.32/CPAN/Shell.pm line 2068
	CPAN::Shell::__ANON__("CPAN::Shell", "List::Compare") called at /usr/local/lib/perl5/5.32/CPAN.pm line 381
	eval {...} called at /usr/local/lib/perl5/5.32/CPAN.pm line 378
	CPAN::shell() called at /usr/local/lib/perl5/5.32/App/Cpan.pm line 416
	App::Cpan::_process_options("App::Cpan") called at /usr/local/lib/perl5/5.32/App/Cpan.pm line 512
	App::Cpan::run("App::Cpan") called at /usr/local/bin/cpan line 18


Terminal does not support GetHistory.
Lockfile removed.
  JKEENAN/List-Compare-0.55.tar.gz
  /usr/bin/make test -- OK

No change in results.

@jkeenan
Copy link
Contributor Author

jkeenan commented May 3, 2021

129 unless ( $res->{success} ) {

I would suggest dumping the entire content of $res to see what the error was.

Trimmed output of a script session of cpan session:

$ cat relevant.typescript 
All tests successful.
Files=52, Tests=4190,  7 wallclock secs ( 0.32 usr  0.08 sys +  6.05 cusr  0.95 csys =  7.40 CPU)
Result: PASS
(/usr/bin/make test exited with 0)
CPAN::Reporter: Test result is 'pass', All tests successful.
CPAN::Reporter: preparing a CPAN Testers report for List-Compare-0.55
CPAN::Reporter: sending test report with 'pass' via Metabase
$VAR1 = {
  'content' => '<!DOCTYPE html>
<!-- Request ID: c24a6116 -->
<html>
  <head>
    <title>Page not found (development mode)</title>
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="-1">
    <script src="/mojo/jquery/jquery.js"></script>
    <script src="/mojo/prettify/run_prettify.js"></script>
    <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
    <style>
<!-- snip output of style tag >
    </style>
  </head>
  <body>
    <div id="mojobar">

<!-- snip a lot of mojolicious output >
  </body>
</html>
',
  'url' => bless( do{\(my $o = 'https://89ba905c-cbbf-11e7-9f2a-1860c2004752%3A221a2e0f@metabase.cpantesters.org/api/v1/submit/submit/CPAN-Testers-Report')}, 'URI::https' ),
  'status' => 404,
  'headers' => {
    'date' => 'Mon, 03 May 2021 18:53:31 GMT',
    'x-cache' => 'MISS, MISS',
    'content-length' => '20975',
    'x-cache-hits' => '0, 0',
    'via' => '1.1 varnish, 1.1 varnish',
    'x-served-by' => 'cache-lcy19277-LCY, cache-lga21930-LGA',
    'content-type' => 'text/html;charset=UTF-8',
    'accept-ranges' => 'bytes',
    'connection' => 'keep-alive',
    'server' => 'Mojolicious (Perl)',
    'x-timer' => 'S1620068011.091207,VS0,VE97'
  },
  'protocol' => 'HTTP/1.1',
  'reason' => 'Not Found',
  'success' => ''
};
CPAN::Reporter: Test::Reporter: error from 'Test::Reporter::Transport::Metabase:'
fact submission failed: Not Found at /usr/local/lib/perl5/site_perl/Metabase/Client/Simple.pm line 131.
	Metabase::Client::Simple::submit_fact(Metabase::Client::Simple=HASH(0x80a1e0b40), CPAN::Testers::Report=HASH(0x80a1dff90)) called at /usr/local/lib/perl5/site_perl/Test/Reporter/Transport/Metabase.pm line 122
	Test::Reporter::Transport::Metabase::send(Test::Reporter::Transport::Metabase=HASH(0x81392a198), Test::Reporter=HASH(0x813819258)) called at /usr/local/lib/perl5/site_perl/Test/Reporter.pm line 272
	eval {...} called at /usr/local/lib/perl5/site_perl/Test/Reporter.pm line 272
	Test::Reporter::send(Test::Reporter=HASH(0x813819258)) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 495
	CPAN::Reporter::_dispatch_report(HASH(0x8139d37b0)) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 107
	CPAN::Reporter::grade_test(CPAN::Distribution=HASH(0x8129a65d0), "/usr/bin/make test", ARRAY(0x8139d3438), 0) called at /usr/local/lib/perl5/site_perl/CPAN/Reporter.pm line 202
	CPAN::Reporter::test(CPAN::Distribution=HASH(0x8129a65d0), "/usr/bin/make test") called at /usr/local/lib/perl5/5.32/CPAN/Distribution.pm line 3786
	CPAN::Distribution::test(CPAN::Distribution=HASH(0x8129a65d0)) called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 484
	eval {...} called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 483
	CPAN::Module::rematein(CPAN::Module=HASH(0x810a1b480), "test") called at /usr/local/lib/perl5/5.32/CPAN/Module.pm line 513
	CPAN::Module::test(CPAN::Module=HASH(0x810a1b480)) called at /usr/local/lib/perl5/5.32/CPAN/Shell.pm line 1901
	CPAN::Shell::rematein("CPAN::Shell", "test", "List::Compare") called at /usr/local/lib/perl5/5.32/CPAN/Shell.pm line 2068
	CPAN::Shell::__ANON__("CPAN::Shell", "List::Compare") called at /usr/local/lib/perl5/5.32/CPAN.pm line 381
	eval {...} called at /usr/local/lib/perl5/5.32/CPAN.pm line 378
	CPAN::shell() called at /usr/local/lib/perl5/5.32/App/Cpan.pm line 416
	App::Cpan::_process_options("App::Cpan") called at /usr/local/lib/perl5/5.32/App/Cpan.pm line 512
	App::Cpan::run("App::Cpan") called at /usr/local/bin/cpan line 18


Terminal does not support GetHistory.
Lockfile removed.

@eserte
Copy link
Contributor

eserte commented May 3, 2021

Sorry, you have also to remove "submit/" from the URL. It is just https://metabase.cpantesters.org/api/v1/

@jkeenan
Copy link
Contributor Author

jkeenan commented May 3, 2021

Sorry, you have also to remove "submit/" from the URL. It is just https://metabase.cpantesters.org/api/v1/

$ cat config.ini
edit_report=default:ask/no pass/na:no
email_from=jkeenan@cpan.org
send_report=default:ask/yes pass/na:yes
transport=Metabase uri https://metabase.cpantesters.org/api/v1/ id_file metabase_id.json

Note that this returns me to the key-value pair that I started out with (see the #commented out KVP in section 'II' of my first post in this ticket).

However, it appears to have worked. Two instances, one of test and one of install:

$VAR1 = {
  'content' => '{"guid":"672505ac-ac50-11eb-a9db-ec174318443d"}',
  'success' => 1,
  'reason' => 'Created',
  'status' => 201,
  'headers' => {
    'content-type' => 'application/json;charset=UTF-8',
    'x-cache-hits' => '0, 0',
    'accept-ranges' => 'bytes',
    'server' => 'Mojolicious (Perl)',
    'date' => 'Mon, 03 May 2021 20:44:51 GMT',
    'via' => '1.1 varnish, 1.1 varnish',
    'x-cache' => 'MISS, MISS',
    'x-timer' => 'S1620074690.631440,VS0,VE2220',
    'location' => '/api/v1/guid/672505ac-ac50-11eb-a9db-ec174318443d',
    'content-length' => '47',
    'x-served-by' => 'cache-lcy19263-LCY, cache-lga21963-LGA',
    'connection' => 'keep-alive'
  },
  'url' => bless( do{\(my $o = 'https://89ba905c-cbbf-11e7-9f2a-1860c2004752%3A221a2e0f@metabase.cpantesters.org/api/v1/submit/CPAN-Testers-Report')}, 'URI::https' ),
  'protocol' => 'HTTP/1.1'
};
CPAN::Reporter: Test result is 'pass', All tests successful.
CPAN::Reporter: preparing a CPAN Testers report for Devel-NYTProf-6.09
CPAN::Reporter: sending test report with 'pass' via Metabase
$VAR1 = {
  'success' => 1,
  'reason' => 'Created',
  'status' => 201,
  'protocol' => 'HTTP/1.1',
  'url' => bless( do{\(my $o = 'https://89ba905c-cbbf-11e7-9f2a-1860c2004752%3A221a2e0f@metabase.cpantesters.org/api/v1/submit/CPAN-Testers-Report')}, 'URI::https' ),
  'headers' => {
    'content-type' => 'application/json;charset=UTF-8',
    'date' => 'Mon, 03 May 2021 20:47:56 GMT',
    'via' => '1.1 varnish, 1.1 varnish',
    'server' => 'Mojolicious (Perl)',
    'x-cache-hits' => '0, 0',
    'accept-ranges' => 'bytes',
    'x-timer' => 'S1620074874.739676,VS0,VE2272',
    'x-cache' => 'MISS, MISS',
    'connection' => 'keep-alive',
    'x-served-by' => 'cache-lcy19245-LCY, cache-lga21949-LGA',
    'content-length' => '47',
    'location' => '/api/v1/guid/d4f214a8-ac50-11eb-abc5-6ac84318443d'
  },
  'content' => '{"guid":"d4f214a8-ac50-11eb-abc5-6ac84318443d"}'
};
  JKEENAN/Devel-NYTProf-6.09.tar.gz
  /usr/bin/make test -- OK
Running make install for JKEENAN/Devel-NYTProf-6.09.tar.gz

From the log file:

[2021-05-03T20:47:53Z] [James E Keenan] [pass] [JKEENAN/Devel-NYTProf-6.09.tar.gz] [amd64-freebsd-thread-multi] [perl-v5.32.0] [d4f214a8-ac50-11eb-abc5-6ac84318443d] [2021-05-03T20:47:53Z]
...
[2021-05-03T20:44:49Z] [James E Keenan] [pass] [JKEENAN/List-Compare-0.55.tar.gz] [amd64-freebsd-thread-multi] [perl-v5.32.0] [672505ac-ac50-11eb-a9db-ec174318443d] [2021-05-03T20:44:49Z]

Thank you very much for taking the time to investigate this. I hope to submit more installation-based reports in the future.

@jkeenan jkeenan closed this as completed May 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants