[tlbuild] Gregorio test failures

Mojca Miklavec mojca.miklavec.lists at gmail.com
Fri Jan 22 16:21:12 CET 2016


On 22 January 2016 at 15:45, Jakub Jelinek wrote:
> On Fri, Jan 22, 2016 at 03:33:44PM +0100, Élie Roux wrote:
>> after calling realpath, it might be because Solaris doesn't like the
>> second argument to be NULL... Gnulibs has an implementations:
>
> realpath with NULL last argument used to be implementation defined, only
> starting with IEEE Std 1003.1, 2004 the behavior of NULL last argument
> has been defined by the POSIX standard.  On the other side, always using
> there a fixed PATH_MAX sized buffer is undesirable for modern systems.
> So best would be to check (in autoconf, or header macros, etc.) if
> realpath with NULL last argument works, and use it, otherwise use either
> non-NULL argument with fixed sized buffer, or use gregorio's own realpath
> implementation instead.
>
>> > Also, if I try to go a few folders up and then run gregorio, it crashes:
>> >
>> >> ./source/Work/texk/gregorio/gregorio -o factus.gtex /path/to/texlive/Build/source/texk/gregorio/gregorio-src/doc/factus.gabc
>> > lstat(./gregorio) failed ...
>> > ./gregorio: No such file or directory
>> > Assertion failed: ret, file ../../../texk/kpathsea/progname.c, line
>> > 316, function remove_dots
>> > Abort (core dumped)
>
> Maybe running this under strace (or Solaris truss) could show up what is
> going on.

I leave it up to you to interpret results, I don't understand it. (But
I would suspect that gregorio somehow tries to locate itself once it
has already been started and fails to find its own location. If I
create a random file called "gregorio" in current dir, the program no
longer crashes. Still, that's very weird.)

> truss ./source/Work/texk/gregorio/gregorio -o factus.gtex /home/me/app/texlive/Build/source/texk/gregorio/gregorio-src/doc/factus.gabc
execve("source/Work/texk/gregorio/gregorio", 0xFFBFFA74, 0xFFBFFA88)  argc = 4
sysinfo(SI_MACHINE, "sun4v", 257)               = 6
mmap(0x00000000, 32, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF3E0000
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1,
0) = 0xFF390000
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1,
0) = 0xFF380000
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF370000
memcntl(0xFF3A0000, 18176, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
memcntl(0x00010000, 22956, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
getcwd("/home/me/app/texlive/Build", 988)    = 0
resolvepath("/home/me/app/texlive/Build/source/Work/texk/gregorio/gregorio",
"/home/me/app/texlive/Build/source/Work/texk/gregorio/gregorio", 1023)
= 64
stat64("/home/me/app/texlive/Build/source/Work/texk/gregorio/gregorio",
0xFFBFF538) = 0
open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
stat64("/opt/csw/lib/libc.so.1", 0xFFBFEC98)    Err#2 ENOENT
stat64("/lib/libc.so.1", 0xFFBFEC98)            = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY)                = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3,
0) = 0xFF360000
mmap(0x00010000, 1368064, PROT_NONE,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF210000
mmap(0xFF210000, 1247149, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFF210000
mmap(0xFF352000, 35965, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 1253376) = 0xFF352000
mmap(0xFF35C000, 1608, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF35C000
munmap(0xFF342000, 65536)                       = 0
munmap(0xFF360000, 32768)                       = 0
close(3)                                        = 0
mmap(0x00000000, 16384, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF360000
memcntl(0xFF210000, 146112, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF200000
getcontext(0xFFBFF3A8)
getrlimit(RLIMIT_STACK, 0xFFBFF388)             = 0
getpid()                                        = 14554 [14553]
setustack(0xFF202A88)
brk(0x000A3C58)                                 = 0
brk(0x000A5C58)                                 = 0
stat64("/usr/bin/gregorio", 0xFFBFF898)         Err#2 ENOENT
stat64("/usr/sbin/gregorio", 0xFFBFF898)        Err#2 ENOENT
stat64("/sbin/gregorio", 0xFFBFF898)            Err#2 ENOENT
stat64("/usr/ccs/bin/gregorio", 0xFFBFF898)     Err#2 ENOENT
stat64("/usr/dt/bin/gregorio", 0xFFBFF898)      Err#2 ENOENT
stat64("/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1",
0xFFBFEB00) = 0
resolvepath("/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1",
"/platform/sun4v/lib/libc_psr.so.1", 1023) = 33
open("/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1", O_RDONLY) = 3
mmap(0x00010000, 9244, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3,
0) = 0xFF1F0000
munmap(0xFF1F2000, 1052)                        = 0
close(3)                                        = 0
stat64("/usr/openwin/bin/gregorio", 0xFFBFF898) Err#2 ENOENT
stat64("/opt/SUNWspro/bin/gregorio", 0xFFBFF898) Err#2 ENOENT
stat64("/opt/bop/bin/gregorio", 0xFFBFF898)     Err#2 ENOENT
stat64("/opt/csw/bin/gregorio", 0xFFBFF898)     Err#2 ENOENT
stat64("/usr/sfw/bin/gregorio", 0xFFBFF898)     Err#2 ENOENT
stat64("/usr/sfw/sbin/gregorio", 0xFFBFF898)    Err#2 ENOENT
lstat64(".", 0xFFBFD7A0)                        = 0
lstat64("./gregorio", 0xFFBFD7A0)               Err#2 ENOENT
fstat64(2, 0xFFBFC648)                          = 0
lstat(write(2, " l s t a t (", 6)                       = 6
./gregoriowrite(2, " . / g r e g o r i o", 10)          = 10
) failed ...
write(2, " )   f a i l e d   . . .".., 13)      = 13
./gregoriowrite(2, " . / g r e g o r i o", 10)          = 10
: write(2, " :  ", 2)                           = 2
No such file or directorywrite(2, " N o   s u c h   f i l e".., 25)     = 25

write(2, "\n", 1)                               = 1
Assertion failed: ret, file ../../../texk/kpathsea/progname.c, line
316, function remove_dots
write(2, " A s s e r t i o n   f a".., 94)      = 94
schedctl()                                      = 0xFF34E000
sigaction(SIGABRT, 0x00000000, 0xFFBFF5B8)      = 0
sigaction(SIGABRT, 0xFFBFF468, 0xFFBFF508)      = 0
sigfillset(0xFF35B3BC)                          = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
lwp_kill(1, SIGABRT)                            = 0
    Received signal #6, SIGABRT [default]
      siginfo: SIGABRT pid=14554 uid=11047 code=-1



More information about the tlbuild mailing list