After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 743606 - INFO: Test Summary report glib-2.43.3 for AIX
INFO: Test Summary report glib-2.43.3 for AIX
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: build
2.43.x
Other AIX
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2015-01-27 21:21 UTC by Michael Felt
Modified: 2018-05-24 17:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
make check test-suite log (11.18 KB, text/plain)
2015-01-27 21:22 UTC, Michael Felt
Details
results of running gvariant test manually - sometimes SUCCESS, sometimes not (6.86 KB, text/plain)
2015-02-01 20:31 UTC, Michael Felt
Details
CLI testing, grep, etc. to determine a possible root-cause for mappedfile error (7.61 KB, text/plain)
2015-02-01 21:02 UTC, Michael Felt
Details
fixes default directory name for TZDIR for AIX (411 bytes, application/text)
2015-02-01 21:21 UTC, Michael Felt
Details

Description Michael Felt 2015-01-27 21:21:42 UTC
glib-2.43.3 build on AIX 5.3 TL7 using gcc 4.7.3

Some compiler messages, etc..

make check returns:
============================================================================
Testsuite summary for glib 2.43.3
============================================================================
# TOTAL: 3334
# PASS:  3313
# SKIP:  13
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 8
============================================================================
See glib/tests/test-suite.log
Please report to http://bugzilla.gnome.org/enter_bug.cgi?product=glib
============================================================================
Comment 1 Michael Felt 2015-01-27 21:22:32 UTC
Created attachment 295594 [details]
make check test-suite log
Comment 2 Allison Karlitskaya (desrt) 2015-01-28 13:27:09 UTC
hi Michael,

It will be very difficult for us to fix these problems without access to an AIX box or a more detailed description of the specific failures.  Patches are welcome -- particularly if they fix general problems with (for example) POSIX compliance.
Comment 3 Michael Felt 2015-01-28 14:05:15 UTC
Looked at the first reported error:

On AIX, as root, you can chdir even when the x bit is clear, but not as a normal user

Test code:
 ret = g_mkdir ("mkdir-test", 0666);
  g_assert (ret == 0);
  ret = g_stat ("mkdir-test", &buf);
  g_assert (ret == 0);
  g_assert (S_ISDIR (buf.st_mode));

  cwd = g_get_current_dir ();
  path = g_build_filename (cwd, "mkdir-test", NULL);
  g_free (cwd);
  ret = g_chdir (path);
  g_assert (errno == EACCES);
  g_assert (ret == -1);

On line example:
root@x064:[/]mkdir xxx
root@x064:[/]chmod 666 xxx
root@x064:[/]cd xxx
root@x064:[/xxx]su michael
root@x064:[]id
uid=199(michael) gid=1(staff) groups=1(staff)
root@x064:[]pwd
ksh: : Cannot access parent directories.
root@x064:[]cd /
root@x064:[/]cd xxx
ksh: xxx: Permission denied.
root@x064:[/]
root@x064:[/xxx]id
uid=0(root) gid=0(system) groups=0(system),2(bin),3(sys),7(security),8(cron),10(audit),11(lp)
root@x064:[/xxx]

If I understand the test code, even though EACCES is not the errno - the return code is still -1.

While (perhaps) this test should not be run as root - for these reasons - it might be nice to now what the errno is (hopefully not zero).

Question: rather than just report g_assert() failure, is there an accepted way to provide additional output? And/or how can I run only this one group (fileutils) of tests?
And then I will come up with what I hope will be accepted as a good patch.
Comment 4 Michael Felt 2015-01-28 14:17:43 UTC
Second failure in fileutils.c - tap-test

calls ./fileutils -k --tap and fails with an IOT

../../tap-test[6]: 745530 IOT/Abort trap(coredump)
# GLib:ERROR:fileutils.c:853:test_stdio_wrappers: assertion failed: (ret == -1)
ERROR: fileutils - missing test plan
ERROR: fileutils - exited with status 134 (terminated by signal 6?)
root@x064:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]

AIX 5.3 does not have a tap interface. Not sure where/how this is handled by fileutils.c - some help and I will look for a patch.

p.s. since AIX 6.1 TL7 there is a tap device available, but not configured by default.
Comment 5 Dan Winship 2015-01-28 14:21:05 UTC
(In reply to comment #4)
> AIX 5.3 does not have a tap interface.

Not that kind of tap. TAP == Test Anything Protocol. That's just part of the test running stuff. The actual bug here is:

> # GLib:ERROR:fileutils.c:853:test_stdio_wrappers: assertion failed: (ret == -1)

which suggests some call is succeeding under AIX that GLib expects to fail
Comment 6 Michael Felt 2015-01-28 14:37:25 UTC
Actually, except for the EACCES asset failure, it looks as if the ERRORs reported are 4x ../../tap-test failures plus 4x "missing test plan" which seems to be generated whenever any test fails.

So, I "NEEDINFO" on how to react to the tap-test. 

root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]rm gdate*log
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]make gdatetime.log
PASS: gdatetime 1 /GDateTime/invalid
PASS: gdatetime 2 /GDateTime/add_days
PASS: gdatetime 3 /GDateTime/add_full
PASS: gdatetime 4 /GDateTime/add_hours
PASS: gdatetime 5 /GDateTime/add_minutes
PASS: gdatetime 6 /GDateTime/add_months
PASS: gdatetime 7 /GDateTime/add_seconds
PASS: gdatetime 8 /GDateTime/add_weeks
PASS: gdatetime 9 /GDateTime/add_years
PASS: gdatetime 10 /GDateTime/compare
PASS: gdatetime 11 /GDateTime/diff
ERROR: gdatetime - missing test plan
ERROR: gdatetime - exited with status 134 (terminated by signal 6?)
cat gdatetime.log
# random seed: R02Sc986f203644b012acddfc80620bd8589
# Start of GDateTime tests
# Bug Reference: http://bugzilla.gnome.org/702674
ok 1 /GDateTime/invalid
PASS: gdatetime 1 /GDateTime/invalid
ok 2 /GDateTime/add_days
PASS: gdatetime 2 /GDateTime/add_days
ok 3 /GDateTime/add_full
PASS: gdatetime 3 /GDateTime/add_full
ok 4 /GDateTime/add_hours
PASS: gdatetime 4 /GDateTime/add_hours
ok 5 /GDateTime/add_minutes
PASS: gdatetime 5 /GDateTime/add_minutes
ok 6 /GDateTime/add_months
PASS: gdatetime 6 /GDateTime/add_months
ok 7 /GDateTime/add_seconds
PASS: gdatetime 7 /GDateTime/add_seconds
ok 8 /GDateTime/add_weeks
PASS: gdatetime 8 /GDateTime/add_weeks
ok 9 /GDateTime/add_years
PASS: gdatetime 9 /GDateTime/add_years
ok 10 /GDateTime/compare
**
GLib:ERROR:gdatetime.c:208:test_GDateTime_equal: assertion failed (g_date_time_get_utc_offset (dt1) / G_USEC_PER_SEC == (-3 * 3600)): (0 == -10800)
PASS: gdatetime 10 /GDateTime/compare
ok 11 /GDateTime/diff
PASS: gdatetime 11 /GDateTime/diff
../../tap-test[5]: 225520 IOT/Abort trap(coredump)
# GLib:ERROR:gdatetime.c:208:test_GDateTime_equal: assertion failed (g_date_time_get_utc_offset (dt1) / G_USEC_PER_SEC == (-3 * 3600)): (0 == -10800)
ERROR: gdatetime - missing test plan
ERROR: gdatetime - exited with status 134 (terminated by signal 6?)

+++++++++++++ ADJUST tap-test ++++++++++++++++
FAKE ../../tap-test
#! /bin/sh

# run a GTest in tap mode. The test binary is passed as $1

exit 0
$1 -k --tap

++++++++++ Very Different results - but still get missing test plan ++++

root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]rm gdate*log      
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]make gdatetime.log
ERROR: gdatetime - missing test plan
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]cat gdatetime.log
ERROR: gdatetime - missing test plan
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]

Note: this is repeatable (i.e., with tap-test restored to original full/verbose log file is result.
Comment 7 Michael Felt 2015-01-28 14:48:15 UTC
OK - tap is test any protocol ... :)

tried running fileutils as 'michael'

root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]chown -R michael .
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]rm file*log
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]su michael
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]make fileutils.log
PASS: fileutils 1 /fileutils/build-path
PASS: fileutils 2 /fileutils/build-pathv
PASS: fileutils 3 /fileutils/build-filename
PASS: fileutils 4 /fileutils/build-filenamev
PASS: fileutils 5 /fileutils/mkdir-with-parents
PASS: fileutils 6 /fileutils/format-size-for-display
PASS: fileutils 7 /fileutils/errors
PASS: fileutils 8 /fileutils/basename
PASS: fileutils 9 /fileutils/dir-make-tmp
PASS: fileutils 10 /fileutils/file-open-tmp
PASS: fileutils 11 /fileutils/mkstemp
PASS: fileutils 12 /fileutils/mkdtemp
PASS: fileutils 13 /fileutils/set-contents
PASS: fileutils 14 /fileutils/read-link
ERROR: fileutils - missing test plan
ERROR: fileutils - exited with status 134 (terminated by signal 6?)

root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]cat fileutils.log
# random seed: R02S4299bde1078a6d379ded1cfd4f1752cc
# Start of fileutils tests
ok 1 /fileutils/build-path
PASS: fileutils 1 /fileutils/build-path
ok 2 /fileutils/build-pathv
PASS: fileutils 2 /fileutils/build-pathv
ok 3 /fileutils/build-filename
PASS: fileutils 3 /fileutils/build-filename
ok 4 /fileutils/build-filenamev
PASS: fileutils 4 /fileutils/build-filenamev
ok 5 /fileutils/mkdir-with-parents
PASS: fileutils 5 /fileutils/mkdir-with-parents
ok 6 /fileutils/format-size-for-display
PASS: fileutils 6 /fileutils/format-size-for-display
ok 7 /fileutils/errors
PASS: fileutils 7 /fileutils/errors
ok 8 /fileutils/basename
PASS: fileutils 8 /fileutils/basename
ok 9 /fileutils/dir-make-tmp
PASS: fileutils 9 /fileutils/dir-make-tmp
ok 10 /fileutils/file-open-tmp
PASS: fileutils 10 /fileutils/file-open-tmp
ok 11 /fileutils/mkstemp
PASS: fileutils 11 /fileutils/mkstemp
ok 12 /fileutils/mkdtemp
PASS: fileutils 12 /fileutils/mkdtemp
ok 13 /fileutils/set-contents
PASS: fileutils 13 /fileutils/set-contents
**
GLib:ERROR:fileutils.c:853:test_stdio_wrappers: assertion failed: (ret == -1)
ok 14 /fileutils/read-link
PASS: fileutils 14 /fileutils/read-link
../../tap-test[5]: 737428 IOT/Abort trap(coredump)
# GLib:ERROR:fileutils.c:853:test_stdio_wrappers: assertion failed: (ret == -1)
ERROR: fileutils - missing test plan
ERROR: fileutils - exited with status 134 (terminated by signal 6?)

  +840  static void
  +841  test_stdio_wrappers (void)
  +842  {
  +843    GStatBuf buf;
  +844    gchar *cwd, *path;
  +845    gint ret;
  +846    struct utimbuf ut;
  +847    GError *error = NULL;
  +848
  +849    g_remove ("mkdir-test/test-create");
  +850    g_rmdir ("mkdir-test");
  +851
  +852    ret = g_stat ("mkdir-test", &buf);
  +853    g_assert (ret == -1);
  +854    ret = g_mkdir ("mkdir-test", 0666);
  +855    g_assert (ret == 0);
  +856    ret = g_stat ("mkdir-test", &buf);
  +857    g_assert (ret == 0);
  +858    g_assert (S_ISDIR (buf.st_mode));
  +859
  +860    cwd = g_get_current_dir ();
  +861    path = g_build_filename (cwd, "mkdir-test", NULL);
  +862    g_free (cwd);
  +863    ret = g_chdir (path);
  +864    g_assert (errno == EACCES);
  +865    g_assert (ret == -1);


So, as root the test at line 853 passed, because it was the test at 864 that was reported first - and $1 -k --tap (which is, in this case, ./fileutils -k --tap) seems to be ending in a signal 6

#define SIGABRT    6    /* (*) abort process */

Suggestions?
Comment 8 Michael Felt 2015-01-28 15:05:09 UTC
OK - the reason for the failure at line 853 is because there is a core file in mkdir-test, rmdir does not work when it is not empty! :)

So, as root, first cleanup then run test (I have added a fprintf statement, which is why the failure is at 865 rather than 864)

