Bug 64791 - Unsafe query of clipboard in KHTML
Summary: Unsafe query of clipboard in KHTML
Status: RESOLVED DUPLICATE of bug 61412
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-23 11:09 UTC by dag
Modified: 2003-10-10 14:06 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 dag 2003-09-23 11:09:25 UTC
Version:            (using KDE KDE 3.1.4)
Compiler:          3.2.2 
OS:          Linux

The 3.1.4 konqueror will crash when doing the following:

Goto page: https://solo3.nordea.fi/cgi-bin/SOLO0001
Enter the test user and passwords:
User= 123456
Password = 1111

Click on "Uusi maksu" (New payment)
Enter something in the Account (Tilille) and Viite (Ref.) fields
Click on "Hyv
Comment 1 George Staikos 2003-09-23 15:19:58 UTC
Subject: Re:  New: Crash when returning from javascript popup

  Cannot reproduce this.  Please provide a backtrace or this must be closed.

Comment 2 dag 2003-09-23 15:22:01 UTC
Subject: Re:  Crash when returning from javascript popup 

> ------- Additional Comments From staikos@kde.org  2003-09-23 15:19 -------
> Subject: Re:  New: Crash when returning from javascript popup
> 
>   Cannot reproduce this.  Please provide a backtrace or this must be closed.

There is no backtrace as konqueror just disappears, no core, no nothing.
I could try to do a strace though.


Comment 3 dag 2003-09-23 15:34:11 UTC
Subject: Re:  Crash when returning from javascript popup 

> ------- Additional Comments From staikos@kde.org  2003-09-23 15:19 -------
> Subject: Re:  New: Crash when returning from javascript popup
> 
>   Cannot reproduce this.  Please provide a backtrace or this must be closed.

OK. Did the strace and looked around a bit. Found that my 
$HOME/.qt/.qt_plugins_3.2rc.lock and
$HOME/.qt/qt_plugins_3.2rc couldn't be read as I had used KDE as user root, 
but $HOME to
my dir earlier.
Changing owner to myself on these two files got rid of the crash!!
Strange sudden death though.
So you can close the case. Hope someone else can learn from this.


Comment 4 George Staikos 2003-09-23 15:45:39 UTC
Subject: Re:  Crash when returning from javascript popup

On Tuesday 23 September 2003 09:22, dag@newtech.fi wrote:
> > ------- Additional Comments From staikos@kde.org  2003-09-23 15:19
> > ------- Subject: Re:  New: Crash when returning from javascript popup
> >
> >   Cannot reproduce this.  Please provide a backtrace or this must be
> > closed.
>
> There is no backtrace as konqueror just disappears, no core, no nothing.
> I could try to do a strace though.

  Try running it in gdb or from the console to see what happens.

Comment 5 George Staikos 2003-09-23 16:19:10 UTC
Should this be forwarded to trolltech? 
Comment 6 dag 2003-09-23 16:40:12 UTC
Subject: Re:  Crash when returning from javascript popup 

> ------- Additional Comments From staikos@kde.org  2003-09-23 16:19 -------
> Should this be forwarded to trolltech?

I already sent a report to qt-bugs@trolltech.com

Comment 7 dag 2003-09-24 20:00:28 UTC
Subject: Re:  Crash when returning from javascript popup 

We have to reopen this bug because of the following (also sent to trolltech):

I just compiled myself a new 4.3.0 Xfree86 and suddenly the error
is back! And now it doesn't help with any file owner changes.
I just checked a complete  strace of the session and fixed all permissions
and it didn't help.
Still:
QClipboard: internal error, qt_xclb_wait_for_event recursed
zone still contained 57 blocks
and a crash.

Still some more info:

1. You should have javascript enabled in the step by step I gave you.

2. The program seems to crash as everything disappears suddenly, but it is 
really
doing an exit(1) ??
Here is a gdb trace of the things that happen before that exit:

