← Back to team overview

randgen team mailing list archive

[Bug 1108572] Re: No text from say() or print() within ErrorLogAlarm makes it to the trial/runall log.

 

John, so, I used your testcase on MySQL 5.5.29 and still had the same
issue.

As a test, I installed Log4Perl (sudo perl -MCPAN -e'install
Log::Log4perl') and the error log now contained all the correct
information strings.

To make sure, I uninstall Log4Perl (sudo perl -MCPAN -e 'install
App::pmuninstall' ; sudo /usr/local/bin/pm-uninstall Log::Log4perl) and
re-checked: all info was gone from the log as per the original
description.

So, there is some interaction issue with Log4Perl it seems. Bernt may be
able to help?

Can you re-check on your end with uninstall of log4Perl?

Ftm, I have already updated the RQG manual with this new [workaround?] requirement:
https://github.com/RQG/RQG-Documentation/wiki/RandomQueryGeneratorQuickStart#wiki-43_LogLog4perl_module_required_for_properly_printing_things_for_example_in_ErrorLogAlarm

-- 
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


Follow ups

References