root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]id               
uid=0(root) gid=0(system) groups=0(system),2(bin),3(sys),7(security),8(cron),10(audit),11(lp)
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]ls -lR mkdir-test
mkdir-test:
total 1948
-rw-r--r-- 1 michael system 1987072 Jan 27 20:54 core
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]rm -rf mkdir-test
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]./fileutils             
/fileutils/build-path: OK
/fileutils/build-pathv: OK
/fileutils/build-filename: OK
/fileutils/build-filenamev: OK
/fileutils/mkdir-with-parents: OK
/fileutils/format-size-for-display: OK
/fileutils/errors: OK
/fileutils/basename: OK
/fileutils/dir-make-tmp: OK
/fileutils/file-open-tmp: OK
/fileutils/mkstemp: OK
/fileutils/mkdtemp: OK
/fileutils/set-contents: OK
/fileutils/read-link: OK
/fileutils/stdio-wrappers: test_stdio_wrappers of mkdir-test: -1
**
GLib:ERROR:fileutils.c:865:test_stdio_wrappers: assertion failed: (errno == EACCES)
IOT/Abort trap(coredump)
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]ls -lR mkdir-test
mkdir-test:
total 1944
-rw-r--r-- 1 root system 1983064 Jan 28  2015 core
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]
root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]rm -rf mkdir-test

Now after cleanup, run as michael - and runs as expected.

root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]su michael
michael@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]id
uid=199(michael) gid=1(staff) groups=1(staff)
michael@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]id
michael@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]./fileutils
/fileutils/build-path: OK
/fileutils/build-pathv: OK
/fileutils/build-filename: OK
/fileutils/build-filenamev: OK
/fileutils/mkdir-with-parents: OK
/fileutils/format-size-for-display: OK
/fileutils/errors: OK
/fileutils/basename: OK
/fileutils/dir-make-tmp: OK
/fileutils/file-open-tmp: OK
/fileutils/mkstemp: OK
/fileutils/mkdtemp: OK
/fileutils/set-contents: OK
/fileutils/read-link: OK
/fileutils/stdio-wrappers: test_stdio_wrappers of mkdir-test: -1
OK
michael@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]

It is possible the other errors reported are the result of mkdir-test not being empty!
Comment 9 Michael Felt 2015-01-28 15:49:53 UTC
OK - Gdatetime failure is because AIX 5.3 TL7 does not haev International Time variables such as "Europe/Amsterdam" so there is nothing to resolve

#ifdef G_OS_UNIX
  tz = g_time_zone_new ("America/Recife");
#elif defined G_OS_WIN32
  tz = g_time_zone_new ("E. South America Standard Time");
#endif

Note: I tested ASIS on an AIX 7.1 system - with ICU4C fileset installed, and it still failed - so I expect it will need a compile on such a system to succeed.

Test to come later.
Comment 10 Michael Felt 2015-01-31 11:52:18 UTC
Additional INFO:
I have recompiled on a different system with AIX 6.1 as base and see 6 errors, rather than 8. 

One complication - that I need to verify on the AIX 5.3 system - is that several programs do not find/use ./glib/.libs/libglib-2.0.a, i.e., programs such as
glib/tests/.libs/test-spawn-echo
fail to load because the library does not load. Only after this command:

root@lp01:[/data/prj/gnome/glib-2.43.3]cp ./glib/.libs/libglib-2.0.a /opt/lib

would all programs load.

So, beside the bugs/issues that are due to AIX behavior being different than Linux behavior a number of programs may be using the wrong libglib-2.0.a during testing.

After doing 'rm /opt/lib/libglib-2.0.a' again I get the following diff -u re: test-spawn-echo (seems to be the only program not loading)

+ ERROR: spawn-multithreaded
+ ==========================
+ 
+ # random seed: R02S8adff1393f67adfffd002a88800ed1fa
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ **
+ GLib:ERROR:spawn-multithreaded.c:77:test_spawn_sync_multithreaded_instance: assertion failed (arg == stdout_str): ("thread 5" == "")
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ # Start of gthread tests
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+ exec(): 0509-036 Cannot load libglib-/data/prj/gnome/glib-2. could not be loaded.
+ test-spawn-echo because of the following errors:
+       0509-022 Cannot load module     0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error   0A file or directory : A file or directory in the path name does not exist.
+ ../../tap-test[5]: 5898470 IOT/Abort trap(coredump)
+ # GLib:ERROR:spawn-multithreaded.c:77:test_spawn_sync_multithreaded_instance: assertion failed (arg == stdout_str): ("thread 5" == "")
+ ERROR: spawn-multithreaded - missing test plan
+ ERROR: spawn-multithreaded - exited with status 134 (terminated by signal 6?)
+ 
+ ERROR: spawn-singlethread
+ =========================
+ 
+ # random seed: R02S69867a5430c879e894823d174739d7ae
+ exec(): 0509-036 Cannot load program /data/prj/gnome/glib-2.43.3/glib/tests/.libs/test-spawn-echo because of the following errors:
+       0509-150   Dependent module libglib-2.0.a(libglib-2.0.so.0) could not be loaded.
+       0509-022 Cannot load module libglib-2.0.a(libglib-2.0.so.0).
+       0509-026 System error: A file or directory in the path name does not exist.
+ **
+ GLib:ERROR:spawn-singlethread.c:178:test_spawn_sync: assertion failed (arg == stdout_str): ("thread 1" == "")
+ # Start of gthread tests
+ ../../tap-test[5]: 13041918 IOT/Abort trap(coredump)
+ # GLib:ERROR:spawn-singlethread.c:178:test_spawn_sync: assertion failed (arg == stdout_str): ("thread 1" == "")
+ ERROR: spawn-singlethread - missing test plan
+ ERROR: spawn-singlethread - exited with status 134 (terminated by signal 6?)
+ 
  PASS: testing
  =============

** I shall look deeper into root-cause for the other errors
Comment 11 Michael Felt 2015-02-01 17:19:50 UTC
root-cause for ERROR with 
tz = g_time_zone_new ("America/Recife");

For AIX the TZDIR is "/usr/share/lib/zoneinfo"

diff -ur a/gtimezone.c b/gtimezone.c
--- a/gtimezone.c       2014-12-03 07:03:32.000000000 +0000
+++ b/gtimezone.c       2015-02-01 17:13:37.000000000 +0000
@@ -410,7 +410,11 @@
  
        tzdir = getenv ("TZDIR");
        if (tzdir == NULL)
+ # ifndef _AIX
          tzdir = "/usr/share/zoneinfo";
+ # else
+         tzdir = "/usr/share/lib/zoneinfo";
+ # endif
  
        if (*identifier == ':')
          identifier ++;

Unfortunately, this does not work on AIX 5.3 - because of a later test.

1) AIX 5.3 fileset bos.rte.date does not have info for "America/Recife"
2) Changing the string to "Brazil/East" als fails, but later
with
(.libs/gdatetime:659596): GLib-CRITICAL **: init_zone_from_iana_info: assertion 'size >= sizeof (struct tzhead) && memcmp (header, "TZif", 4) == 0' failed

so I am assuming that TZif != 4 (not sure how to determine that quickly)

It could/would have worked because - I think - because gmtoff is -3 hours:

root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]zdump -c 2016 -v Brazil/East | grep 2015
Brazil/East  Sun Feb  1 13:47:33 2015 CUT
Brazil/East  Sat Feb 14 03:59:59 2015 GMT = Sat Feb 14 00:29:59 2015 CUT isdst=0 gmtoff = -12600
Brazil/East  Sat Feb 14 04:00:00 2015 GMT = Sat Feb 14 00:30:00 2015 CUT isdst=0 gmtoff = -12600
Brazil/East  Fri Oct 23 04:59:59 2015 GMT = Fri Oct 23 01:29:59 2015 CUT isdst=0 gmtoff = -12600
Brazil/East  Fri Oct 23 05:00:00 2015 GMT = Fri Oct 23 01:30:00 2015 CUT isdst=0 gmtoff = -12600

** One down for later than AIX 5.3 **
Comment 12 Michael Felt 2015-02-01 20:29:57 UTC
gvariant is 'failing' regularly, but it is also passing (see attachment gvariant-odd-results.text)

By default AIX is building a 32-bit application, and by default there is "only" 256MByte for the combined .data, .bss and .stack area.

Is it possible that the combined tests are nearing this borderline - because sometimes it passes all, sometimes it does not - and I have seen it fail in different tests.

Ideas?
Comment 13 Michael Felt 2015-02-01 20:31:22 UTC
Created attachment 295898 [details]
results of running gvariant test manually - sometimes SUCCESS, sometimes not
Comment 14 Michael Felt 2015-02-01 21:00:37 UTC
The mappedfile error seems to occur because the user_cache_dir is not made by default if it does not exist.

Maybe I missed something elsewhere - but even after having unpacked, and rebuilt - several times - $HOME/.cache is not made in advance and this test fails when it cannot create a file in /.cache

So, please check my 'mappedfiles-research.text (trying to keep the wall of text down a bit) - maybe I missed something there.

Michael
Comment 15 Michael Felt 2015-02-01 21:02:04 UTC
Created attachment 295899 [details]
CLI testing, grep, etc. to determine a possible root-cause for mappedfile error
Comment 16 Michael Felt 2015-02-01 21:12:10 UTC
The last error I found in the original test-suite.log was:

# End of skip-all tests
# End of misc tests
# Start of forking tests
# testing:ERROR:testing.c:103:test_fork_fail: code should not be reached
ok 21 /forking/fail assertion
PASS: testing 21 /forking/fail assertion
ok 22 /forking/patterns
PASS: testing 22 /forking/patterns

Seems to be resolved - no idea why.

root@x065:[/data/prj/gnome/glib/glib-2.43.3/glib/tests]make testing.log
PASS: testing 1 /random-generator/rand-1
PASS: testing 2 /random-generator/rand-2
PASS: testing 3 /random-generator/random-conversions
PASS: testing 4 /misc/assertions
PASS: testing 5 /misc/test-data
PASS: testing 6 /misc/primetoul
PASS: testing 7 /misc/fatal-log-handler
PASS: testing 8 /misc/expected-messages
PASS: testing 9 /misc/dash-p
PASS: testing 10 /misc/nonfatal
SKIP: testing 11 /misc/skip # SKIP Skipped should count as passed, not failed
PASS: testing 12 /misc/skip-all
PASS: testing 13 /misc/fail
PASS: testing 14 /misc/incomplete
PASS: testing 15 /misc/timeout
PASS: testing 16 /misc/expected-messages/expect-error
PASS: testing 17 /misc/expected-messages/skip-debug
PASS: testing 18 /misc/dash-p/child
PASS: testing 19 /misc/dash-p/child/sub
PASS: testing 20 /misc/dash-p/child/sub2
PASS: testing 21 /forking/fail assertion
PASS: testing 22 /forking/patterns
PASS: testing 23 /trap_subprocess/fail
PASS: testing 24 /trap_subprocess/no-such-test
PASS: testing 25 /trap_subprocess/patterns

I will continue this, but need some suggestions for gvariant, while I suspect the mappedfile test will succeed if I create $HOME/.cache before 'make check' after a fresh make.

The error re: gtimezone.c - I will attach a patch - even though this is perhaps too simple - as it creates a new error on AIX 5.3, but allows gdatetime test to pass on AIX 6.1
Comment 17 Michael Felt 2015-02-01 21:21:50 UTC
Created attachment 295900 [details]
fixes default directory name for TZDIR for AIX

A rather simple patch - as it only fixes part of the problem on AIX 5.3, because the timezone information on AIX 5.3 does not pass a later test.

On AIX 5.3, with a correct TZDIR the glib/tests/gdatatime test fails with:

(/data/prj/gnome/glib/glib-2.43.3/glib/tests/.libs/lt-gdatetime:676014): GLib-CRITICAL **: init_zone_from_iana_info: assertion 'memcmp (header, "TZif", 4) == 0' failed

And as this is a test in the library there is a chance of aborts for applications when ICU timezone info is used (on AIX 5.3).

Note: for debugging I modified the original test to two single tests:

  g_return_if_fail (size >= sizeof (struct tzhead));
  g_return_if_fail (memcmp (header, "TZif", 4) == 0);


so that it is very clear that the failure for AIX 5.3 is coming from the memcmp() test.
Comment 18 Michael Felt 2015-02-02 13:38:45 UTC
From http://www.tablespace.net/papers/unix_time.html

Versions of AIX prior to 6.1 include an Olsen-like database in /usr/share/lib/zoneinfo but they do not use it for system time conversions. These files are not technically TZif files as they are not of the same format but do use zic and zdump utilities to create and display the contents of the compiled files. (Note that AIX 6.1 and later systems actually use Olsen TZif files.)

So, for AIX 5.3 the test will always fail. Is this a good reason to stop all further testing? Yes, if all further tests depend on this, NO, if they do not.

Question: rather than hard-code this default, is it perhaps something to put into ./configure? What is more 'portable' versus more maintainable (doubtful there will be many other exceptions come up anno 2015+)

regards,
Michael

p.s. Not much more INFO I can think to give. If something additional is desired, please ask.
Comment 19 GNOME Infrastructure Team 2018-05-24 17:24:18 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/985.