#0  0x411c9b76 in exit () from /lib/libc.so.6
#1  0x40d96283 in qFatal(char const*, ...) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#2  0x40a3437f in qt_xclb_wait_for_event(_XDisplay*, unsigned long, int, 
_XEvent*, int) ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#3  0x40a36d85 in QClipboardWatcher::getDataInFormat(unsigned long) const () 
from /usr/local/qt3/lib/libqt-mt.so.3
#4  0x40a362d9 in QClipboardWatcher::format(int) const () from 
/usr/local/qt3/lib/libqt-mt.so.3
#5  0x40ae195c in QMimeSource::provides(char const*) const () from 
/usr/local/qt3/lib/libqt-mt.so.3
#6  0x41aa9fd4 in KHTMLPartBrowserExtension::updateEditActions() () from 
/usr/local/kde3/lib/libkhtml.so.4
#7  0x41aa9879 in KHTMLPartBrowserExtension::editableWidgetFocused(QWidget*) 
() from /usr/local/kde3/lib/libkhtml.so.4
#8  0x41af2f69 in DOM::HTMLGenericFormElementImpl::defaultEventHandler(DOM::Eve
ntImpl*) ()
   from /usr/local/kde3/lib/libkhtml.so.4
#9  0x41af6412 in DOM::HTMLInputElementImpl::defaultEventHandler(DOM::EventImpl
*) ()
   from /usr/local/kde3/lib/libkhtml.so.4
#10 0x41ac2ea9 in DOM::NodeImpl::dispatchGenericEvent(DOM::EventImpl*, int&) 
() from /usr/local/kde3/lib/libkhtml.so.4
#11 0x41ac2bca in DOM::NodeImpl::dispatchEvent(DOM::EventImpl*, int&, bool) () 
from /usr/local/kde3/lib/libkhtml.so.4
#12 0x41ac341f in DOM::NodeImpl::dispatchUIEvent(int, int) () from 
/usr/local/kde3/lib/libkhtml.so.4
#13 0x41abeb0e in DOM::DocumentImpl::setFocusNode(DOM::NodeImpl*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#14 0x41b249fc in khtml::RenderWidget::eventFilter(QObject*, QEvent*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#15 0x40aec3ae in QObject::activate_filters(QEvent*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#16 0x40aec2d1 in QObject::event(QEvent*) () from /usr/local/qt3/lib/libqt-mt.s
o.3
#17 0x40b22f3c in QWidget::event(QEvent*) () from /usr/local/qt3/lib/libqt-mt.s
o.3
#18 0x40badc3e in QLineEdit::event(QEvent*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#19 0x41b26bce in khtml::LineEditWidget::event(QEvent*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#20 0x40a93465 in QApplication::internalNotify(QObject*, QEvent*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#21 0x40a92b1b in QApplication::notify(QObject*, QEvent*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#22 0x406e4019 in KApplication::notify(QObject*, QEvent*) () from 
/usr/local/kde3/lib/libkdecore.so.4
#23 0x40b20e75 in QWidget::setFocus() () from /usr/local/qt3/lib/libqt-mt.so.3
#24 0x40a94708 in QApplication::setActiveWindow(QWidget*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#25 0x40a2b3ed in QApplication::x11ProcessEvent(_XEvent*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#26 0x40a41127 in QEventLoop::processEvents(unsigned) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#27 0x40a34305 in qt_xclb_wait_for_event(_XDisplay*, unsigned long, int, 
_XEvent*, int) ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#28 0x40a36d85 in QClipboardWatcher::getDataInFormat(unsigned long) const () 
from /usr/local/qt3/lib/libqt-mt.so.3
#29 0x40a362d9 in QClipboardWatcher::format(int) const () from 
/usr/local/qt3/lib/libqt-mt.so.3
#30 0x40ae195c in QMimeSource::provides(char const*) const () from 
/usr/local/qt3/lib/libqt-mt.so.3
#31 0x41aa9fd4 in KHTMLPartBrowserExtension::updateEditActions() () from 
/usr/local/kde3/lib/libkhtml.so.4
#32 0x41aa9879 in KHTMLPartBrowserExtension::editableWidgetFocused(QWidget*) 
() from /usr/local/kde3/lib/libkhtml.so.4
#33 0x41af2f69 in DOM::HTMLGenericFormElementImpl::defaultEventHandler(DOM::Eve
ntImpl*) ()
   from /usr/local/kde3/lib/libkhtml.so.4
#34 0x41af6412 in DOM::HTMLInputElementImpl::defaultEventHandler(DOM::EventImpl
*) ()
   from /usr/local/kde3/lib/libkhtml.so.4
#35 0x41ac2ea9 in DOM::NodeImpl::dispatchGenericEvent(DOM::EventImpl*, int&) 
() from /usr/local/kde3/lib/libkhtml.so.4
#36 0x41ac2bca in DOM::NodeImpl::dispatchEvent(DOM::EventImpl*, int&, bool) () 
from /usr/local/kde3/lib/libkhtml.so.4
#37 0x41ac341f in DOM::NodeImpl::dispatchUIEvent(int, int) () from 
/usr/local/kde3/lib/libkhtml.so.4
#38 0x41abeb0e in DOM::DocumentImpl::setFocusNode(DOM::NodeImpl*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#39 0x41af63d9 in DOM::HTMLInputElementImpl::focus() () from 
/usr/local/kde3/lib/libkhtml.so.4
#40 0x41be359d in DOM::HTMLInputElement::focus() () from 
/usr/local/kde3/lib/libkhtml.so.4
#41 0x41b85f56 in KJS::HTMLElementFunction::tryCall(KJS::ExecState*, 
KJS::Object&, KJS::List const&) ()
   from /usr/local/kde3/lib/libkhtml.so.4
#42 0x41b630fc in KJS::DOMFunction::call(KJS::ExecState*, KJS::Object&, 
KJS::List const&) ()
   from /usr/local/kde3/lib/libkhtml.so.4
#43 0x41969a5d in KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List 
const&) ()
   from /usr/local/kde3/lib/libkjs.so.1
#44 0x4193d2c5 in KJS::FunctionCallNode::value(KJS::ExecState*) const () from 
/usr/local/kde3/lib/libkjs.so.1
#45 0x4194253f in KJS::ExprStatementNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#46 0x4194297f in KJS::IfNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#47 0x4194857a in KJS::SourceElementNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#48 0x41948906 in KJS::SourceElementsNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#49 0x41948839 in KJS::SourceElementsNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#50 0x41947958 in KJS::FunctionBodyNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#51 0x4196456c in KJS::DeclaredFunctionImp::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#52 0x4196395e in KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, 
KJS::List const&) ()
   from /usr/local/kde3/lib/libkjs.so.1
#53 0x41969a5d in KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List 
const&) ()
   from /usr/local/kde3/lib/libkjs.so.1
#54 0x4193d2c5 in KJS::FunctionCallNode::value(KJS::ExecState*) const () from 
/usr/local/kde3/lib/libkjs.so.1
#55 0x4194253f in KJS::ExprStatementNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#56 0x4194857a in KJS::SourceElementNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#57 0x4194880c in KJS::SourceElementsNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#58 0x41947958 in KJS::FunctionBodyNode::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#59 0x4196456c in KJS::DeclaredFunctionImp::execute(KJS::ExecState*) () from 
/usr/local/kde3/lib/libkjs.so.1
#60 0x4196395e in KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, 
KJS::List const&) ()
   from /usr/local/kde3/lib/libkjs.so.1
#61 0x41969a5d in KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List 
const&) ()
   from /usr/local/kde3/lib/libkjs.so.1
