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

Bug#901062: qtbase5-dev: qtbase5-dev: QFile::exists() returns false for existing files?!



Package: qtbase5-dev
Version: 5.10.1+dfsg-7
Severity: normal


Dear Maintainer,
 
did a fresh install of debian sid within docker and stumbled upon this
bug in QFile:
QFile's method exists() returns false even if that file exists.



STEPS TO REPRODUCE:

$ cat << 'EOF' >> /tmp/CMakeLists.txt
cmake_minimum_required(VERSION 3.0)

project(test)

find_package(Qt5Core REQUIRED)

add_executable(tgt main.cpp)

target_link_libraries(tgt Qt5::Core)
EOF

$ cat << 'EOF' >> /tmp/main.cpp
#include <QFile>
#include <QString>
#include <QFileInfo>
#include <iostream>

int main() {
    QString path{"/bin/sh"};
    QFile qf{path};
    QFileInfo qfi{path};
    std::cout << "TRUE:=" << true << std::endl;
    std::cout << "QFile::exists() == " << qf.exists() << std::endl;
    std::cout << "QFileInfo::exists() == " << qfi.exists() << std::endl;
    return 0;
}
EOF

$ cmake .
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/

$ make
Scanning dependencies of target tgt
[ 50%] Building CXX object CMakeFiles/tgt.dir/main.cpp.o
[100%] Linking CXX executable tgt
[100%] Built target tgt

$ ./tgt
TRUE:=1
QFile::exists() == 0
QFileInfo::exists() == 1



EXPECTED RESULT (same as in debian stretch):

$ ./tgt
TRUE:=1
QFile::exists() == 1
QFileInfo::exists() == 1



QFile is quite fundamental to Qt and KDE. For me it prevented
compilation of kdevelop from git because kdevelop uses desktoptojson
(from libkf5coreaddons-dev-bin) during build which fails due to this bug
(QFile is used in line 312 in file
kcoreaddons-5.46.0/src/lib/plugin/desktopfileparser.cpp)..

So far I was unable to locate the bug. QFile's code
(src/corelib/io/qfile.cpp) didn't change much from
qtbase-opensource-src-5.7.1 (stretch) to qtbase-opensource-src-5.10.1
(sid), so my guess is its somewhere in
/src/corelib/io/qabstractfileengine.cpp or even lower.

BUT surprisingly KDE apps like akregator have successfully been build
for debian sid but fail for me/my sid install. They should have suffered
the same problems during build because they also use desktoptojson
during build.

Any ideas?

Cheers
Jakob



-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-6-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968), LANGUAGE=C
(charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: unable to detect

Versions of packages qtbase5-dev depends on:
ii  libgl1-mesa-dev [libgl-dev]    18.0.5-1
ii  libglu1-mesa-dev [libglu-dev]  9.0.0-2.1
ii  libqt5concurrent5              5.10.1+dfsg-7
ii  libqt5core5a                   5.10.1+dfsg-7
ii  libqt5dbus5                    5.10.1+dfsg-7
ii  libqt5gui5                     5.10.1+dfsg-7
ii  libqt5network5                 5.10.1+dfsg-7
ii  libqt5printsupport5            5.10.1+dfsg-7
ii  libqt5sql5                     5.10.1+dfsg-7
ii  libqt5test5                    5.10.1+dfsg-7
ii  libqt5widgets5                 5.10.1+dfsg-7
ii  libqt5xml5                     5.10.1+dfsg-7
ii  libxext-dev                    2:1.3.3-1+b2
ii  qt5-qmake                      5.10.1+dfsg-7
ii  qtbase5-dev-tools              5.10.1+dfsg-7
ii  qtchooser                      64-ga1b6736-5

Versions of packages qtbase5-dev recommends:
ii  libqt5opengl5-dev  5.10.1+dfsg-7

Versions of packages qtbase5-dev suggests:
ii  default-libmysqlclient-dev  1.0.4
pn  firebird-dev                <none>
ii  libegl1-mesa-dev            18.0.5-1
ii  libgl1-mesa-dev             18.0.5-1
ii  libpq-dev                   10.4-2
ii  libsqlite3-dev              3.23.1-1
ii  unixodbc-dev                2.3.6-0.1

-- no debconf information


Reply to: