randgen team mailing list archive
-
randgen team
-
Mailing list archive
-
Message #00214
Re: [Bug 1108572] Re: No text from say() or print() within ErrorLogAlarm makes it to the trial/runall log.
On 01/29/2013 01:48 PM, John H. Embretsen wrote:
> I tried the same on a machine without Log4perl and I see that all output
> from ErrorLogAlarm reporter is missing, both print() and say() calls.
> This happens only with runall.pl (or runall.pl via combinations.pl).
>
> When using runall-new.pl (or combinations.pl using --new option) all
> expected output is present.
>
> I don't know why this is happening...
The snippet:
my $logger;
eval
{
require Log::Log4perl;
Log::Log4perl->import();
$logger = Log::Log4perl->get_logger('randgen.gentest');
};
Must ALWAYS be run. So it is the first thing in all scripts. And in all
base modules, e.g. lib/GenTest.pm. It is required that "use Gentest;"
comes before all "use GenTest::blabla...;" and that "use GenTest;" is in
ALL subclasses (recursively) of GenTest.
Might be a hint to why it does not work (don't know if this is the case
though)
Bernt
--
You received this bug notification because you are a member of Random
Query Generator Team, which is subscribed to Random Query Generator.
https://bugs.launchpad.net/bugs/1108572
Title:
No text from say() or print() within ErrorLogAlarm makes it to the
trial/runall log.
Status in SQL Generator for testing SQL servers (MySQL, JavaDB, PostgreSQL):
Confirmed
Bug description:
Though the ErrorLogAlarm reporter works (and greatly so [I've been
extending it to make it very powerful for finding previously
potentially missed issues]), it does not show any output in the rqg
trial logs when using combinations.pl (have not tested runall.pl yet).
When issues are found, it correctly exists with STATUS_ALARM, but
except for the last two lines:
[...]
# 2013-01-27T11:50:16 Query: ALTER TABLE `table100_innodb_dynamic_int_autoinc` MODIFY `c40` SET('a','b','c') DEFAULT 0 AFTER `c40` failed: 1054 Unknown column
'%s' in 'table%d_innodb_dynamic_int_autoinc'. Further errors of this kind will be suppressed.
# 2013-01-27T11:50:18 Query: ALTER TABLE `table100_innodb_default_int` MODIFY `c6` BINARY AFTER `c6` failed: 1054 Unknown column '%s' in 'table%d_innodb_defau
lt_int'. Further errors of this kind will be suppressed.
# 2013-01-27T11:50:51 gentest.pl exited with exit status STATUS_ALARM (109)
2013-01-27T11:50:51 [3340] runall.pl will exit with exit status STATUS_ALARM (109)
Nothing is reported. In this case, there are some 'higher-up' reports
of impending rqg shutdown:
# 2013-01-27T11:50:46 Child worker process completed successfully.
The error in the log on which ErrorLogAlarm picked up had happened
around 47:56.
So, why did the ErrorLogAlarm not pickup on the issue earlier? And why
did it not print anything in the log at all? Searching for
'ErrorLogAlarm' only gives things like this:
# 2013-01-27T11:46:46 reporters => ['Shutdown', 'Backtrace',
'QueryTimeout', 'ErrorLog', 'ErrorLogAlarm']
(i.e. non-ErrorLogAlarm text), but actual text from ErrorLogAlarm.pm,
for instance:
say("ErrorLogAlarm Reporter will monitor the log file ".$errorlog);
Is not seen at all. One would expect at the very least that to be
there at the start somewhere.
So, summary: no text from say() or print() within ErrorLogAlarm makes
it to the trial/runall log.
To manage notifications about this bug go to:
https://bugs.launchpad.net/randgen/+bug/1108572/+subscriptions
References