#62 0x41bb8486 in KJS::JSEventListener::handleEvent(DOM::Event&) () from 
/usr/local/kde3/lib/libkhtml.so.4
#63 0x41abf22b in DOM::DocumentImpl::defaultEventHandler(DOM::EventImpl*) () 
from /usr/local/kde3/lib/libkhtml.so.4
#64 0x41ac3172 in DOM::NodeImpl::dispatchWindowEvent(int, bool, bool) () from 
/usr/local/kde3/lib/libkhtml.so.4
#65 0x41ae73c6 in DOM::HTMLDocumentImpl::close() () from 
/usr/local/kde3/lib/libkhtml.so.4
#66 0x41a8a76f in KHTMLPart::checkEmitLoadEvent() () from 
/usr/local/kde3/lib/libkhtml.so.4
#67 0x41a89abc in KHTMLPart::slotFinishedParsing() () from 
/usr/local/kde3/lib/libkhtml.so.4
#68 0x41a9efa9 in KHTMLPart::qt_invoke(int, QUObject*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#69 0x40aee890 in QObject::activate_signal(QConnectionList*, QUObject*) () 
from /usr/local/qt3/lib/libqt-mt.so.3
#70 0x40aee6c4 in QObject::activate_signal(int) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#71 0x41abfd6b in DOM::DocumentImpl::finishedParsing() () from 
/usr/local/kde3/lib/libkhtml.so.4
#72 0x41abfe18 in DOM::DocumentImpl::qt_emit(int, QUObject*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#73 0x41ae7f3d in DOM::HTMLDocumentImpl::qt_emit(int, QUObject*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#74 0x40aee8c5 in QObject::activate_signal(QConnectionList*, QUObject*) () 
from /usr/local/qt3/lib/libqt-mt.so.3
#75 0x40aee6c4 in QObject::activate_signal(int) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#76 0x41ad204b in Tokenizer::finishedParsing() () from 
/usr/local/kde3/lib/libkhtml.so.4
#77 0x41adf440 in khtml::HTMLTokenizer::end() () from 
/usr/local/kde3/lib/libkhtml.so.4
#78 0x41adf75d in khtml::HTMLTokenizer::finish() () from 
/usr/local/kde3/lib/libkhtml.so.4
#79 0x41abbcdc in DOM::DocumentImpl::finishParsing() () from 
/usr/local/kde3/lib/libkhtml.so.4
#80 0x41a89908 in KHTMLPart::end() () from /usr/local/kde3/lib/libkhtml.so.4
#81 0x41a889ff in KHTMLPart::slotFinished(KIO::Job*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#82 0x41a9ef99 in KHTMLPart::qt_invoke(int, QUObject*) () from 
/usr/local/kde3/lib/libkhtml.so.4
#83 0x40aee808 in QObject::activate_signal(QConnectionList*, QUObject*) () 
from /usr/local/qt3/lib/libqt-mt.so.3
#84 0x40283da2 in KIO::Job::result(KIO::Job*) () from 
/usr/local/kde3/lib/libkio.so.4
#85 0x4026fdfa in KIO::Job::emitResult() () from /usr/local/kde3/lib/libkio.so.
4
#86 0x4027134e in KIO::SimpleJob::slotFinished() () from 
/usr/local/kde3/lib/libkio.so.4
#87 0x40273c5e in KIO::TransferJob::slotFinished() () from 
/usr/local/kde3/lib/libkio.so.4
#88 0x4028559d in KIO::TransferJob::qt_invoke(int, QUObject*) () from 
/usr/local/kde3/lib/libkio.so.4
#89 0x40aee890 in QObject::activate_signal(QConnectionList*, QUObject*) () 
from /usr/local/qt3/lib/libqt-mt.so.3
#90 0x40aee6c4 in QObject::activate_signal(int) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#91 0x40263fde in KIO::SlaveInterface::finished() () from 
/usr/local/kde3/lib/libkio.so.4
#92 0x40262ddd in KIO::SlaveInterface::dispatch(int, QMemArray<char> const&) 
() from /usr/local/kde3/lib/libkio.so.4
#93 0x40262489 in KIO::SlaveInterface::dispatch() () from 
/usr/local/kde3/lib/libkio.so.4
#94 0x4025feab in KIO::Slave::gotInput() () from /usr/local/kde3/lib/libkio.so.
4
#95 0x40261960 in KIO::Slave::qt_invoke(int, QUObject*) () from 
/usr/local/kde3/lib/libkio.so.4
#96 0x40aee890 in QObject::activate_signal(QConnectionList*, QUObject*) () 
from /usr/local/qt3/lib/libqt-mt.so.3
#97 0x40aee9f0 in QObject::activate_signal(int, int) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#98 0x40e0e9b2 in QSocketNotifier::activated(int) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#99 0x40b0ac20 in QSocketNotifier::event(QEvent*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#100 0x40a93465 in QApplication::internalNotify(QObject*, QEvent*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#101 0x40a92b1b in QApplication::notify(QObject*, QEvent*) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#102 0x406e4019 in KApplication::notify(QObject*, QEvent*) () from 
/usr/local/kde3/lib/libkdecore.so.4
#103 0x40a830b8 in QEventLoop::activateSocketNotifiers() () from 
/usr/local/qt3/lib/libqt-mt.so.3
#104 0x40a40dbc in QEventLoop::processEvents(unsigned) () from 
/usr/local/qt3/lib/libqt-mt.so.3
#105 0x40aa6666 in QEventLoop::enterLoop() () from 
/usr/local/qt3/lib/libqt-mt.so.3
#106 0x40aa6508 in QEventLoop::exec() () from /usr/local/qt3/lib/libqt-mt.so.3
#107 0x40a936b1 in QApplication::exec() () from /usr/local/qt3/lib/libqt-mt.so.
3
#108 0x40053aa7 in main () from /usr/local/kde3/lib/konqueror.so
#109 0x411b4907 in __libc_start_main () from /lib/libc.so.6

BRGDS

Dag

Comment 8 George Staikos 2003-09-24 20:08:43 UTC
Subject: Re:  Crash when returning from javascript popup

