Segmentation fault in Ubuntu x64 Setup 5.3.1



  • Hello,

    first of all I am not sure if this is a bug or a configuration porblem that is why I posted it here first.

    I tried to install precompiled Qt Libararies from the website.
    After I click on Next, it craches with Segmentation fault.

    My machine is a virtual headless server with
    2 GB Ram
    Single Core CPU
    Ubuntu x64 14.04.1 LTS
    Xvfb Display

    I also tried to use pre build package from apt
    but from this installation I could not start qtcreator.
    When I build from Source, qtcreator is able to start but craches when I try to open a project.
    Interesting is that my project compiles and runs without any problems.

    I have read many discussions but did not find a solution.
    It has probably something to do with memory allocation.

    I was not able to debug qtcreator because gdb threw segmentation fualt, too.
    Here is a gdb trace of the setup:

    gdb qt-opensource-linux-x64-5.3.1.run
    GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7
    This GDB was configured as "x86_64-linux-gnu".
    Reading symbols from qt-opensource-linux-x64-5.3.1.run...(no debugging symbols found)...done.
    (gdb) run
    Starting program: /home/niels/qt/qt-opensource-linux-x64-5.3.1.run
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    [New Thread 0x7ffff3678700 (LWP 1913)]
    [New Thread 0x7ffff2bc1700 (LWP 1914)]

    Program received signal SIGSEGV, Segmentation fault.
    0x0000000000662223 in QTJSC::ExecutablePool::systemAlloc(unsigned long) ()

    (gdb) where
    #0 0x0000000000662223 in QTJSC::ExecutablePool::systemAlloc(unsigned long) ()
    #1 0x00000000006b02e3 in QTJSC::JSGlobalData::JSGlobalData(bool) ()
    #2 0x00000000006b0a6c in QTJSC::JSGlobalData::create() ()
    #3 0x0000000000611927 in QScriptEnginePrivate::QScriptEnginePrivate() ()
    #4 0x00000000006127fe in QScriptEngine::QScriptEngine(QObject*) ()
    #5 0x00000000004a9cb8 in QInstaller::ScriptEngine::ScriptEngine(QInstaller::PackageManagerCore*) ()
    #6 0x0000000000455d9c in QInstaller::PackageManagerCorePrivate::componentScriptEngine() const ()
    #7 0x000000000049a5f9 in QInstaller::Component::loadComponentScript(QString const&) ()
    #8 0x000000000049b9bc in QInstaller::Component::loadComponentScript() ()
    #9 0x0000000000468e66 in QInstaller::PackageManagerCorePrivate::buildComponentTree(QHash<QString, QInstaller::Component*>&, bool) ()
    #10 0x000000000044a62e in QInstaller::PackageManagerCore::fetchAllPackages(QListKDUpdater::Update* const&, QHash<QString, KDUpdater::PackageInfo> const&) ()
    #11 0x000000000045032e in QInstaller::PackageManagerCore::fetchRemotePackagesTree() ()
    #12 0x000000000042d0f1 in IntroductionPageImpl::validatePage() ()
    #13 0x0000000000d4a8c7 in QWizard::next() ()
    [...]

    last line of strace qt-opensource-linux-x64-5.3.1.run
    mmap(NULL, 2147483648, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)

    why does it try to allocate 2GB memory ?

    strace qtcreator (own build)
    [...]
    stat("/home/niels/qt/qt-creator-opensource-src-3.2.0/share/qtcreator/qml-type-descriptions/qbs-bundle.json", {st_mode=S_IFREG|0644, st_size=305, ...}) = 0
    open("/home/niels/qt/qt-creator-opensource-src-3.2.0/share/qtcreator/qml-type-descriptions/qbs-bundle.json", O_RDONLY|O_CLOEXEC) = 18
    fcntl(18, F_SETFD, FD_CLOEXEC) = 0
    fstat(18, {st_mode=S_IFREG|0644, st_size=305, ...}) = 0
    fstat(18, {st_mode=S_IFREG|0644, st_size=305, ...}) = 0
    fstat(18, {st_mode=S_IFREG|0644, st_size=305, ...}) = 0
    read(18, "{\n "name": "qbs",\n "search"..., 16384) = 305
    read(18, "", 16079) = 0
    mmap(NULL, 2147483648, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
    --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xbbadbeef} ---
    +++ killed by SIGSEGV (core dumped) +++

    Again 2GB ????

    strace qtcreator (repository)
    openat(AT_FDCWD, "/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 17
    statfs("/", {f_type=0x565a4653, f_bsize=4096, f_blocks=12500000, f_bfree=8499470, f_bavail=8499470, f_files=250000, f_ffree=61885, f_fsid={-1280375273, -1264953772}, f_namelen=255, f_frsize=4096}) = 0
    getdents(17, /* 27 entries /, 32768) = 704
    getdents(17, /
    0 entries */, 32768) = 0
    close(17) = 0
    openat(AT_FDCWD, "/qch", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
    clock_gettime(CLOCK_MONOTONIC, {2608050, 303164993}) = 0
    poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}])
    writev(3, [{"\17\0\2\0\17\0\0\1", 8}], 1) = 8
    futex(0x200f0e8, FUTEX_WAKE_PRIVATE, 1) = 1
    futex(0x7fff12a438c0, FUTEX_WAKE_PRIVATE, 1) = 1
    futex(0x7fff12a438c4, FUTEX_WAIT_PRIVATE, 1, NULL) = -1 EAGAIN (Resource temporarily unavailable)
    futex(0x200f0e8, FUTEX_WAKE_PRIVATE, 1) = 0
    write(5, "\1\0\0\0\0\0\0\0", 8) = 8
    write(5, "\1\0\0\0\0\0\0\0", 8) = 8
    --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7f075044c000} ---
    +++ killed by SIGSEGV (core dumped) +++

    I hope you can help me or at least provide a workaround for qtcreator.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    I'd recommend asking this on the Qt-creator mailing list. You'll find there Qt Creator's developers/maintainers. This forum is more user oriented.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.