Bug #54510 Some tests fails on HPUX
Submitted: 15 Jun 2010 9:27 Modified: 26 Jul 2010 7:07
Reporter: Alexander Nozdrin Email Updates:
Status: Closed Impact on me:
Category:Tests: Server Severity:S3 (Non-critical)
Version:M3 (Celosia), M4 (Dahlia), 6.0 OS:HP/UX
Assigned to: CPU Architecture:Any
Tags: pb2, test failure
Triage: Needs Triage: D3 (Medium)

[15 Jun 2010 9:27] Alexander Nozdrin
There are a few tests that started to fail regularly on HPUX.
There are three main reasons to fail:

  - Failure to spawn new process:
mysqltest: At line 1505: command "$MYISAMCHK -d $MYSQLD_DATADIR/test/t1" failed

  - Failure to create IPv6 socket:
100612 11:58:09 [ERROR] Can't create IP socket: Protocol not supported

  - Failure to establish a new server connection:
mysqltest: At line 26: Cannot start new thread for query

That might be related to the host configuration.
Few months ago all tests passed.

How to repeat:
Check out PB2.
[15 Jun 2010 12:46] Daniel Fischer
I'm not aware of a reconfiguration. E.g. lit01 (hppa box) has more than a year uptime and the compiler binaries are dated 2005. Now, about those errors...

mysqltest: At line 1505: command "$MYISAMCHK -d $MYSQLD_DATADIR/test/t1" failed

This failure has been recorded consistently on every build in daily-trunk-bugfixing since june 1st, when a build failure on hpux was fixed. Before that fix, hpux builds have consistently failed for some time and no tests were run. I suspect the failure itself is older than that.

The line immediately preceding the failure reads:
... myisamchk: unknown variable 'set-variable=key_buffer=20M'

Which leads me to believe that it's not really a host configuration thing.

Can't create IP socket: Protocol not supported

This also has been consistently appearing since that build failure was fixed.

The error is fairly straight forward, it's exactly what it says, this box is not configured to support ipv6. The test case does include the check_ipv6.inc file so that the test only runs when ipv6 is available; the flaw in that logic is that there is a mysqld option file for the ipv6 test that tells it to bind to :: before that check can be executed. Since ipv6 is not available, the address is invalid and so starting mysqld for this test fails before the include file can be executed.

mysqltest: At line 26: Cannot start new thread for query

This appears to be visible in 5.1-bugteam since May 2nd, when a rather large merge fixed some other problems on hpux that caused test runs to abort. Meaning it likely has been happening before as well but wasn't caught due to too many other failures.

The failure is in a test case that runs send/reap in a loop, and appears to fail after 32 iterations, meaning 64 send/reap pairs. If I had to hazard a guess I'd say that mysqltest fails to properly dispose of finished threads after reap. The default thread limit per process on hpux is 64. It could be increased beyond the 200 required to run this test case, but only barely (maximum is 255 IIRC). I recommend fixing mysqltest instead.
[15 Jun 2010 16:53] Sveta Smirnova
Thank you for the report.

Verified as described based on pushbuild logs (particularly daily-trunk-bugfixing).
[26 Jul 2010 7:07] Alexander Nozdrin
This bug has been split into three bug reports,
since there are three different problems here:
  - Bug#55544 (myisam, myisampack fail on HPUX)
  - Bug#55545 (IPv6 tests fail on HPUX)
  - Bug#55546 (mysqltest fails to create a new thread on HPUX)