Your message dated Tue, 23 Dec 2008 14:49:00 +0200 with message-id <4950DE3C.9060905@gmail.com> and subject line closing #509272 has caused the Debian Bug report #509272, regarding libqtcore4: segmentation fault in ~QSettings to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 509272: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=509272 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: nlkt: Segfaults on exit when ~/.config/jackyf directory doesn't exist
- From: Stepan Golosunov <stepan@golosunov.pp.ru>
- Date: Sat, 20 Dec 2008 19:03:23 +0400
- Message-id: <[🔎] 20081220150323.GA28448@sghpc.golosunov.pp.ru>
Package: nlkt Version: 0.3.2.0-2 Severity: normal When ~/.config/jackyf directory does not exist nlkt segfaults on exit (just start nlkt and press "Cancel"). (gdb) run Starting program: /usr/bin/nlkt (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 0xf6ce16c0 (LWP 28700)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xf6ce16c0 (LWP 28700)] 0xf73c8fe2 in QThreadStorageData (this=0x98a3220, func=0xf73c2ed0 <QThreadStorage<unsigned int*>::deleteData(void*)>) at ../../include/QtCore/../../src/corelib/tools/qmap.h:162 162 ../../include/QtCore/../../src/corelib/tools/qmap.h: No such file or directory. in ../../include/QtCore/../../src/corelib/tools/qmap.h Current language: auto; currently c++ (gdb) bt #0 0xf73c8fe2 in QThreadStorageData (this=0x98a3220, func=0xf73c2ed0 <QThreadStorage<unsigned int*>::deleteData(void*)>) at ../../include/QtCore/../../src/corelib/tools/qmap.h:162 #1 0xf73c20d1 in randTLS () at ../../include/QtCore/../../src/corelib/thread/qthreadstorage.h:132 #2 0xf73c22cc in qrand () at global/qglobal.cpp:2402 #3 0xf74635b6 in QTemporaryFileEngine::open (this=0x98782d8, openMode={i = -3582768}) at io/qtemporaryfile.cpp:141 #4 0xf74494c0 in QFile::open (this=0xffc95564, mode={i = -3582700}) at io/qfile.cpp:951 #5 0xf7463b51 in QTemporaryFile::open (this=0x98a3220, flags={i = -148672160}) at io/qtemporaryfile.cpp:669 #6 0xf747ea16 in QConfFile::isWritable (this=0x982c3c0) at io/qtemporaryfile.h:78 #7 0xf7484d83 in QConfFileSettingsPrivate::syncConfFile (this=0x982c230, confFileNo=0) at io/qsettings.cpp:1416 #8 0xf7485a57 in QConfFileSettingsPrivate::sync (this=0x982c230) at io/qsettings.cpp:1358 #9 0xf747bdc1 in QConfFileSettingsPrivate::flush (this=0x982c230) at io/qsettings.cpp:1365 #10 0xf747c449 in ~QSettings (this=0x807bbc8) at io/qsettings.cpp:2723 #11 0xf710dab9 in exit () from /lib/i686/cmov/libc.so.6 #12 0xf70f545d in __libc_start_main () from /lib/i686/cmov/libc.so.6 #13 0x08051811 in ?? () (gdb) bt full #0 0xf73c8fe2 in QThreadStorageData (this=0x98a3220, func=0xf73c2ed0 <QThreadStorage<unsigned int*>::deleteData(void*)>) at ../../include/QtCore/../../src/corelib/tools/qmap.h:162 No locals. #1 0xf73c20d1 in randTLS () at ../../include/QtCore/../../src/corelib/thread/qthreadstorage.h:132 x = (SeedStorage *) 0x98a3220 cleanup = {globalStatic = @0x0} #2 0xf73c22cc in qrand () at global/qglobal.cpp:2402 pseed = <value optimized out> #3 0xf74635b6 in QTemporaryFileEngine::open (this=0x98782d8, openMode={i = -3582768}) at io/qtemporaryfile.cpp:141 d = (class QFSFileEnginePrivate * const) 0x988cb30 qfilename = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 28}, alloc = 0, size = 0, data = 0x807b8aa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 2}, alloc = 0, size = 0, data = 0xf759f14e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x9854ed0, static codecForCStrings = 0x0} filename = 0x9836398 "/home/stepan/.config/jackyf/nlkt.conf.X28700" fd = <value optimized out> #4 0xf74494c0 in QFile::open (this=0xffc95564, mode={i = -3582700}) at io/qfile.cpp:951 err = <value optimized out> #5 0xf7463b51 in QTemporaryFile::open (this=0x98a3220, flags={i = -148672160}) at io/qtemporaryfile.cpp:669 d = (QTemporaryFilePrivate * const) 0x98a3ea0 #6 0xf747ea16 in QConfFile::isWritable (this=0x982c3c0) at io/qtemporaryfile.h:78 dir = {d_ptr = 0x98a8258} file = {<QFile> = {<QIODevice> = {<QObject> = {_vptr.QObject = 0xf759c888, static staticMetaObject = {d = { superdata = 0x0, stringdata = 0xf7548e00 "QObject", data = 0xf7548e80, extradata = 0x0}}, d_ptr = 0x98a3ea0, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0xf7551f20 "Qt", data = 0xf7553bc0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x807b960, stringdata = 0xf7557180 "QIODevice", data = 0xf75571e0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0xf759c7c8, stringdata = 0xf7557120 "QFile", data = 0xf7557140, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0xf759c728, stringdata = 0xf7557280 "QTemporaryFile", data = 0xf75572a0, extradata = 0x0}}} fileInfo = {d_ptr = 0x9869aa8} #7 0xf7484d83 in QConfFileSettingsPrivate::syncConfFile (this=0x982c230, confFileNo=0) at io/qsettings.cpp:1416 confFile = (QConfFile *) 0x982c3c0 ---Type <return> to continue, or q <return> to quit--- readOnly = false ok = <value optimized out> file = {<QIODevice> = {<QObject> = {_vptr.QObject = 0xf759c748, static staticMetaObject = {d = { superdata = 0x0, stringdata = 0xf7548e00 "QObject", data = 0xf7548e80, extradata = 0x0}}, d_ptr = 0x988dad0, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0xf7551f20 "Qt", data = 0xf7553bc0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x807b960, stringdata = 0xf7557180 "QIODevice", data = 0xf75571e0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0xf759c7c8, stringdata = 0xf7557120 "QFile", data = 0xf7557140, extradata = 0x0}}} fileInfo = {d_ptr = 0x982d028} #8 0xf7485a57 in QConfFileSettingsPrivate::sync (this=0x982c230) at io/qsettings.cpp:1358 locker = {{mtx = 0x982c3e5, val = 159564773}} confFile = <value optimized out> i = 0 #9 0xf747bdc1 in QConfFileSettingsPrivate::flush (this=0x982c230) at io/qsettings.cpp:1365 No locals. #10 0xf747c449 in ~QSettings (this=0x807bbc8) at io/qsettings.cpp:2723 No locals. #11 0xf710dab9 in exit () from /lib/i686/cmov/libc.so.6 No symbol table info available. #12 0xf70f545d in __libc_start_main () from /lib/i686/cmov/libc.so.6 No symbol table info available. #13 0x08051811 in ?? () No symbol table info available. (gdb) continue Continuing. Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. On subsequent calls this usually does not happen as nlkt manages to create directory before segfault. I tried to do similar thing with arora and fet (both depend on libqtcore4) but they did not crash. -- System Information: Debian Release: 5.0 APT prefers testing APT policy: (900, 'testing') Architecture: i386 (x86_64) Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores) Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages nlkt depends on: ii fortune-mod 1:1.99.1-3.1 provides fortune cookies on demand ii libc6 2.7-16 GNU C Library: Shared libraries ii libgcc1 1:4.3.2-1 GCC support library ii libqtcore4 4.4.3-1 Qt 4 core module ii libqtgui4 4.4.3-1 Qt 4 GUI module ii libqwt5-qt4 5.1.1-1 Qt4 widgets library for technical ii libstdc++6 4.3.2-1 The GNU Standard C++ Library v3 ii ttf-dejavu-core 2.25-3 Vera font family derivate with add nlkt recommends no packages. Versions of packages nlkt suggests: ii fortunes 1:1.99.1-3.1 Data files containing fortune cook pn fortunes-de <none> (no description available) ii fortunes-debian-hints 1.9 Debian Hints for fortune pn fortunes-ru <none> (no description available) -- no debconf information
--- End Message ---
--- Begin Message ---
- To: 509272-done@bugs.debian.org
- Subject: closing #509272
- From: "Eugene V. Lyubimkin" <jackyf.devel@gmail.com>
- Date: Tue, 23 Dec 2008 14:49:00 +0200
- Message-id: <4950DE3C.9060905@gmail.com>
Hello. During the discussion with Qt support engineer I was been pointed to the sentence in Qt documentation saying "QSettings variables can be created on stack or in the heap". As global variables use data segment, this implicitly says that global variables of type QSettings is prohibited. I'm closing this bug. -- Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com Ukrainian C++ Developer, Debian Maintainer, APT contributorAttachment: signature.asc
Description: OpenPGP digital signature
--- End Message ---