On Wednesday 24 September 2003 14:00, dag@newtech.fi wrote:
> I just compiled myself a new 4.3.0 Xfree86 and suddenly the error
> is back! And now it doesn't help with any file owner changes.
> I just checked a complete  strace of the session and fixed all permissions
> and it didn't help.
> Still:
> QClipboard: internal error, qt_xclb_wait_for_event recursed
> zone still contained 57 blocks
> and a crash.

  I'm still not sure this is a KDE bug. :)

> 2. The program seems to crash as everything disappears suddenly, but it is
> really
> doing an exit(1) ??
> Here is a gdb trace of the things that happen before that exit:
>
> #0  0x411c9b76 in exit () from /lib/libc.so.6
> #1  0x40d96283 in qFatal(char const*, ...) () from

  That's a qFatal() inside Qt.

Comment 9 dag 2003-09-24 20:13:47 UTC
Subject: Re:  Crash when returning from javascript popup 

>   I'm still not sure this is a KDE bug. :)

Agreed

> > 2. The program seems to crash as everything disappears suddenly, but it is
> > really
> > doing an exit(1) ??
> > Here is a gdb trace of the things that happen before that exit:
> >
> > #0  0x411c9b76 in exit () from /lib/libc.so.6
> > #1  0x40d96283 in qFatal(char const*, ...) () from
> 
>   That's a qFatal() inside Qt.

I am also suspecting Qt, that's why I sent a separate copy to trolltech....


Comment 10 dag 2003-10-01 17:04:48 UTC
Subject: Re:  Crash when returning from javascript popup 

> ------- Additional Comments From staikos@kde.org  2003-09-23 16:19 -------
> Should this be forwarded to trolltech?

Hi again,

this is the response from Trolltech. Anything we can do about it?


Hi Dag

I have figured out why this happens. The problem is that Qt needs to
process events to get the contents of the X11 clipboard as this might
change at any time.

If this processing of events triggers another query for the clipboard's
contents we get a recursion which is why the qFatal is called.

We are able to filter out some types of events that should not be
processed when we are requesting the contents of the clipboard but not
all. Thus it is dangerous to ask for the contents of the clipboard from
focusEvent and this seems to be what konqueror does. I will add a note
in the documentation about this.

You might want to forward this bug-report to the konqueror people. I am
afraid there is nothing much we can do about this.

best regards

Anders Bakken

Comment 11 George Staikos 2003-10-01 17:09:34 UTC
Subject: Re:  Crash when returning from javascript popup

On Wednesday 01 October 2003 11:04, dag@newtech.fi wrote:
> I have figured out why this happens. The problem is that Qt needs to
> process events to get the contents of the X11 clipboard as this might
> change at any time.
>
> If this processing of events triggers another query for the clipboard's
> contents we get a recursion which is why the qFatal is called.
>
> We are able to filter out some types of events that should not be
> processed when we are requesting the contents of the clipboard but not
> all. Thus it is dangerous to ask for the contents of the clipboard from
> focusEvent and this seems to be what konqueror does. I will add a note
> in the documentation about this.
>
> You might want to forward this bug-report to the konqueror people. I am
> afraid there is nothing much we can do about this.

  Please reopen the bug and change the description (title) etc to match the 
nature of the real bug.

Thanks

Comment 12 dag 2003-10-01 17:21:58 UTC
The new info we got from Trolltech indicates that this is a konqueror bug with 
konqueror asking for the contents of the clipborad from a focusEvent, which 
should not be done. 
Comment 13 dag 2003-10-01 17:25:29 UTC
Subject: Re:  Crash when returning from javascript popup 

> ------- Additional Comments From staikos@kde.org  2003-10-01 17:09 -------
> Subject: Re:  Crash when returning from javascript popup

>   Please reopen the bug and change the description (title) etc to match the 
> nature of the real bug.

I reopened the bug but I cannot find a way to rename it....

Dag

Comment 14 Maksim Orlovich 2003-10-01 17:34:45 UTC
doing so, and moving to the proper subpackage.. 
 
Comment 15 Maksim Orlovich 2003-10-01 17:43:59 UTC
Erm, *blush*.  
 
Comment 16 Lubos Lunak 2003-10-10 14:06:24 UTC
Duplicate, bug in Qt-3.2 QClipboard. Could you please add the qt-bugs@ issue number for your 
report to bug #61412? 
 

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