Bug 328885 - Semikolon kills KDevelop4
Summary: Semikolon kills KDevelop4
Status: RESOLVED DUPLICATE of bug 328271
Alias: None
Product: kate
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE RPMs Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-12-16 23:07 UTC by Jonas Oberhauser
Modified: 2013-12-17 12:20 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonas Oberhauser 2013-12-16 23:07:10 UTC
Application: kdevelop (4.5.2)
KDE Platform Version: 4.11.3
Qt Version: 4.8.5
Operating System: Linux 3.11.6-4-desktop x86_64
Distribution: "openSUSE 13.1 (Bottle) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

I was creating and editing a file. When typing semikolon in that file, the application crashes (completely reproducible). The application does not crash in other files when typing semikolon or when typing another letter on the keyboard. The application crashed independent of whether I saved the file or not (i.e., both as a 'untitled' and saved file). When I create new files, they show the same behavior. Rebooting has no effect (neither rebooting the app nor the OS).

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ffc4769a880 (LWP 1894))]

Thread 13 (Thread 0x7ffc29370700 (LWP 1895)):
#0  0x00007ffc43d9e458 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffc453a7b44 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007ffc4123e45b in ?? () from /usr/lib64/libkdevplatformlanguage.so.7
#3  0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#5  0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 12 (Thread 0x7ffc19793700 (LWP 1898)):
#0  0x00007ffff55fe7c2 in clock_gettime ()
#1  0x00007ffc440a4a0d in clock_gettime () from /lib64/libc.so.6
#2  0x00007ffc453fbe47 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007ffc454d5405 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007ffc454d3bac in ?? () from /usr/lib64/libQtCore.so.4
#5  0x00007ffc454d3c55 in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007ffc3dfe2cad in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#7  0x00007ffc3dfe3523 in ?? () from /usr/lib64/libglib-2.0.so.0
#8  0x00007ffc3dfe370c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#9  0x00007ffc454d3d76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#10 0x00007ffc454a5d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#11 0x00007ffc454a6005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#12 0x00007ffc453a4fef in QThread::exec() () from /usr/lib64/libQtCore.so.4
#13 0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#14 0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#15 0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 11 (Thread 0x7ffc18f92700 (LWP 1899)):
#0  0x00007ffff55fe7c2 in clock_gettime ()
#1  0x00007ffc440a4a0d in clock_gettime () from /lib64/libc.so.6
#2  0x00007ffc453fbe47 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007ffc454d5405 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007ffc454d3bac in ?? () from /usr/lib64/libQtCore.so.4
#5  0x00007ffc454d3c55 in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007ffc3dfe2cad in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#7  0x00007ffc3dfe3523 in ?? () from /usr/lib64/libglib-2.0.so.0
#8  0x00007ffc3dfe370c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#9  0x00007ffc454d3d76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#10 0x00007ffc454a5d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#11 0x00007ffc454a6005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#12 0x00007ffc453a4fef in QThread::exec() () from /usr/lib64/libQtCore.so.4
#13 0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#14 0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#15 0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7ffc17f54700 (LWP 1904)):
#0  0x00007ffc43d9e0af in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffc405a38cb in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7ffc408a1f00 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007ffc405a3909 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#4  0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7ffb937da700 (LWP 1926)):
#0  0x00007ffff55fe7c2 in clock_gettime ()
#1  0x00007ffc440a4a0d in clock_gettime () from /lib64/libc.so.6
#2  0x00007ffc453fbe47 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007ffc454d5405 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007ffc454d3bac in ?? () from /usr/lib64/libQtCore.so.4
#5  0x00007ffc454d3c55 in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007ffc3dfe2cad in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#7  0x00007ffc3dfe3523 in ?? () from /usr/lib64/libglib-2.0.so.0
#8  0x00007ffc3dfe370c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#9  0x00007ffc454d3d76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#10 0x00007ffc454a5d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#11 0x00007ffc454a6005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#12 0x00007ffc453a4fef in QThread::exec() () from /usr/lib64/libQtCore.so.4
#13 0x00007ffc45487513 in ?? () from /usr/lib64/libQtCore.so.4
#14 0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#15 0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7ffb93fdb700 (LWP 1934)):
#0  0x00007ffc43d9e0af in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffc3a0cff76 in ?? () from /usr/lib64/libQtWebKit.so.4
#2  0x00007ffc3a0cffa9 in ?? () from /usr/lib64/libQtWebKit.so.4
#3  0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#4  0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7ffb52e89700 (LWP 1935)):
#0  0x00007ffc43d9e0af in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffc39e422cd in ?? () from /usr/lib64/libQtWebKit.so.4
#2  0x00007ffc3a0f7ad6 in ?? () from /usr/lib64/libQtWebKit.so.4
#3  0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#4  0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7ffb52288700 (LWP 1936)):
#0  0x00007ffc4408eb3d in poll () from /lib64/libc.so.6
#1  0x00007ffc3dfe3604 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007ffc3dfe370c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007ffc454d3d76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007ffc454a5d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007ffc454a6005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007ffc453a4fef in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#9  0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7ffb51406700 (LWP 1957)):
#0  0x00007ffff55fe7c2 in clock_gettime ()
#1  0x00007ffc440a4a0d in clock_gettime () from /lib64/libc.so.6
#2  0x00007ffc453fbe47 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007ffc454d5405 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007ffc454d3bac in ?? () from /usr/lib64/libQtCore.so.4
#5  0x00007ffc454d3c55 in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007ffc3dfe2cad in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#7  0x00007ffc3dfe3523 in ?? () from /usr/lib64/libglib-2.0.so.0
#8  0x00007ffc3dfe370c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#9  0x00007ffc454d3d76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#10 0x00007ffc454a5d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#11 0x00007ffc454a6005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#12 0x00007ffc453a4fef in QThread::exec() () from /usr/lib64/libQtCore.so.4
#13 0x00007ffc45487513 in ?? () from /usr/lib64/libQtCore.so.4
#14 0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#15 0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7ffb50404700 (LWP 1992)):
#0  0x00007ffff55fe7c2 in clock_gettime ()
#1  0x00007ffc440a4a0d in clock_gettime () from /lib64/libc.so.6
#2  0x00007ffc453fbe47 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007ffc454d5405 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007ffc454d3bac in ?? () from /usr/lib64/libQtCore.so.4
#5  0x00007ffc454d3c55 in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007ffc3dfe2cad in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#7  0x00007ffc3dfe3523 in ?? () from /usr/lib64/libglib-2.0.so.0
#8  0x00007ffc3dfe370c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#9  0x00007ffc454d3d76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#10 0x00007ffc454a5d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#11 0x00007ffc454a6005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#12 0x00007ffc453a4fef in QThread::exec() () from /usr/lib64/libQtCore.so.4
#13 0x00007ffc45487513 in ?? () from /usr/lib64/libQtCore.so.4
#14 0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#15 0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7ffb4ec04700 (LWP 2192)):
#0  0x00007ffc43d9e0af in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffc453a7b66 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007ffc3ae2a79c in ?? () from /usr/lib64/libthreadweaver.so.4
#3  0x00007ffc3ae2d233 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007ffc3ae2bf4f in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#5  0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#7  0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7ffb4e403700 (LWP 2193)):
#0  0x00007ffc43d9e0af in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffc453a7b66 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007ffc3ae2a79c in ?? () from /usr/lib64/libthreadweaver.so.4
#3  0x00007ffc3ae2d233 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007ffc3ae2bf4f in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#5  0x00007ffc453a768f in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007ffc43d9a0db in start_thread () from /lib64/libpthread.so.0
#7  0x00007ffc4409790d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ffc4769a880 (LWP 1894)):
[KCrash Handler]
#5  0x00007ffc1eae9b10 in contextNum (n=<optimized out>, this=<optimized out>) at /usr/src/debug/kate-4.11.3/part/syntax/katehighlight.h:267
#6  KateDocument::defStyleNum (this=0x2638710, line=<optimized out>, column=<optimized out>) at /usr/src/debug/kate-4.11.3/part/document/katedocument.cpp:5376
#7  0x00007ffc1eb11389 in KateScriptDocument::defStyleNum (this=<optimized out>, line=<optimized out>, column=<optimized out>) at /usr/src/debug/kate-4.11.3/part/script/katescriptdocument.cpp:51
#8  0x00007ffc1eb11409 in KateScriptDocument::isString (this=<optimized out>, line=<optimized out>, column=<optimized out>) at /usr/src/debug/kate-4.11.3/part/script/katescriptdocument.cpp:83
#9  0x00007ffc1ea8f439 in KateScriptDocument::qt_static_metacall (_o=0x61a2df0, _id=1166068000, _id@entry=91, _a=0x7ffff55664f0, _c=<optimized out>) at /usr/src/debug/kate-4.11.3/build/part/moc_katescriptdocument.cpp:407
#10 0x00007ffc1ea904d3 in qt_static_metacall (_a=0x7ffff55664f0, _id=91, _c=QMetaObject::InvokeMetaMethod, _o=0x61a2df0) at /usr/src/debug/kate-4.11.3/build/part/moc_katescriptdocument.cpp:466
#11 KateScriptDocument::qt_metacall (this=0x61a2df0, _c=QMetaObject::InvokeMetaMethod, _id=91, _a=0x7ffff55664f0) at /usr/src/debug/kate-4.11.3/build/part/moc_katescriptdocument.cpp:467
#12 0x00007ffc4060f51d in QScript::callQtMethod (exec=exec@entry=0x7ffb4d208240, callType=callType@entry=QMetaMethod::Method, thisQObject=thisQObject@entry=0x61a2df0, scriptArgs=..., meta=meta@entry=0x7ffc1ee95ea0 <KateScriptDocument::staticMetaObject>, initialIndex=95, maybeOverloaded=true) at bridge/qscriptqobject.cpp:960
#13 0x00007ffc406106c9 in QScript::QtFunction::execute (this=this@entry=0x7ffb4db8bc80, exec=0x7ffb4d208240, thisValue=..., thisValue@entry=..., scriptArgs=...) at bridge/qscriptqobject.cpp:1015
#14 0x00007ffc40610959 in QScript::QtFunction::call (exec=0x7ffb4d208240, callee=0x7ffb4db8bc80, thisValue=..., args=...) at bridge/qscriptqobject.cpp:1030
#15 0x00007ffc40515dc8 in QTJSC::NativeFuncWrapper::operator() (this=this@entry=0x7ffff5566710, exec=0x7ffb4d208240, jsobj=jsobj@entry=0x7ffb4db8bc80, thisValue=..., argList=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/CallData.cpp:46
#16 0x00007ffc404f3d50 in QTJSC::cti_op_call_NotJSFunction (args=0x7ffff5566760) at ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:1780
#17 0x00007ffb9771ea66 in ?? ()
#18 0x0000000000000000 in ?? ()

Reported using DrKonqi
Comment 1 Jonas Oberhauser 2013-12-17 10:35:38 UTC
Under the assumption that kdevelop uses the kate version that is installed, the kate version would be 3.11.3
Comment 2 Milian Wolff 2013-12-17 11:51:45 UTC
Can you attach the file and tell us where you insert the semicolon such that we can reproduce it?
Comment 3 Milian Wolff 2013-12-17 11:53:17 UTC
Also, do you see an assert message on the command line when you reproduce this error, or does it simply crash?
Comment 4 Jonas Oberhauser 2013-12-17 12:16:07 UTC
I don't think the file matters, since it crashes for any new file I create when I press the semikolon key (even in an empty session).

Here is the output in the terminal when I start with "kdevelop &":


KGlobal::locale(): Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work
qrc:/main.qml:23:1: QML Loader: Binding loop detected for property "source"
qrc:/main.qml:23:1: QML Loader: Binding loop detected for property "source"
Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
kdevelop(10252)/konsole Konsole::Session::run: Attempted to re-run an already running session. 
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x3000012
kdevelop(10252) KSambaSharePrivate::findSmbConf: KSambaShare: Could not find smb.conf! 
/usr/bin/cat: /home/adminuser/.kde4/share/apps/kdevelop/sessions/{8fd83778-2262-4bdb-aca8-c62493091567}/default.sh: No such file or directory
kdevelop(10252)/kdevplatform (shell) KDevelop::standardArguments: ARG: "kdevelop" 
kdevelop(10252)/kdevplatform (shell) KDevelop::standardArguments: ARGUMENTS:  () from 1 
KGlobal::locale(): Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work
qrc:/main.qml:23:1: QML Loader: Binding loop detected for property "source"
qrc:/main.qml:23:1: QML Loader: Binding loop detected for property "source"
Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
kdevelop(10397)/kdevplatform (shell) KDevelop::SessionControllerPrivate::performRecovery: Starting recovery from  "/home/adminuser/.kde4/share/apps/kdevelop/sessions/{11dad613-5b2f-4585-ab06-df85f75be24d}/recovery/current" 
kdevelop(10397)/konsole Konsole::Session::run: Attempted to re-run an already running session. 
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x4000012
kdevelop(10397) KSambaSharePrivate::findSmbConf: KSambaShare: Could not find smb.conf! 
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory
QFileSystemWatcher: failed to add paths: /home/adminuser/projects/facerecognizer/zeromqprototype/build/CMakeCache.txt
KCrash: Application 'kdevelop' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/adminuser/.kde4/socket-linux-fftx.site/kdeinit4__0
QProcess: Destroyed while process is still running.
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: Bad file descriptor
QFileSystemWatcher: failed to add paths: /usr/share/cmake/Modules/CMakeUnixFindMake.cmake
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: Bad file descriptor
QFileSystemWatcher: failed to add paths: /usr/share/cmake/Modules/CMakeDetermineSystem.cmake
Comment 5 Dominik Haumann 2013-12-17 12:20:18 UTC

*** This bug has been marked as a duplicate of bug 328271 ***