[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: qtbase5-dev-tools BUG - error while loading shared libraries: libQt5Core.so.5



Hi Lisandro,

On Tue, Jun 05, 2018 at 04:05:07PM -0300, Lisandro Damián Nicanor Pérez Meyer wrote:
> El lunes, 4 de junio de 2018 17:25:40 -03 Ervin Hegedüs escribió:
> [snip] 
> > But the build system is an LXC container, and I couldn't get it
> > from scratch - I had to install then a stable release, and
> > upgrade the full system.
> 
> Some days ago I've read someone having problems with Qt and dbus on an LXC 
> container.
> 
> Problem is, how can one debug this?

some additional info's:


strace output on Qemu system (filtered to libQt5Core with grep):
(this is the working copy of my SID)

1296  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = 3
1296  read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@g\t\0\0\0\0\0@\0\0\0\0\0\0\0000\261O\0\0\0\0\0\0\0\0\0@\0008\0\v\0@\0\0\37\0\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0h\2\0\0\0\0\0\0h\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\320\374F\0\0\0\0\0\320\374F\0\0\0\0\0\320\374F\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\333N\0\0\0\0\0@\333N\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\6\0\0\0P\347N\0\0\0\0\0P\347n\0\0\0\0\0"..., 832) = 832
1296  lseek(3, 5167904, SEEK_SET)       = 5167904
1296  read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\3\0\0\0\21\0\0\0\0\0\0\0", 32) = 32
1296  fstat(3, {st_mode=S_IFREG|0644, st_size=5224752, ...}) = 0
1296  mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa9efcc9000
1296  mmap(NULL, 7335936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa9ef135000
1296  mprotect(0x7fa9ef623000, 2097152, PROT_NONE) = 0
1296  mmap(0x7fa9ef823000, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4ee000) = 0x7fa9ef823000
1296  mmap(0x7fa9ef830000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fa9ef830000
1296  close(3)                          = 0
1296  writev(1, [{iov_base="\t", iov_len=1}, {iov_base="libQt5Core.so.5", iov_len=15}, {iov_base=" => ", iov_len=4}, {iov_base="/usr/lib/x86_64-linux-gnu/libQt5Core.so.5", iov_len=41}, {iov_base=" (0x", iov_len=4}, {iov_base="00007fa9ef135000", iov_len=16}, {iov_base=")\n", iov_len=2}], 7) = 83
1294  read(3, "\tlibQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fa9ef135000)\n\tlibstdc++.so.6 => /usr/lib/x86_64-linux-gnu/", 128) = 128
1294  write(1, "\tlinux-vdso.so.1 (0x00007fffc5fdc000)\n\tlibQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fa9ef135000)\n\tlibstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa9eedb4000)\n\tlibc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007"..., 1024) = 1024


strace output on LXC system (filtered to libQt5Core with grep):
(this one isn't working)

1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = 3
1107  read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@g\t\0\0\0\0\0@\0\0\0\0\0\0\0000\261O\0\0\0\0\0\0\0\0\0@\0008\0\v\0@\0\0\37\0\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0h\2\0\0\0\0\0\0h\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\320\374F\0\0\0\0\0\320\374F\0\0\0\0\0\320\374F\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\333N\0\0\0\0\0@\333N\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\6\0\0\0P\347N\0\0\0\0\0P\347n\0\0\0\0\0"..., 832) = 832
1107  lseek(3, 5167904, SEEK_SET)       = 5167904
1107  read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\3\0\0\0\21\0\0\0\0\0\0\0", 32) = 32
1107  close(3)                          = 0
1107  openat(AT_FDCWD, "tls/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = 3
1107  openat(AT_FDCWD, "/lib/tls/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/lib/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/tls/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/tls/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/tls/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/x86_64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  openat(AT_FDCWD, "/usr/lib/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1107  writev(1, [{iov_base="\t", iov_len=1}, {iov_base="libQt5Core.so.5", iov_len=15}, {iov_base=" => not found\n", iov_len=14}], 3) = 30
1105  <... read resumed> "\tlibQt5Core.so.5 => not found\n\tlibstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb1a9277000)\n", 128) = 111
1105  write(1, "\tlibQt5Core.so.5 => not found\n", 30) = 30

in first case, the loader founds the Qt5Core lib at first try,
but in the second case, it looks up manyother directories. I've
checked the content of /etc/ld.so.conf.d, absolutely same.

I don't know, why it looks at several places.

As you can see, the loader loads same bytes, but in first case,
after it finishes the read, makes an fstat() call, then an
mmap(), then it closes the file.

In the second case, after the read, it closes the .so
immediatelly.


That's what I found, but the cause is unknown.



Thanks,


a.


Reply to: