Bug 54735 - Konqueror or KHTML frames crash with SSL/target="_top"?
Summary: Konqueror or KHTML frames crash with SSL/target="_top"?
Status: RESOLVED DUPLICATE of bug 54515
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-16 20:42 UTC by n2uro
Modified: 2003-02-26 05:53 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 n2uro 2003-02-16 20:42:42 UTC
Version:           3.1.0 (using KDE 3.1.0)
Installed from:    Gentoo
Compiler:          gcc version 3.2.1 20021207 (Gentoo Linux 3.2.1-20021207)
OS:          Linux (i686) release 2.4.20-lolo-r1

While accessing my credit union's online banking system ( https://banking.picatinnycu.org/ ; if you get to the developer and tell him khtml is also in Macintosh's safari web browser, perhaps he might give you a test account), I can always crash Konqueror 3.1 by trying to log off.  The crashing never occurs with 3.0.5a (or 3.0.4 if I recall correctly).  

I have created smaller test cases, but I have not found one that replicates the crashing with TARGET="_top" set.  Therefore, I suspect it is something with the larger scenario at hand, possibly involving SSL web pages.

The online banking system does not try to do anything fancy with its logoff button; rather, it is just an image linked to the logoff script with TARGET="_top" set to get rid of the frames.  Some of the other buttons are more fancy, but Konqueror seems to handle the mouseovers/change of mode images fine.

Base Document Source (trimmed whitespace):
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Home Banking Suite</TITLE>
<META NAME="GENERATOR" CONTENT="Microsoft FrontPage 4.0">
<META NAME="ProgId" CONTENT="FrontPage.Editor.Document">
</HEAD>
<!-- Start of includes for the Account manager -->
<!-- End of includes for the Account manager -->

<FRAMESET FRAMESPACING="0" BORDER="0" FRAMEBORDER="0" cols="104,3*">
	<FRAME NAME="CenterMenu" SCROLLING="auto" TARGET SRC="CenterMenu.asp" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE>
	<FRAMESET ROWS="60,*,20">
		<FRAME NAME="frame_Banner" TARGET="rbottom" SRC="MessageCenter.asp" SCROLLING="no" NORESIZE>
		<FRAME NAME="WorkSpace" SRC="IntroCheck.asp" SCROLLING="auto" NORESIZE>
		<FRAME NAME="memberinfo" SRC="../member_info.asp" SCROLLING="no" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE>
	</FRAMESET>
	<NOFRAMES>
	<BODY>
	<P>This page uses frames, but your browser doesn't support them.</P>
	</BODY>
	</NOFRAMES>
</FRAMESET>
</HTML>

Offending frame source (whitespace trimmed, one comment added):
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Microsoft FrontPage 4.0">
<META NAME="ProgId" CONTENT="FrontPage.Editor.Document">
<TITLE>Center Menu</TITLE>
<STYLE FPROLLOVERSTYLE>a:hover      { color: #FF0000; font-family: Arial; font-weight: bold }
</STYLE>
</HEAD>
<BODY BGCOLOR="#000000" LINK="#FFFFFF" VLINK="#FFFF00" ALINK="#FF0000">
<!-- Start of includes for the Account manager -->
<!-- End of includes for the Account manager -->
<META HTTP-EQUIV="REFRESH" CONTENT="1260">
<FORM NAME="f1">
	<DIV ALIGN="center">
		<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100" BORDERCOLOR="#FFFFFF">
			<TR>
				<TD ALIGN="center" VALIGN="top"><BR>
                  <IMG SRC="/images/USERS/Common/Logos/logo.gif" ALIGN="Center" BORDER="0" WIDTH="60">
          		</TD>
			</TR>
			<TR>
				<TD ALIGN="center" VALIGN="top">&nbsp;</TD>
			</TR>
			<TR>
				<TD ALIGN="center" VALIGN="top" WIDTH="100"><A HREF="../../PCU/Framework.asp" TARGET="WorkSpace"><IMG SRC="../../../../images/USERS/Common/Framework/PersonalFinance.gif" BORDER="0" ALT="Personal Finance" NAME="PersonalFinance" ONMOUSEOVER="if (document.CenterMenuForm.IsOn.value != 'PersonalFinance') this.src = '/images/USERS/Common/Framework/PersonalFinance_MouseOver.gif';" ONMOUSEOUT="if (document.CenterMenuForm.IsOn.value != 'PersonalFinance') this.src = '/images/USERS/Common/Framework/PersonalFinance.gif';" ONCLICK="return SetOn ('PersonalFinance');"></A></TD>
			</TR>
			<TR>
				<TD ALIGN="center" VALIGN="top"><A HREF="../OtherServices/Framework.asp" TARGET="WorkSpace"><IMG SRC="../../../../images/USERS/Common/Framework/OtherServices.gif" BORDER="0" ALT="Other Services" NAME="OtherServices" ONMOUSEOVER="if (document.CenterMenuForm.IsOn.value != 'OtherServices') this.src = '/images/USERS/Common/Framework/OtherServices_MouseOver.gif';" ONMOUSEOUT="if (document.CenterMenuForm.IsOn.value != 'OtherServices') this.src = '/images/USERS/Common/Framework/OtherServices.gif';" ONCLICK="return SetOn ('OtherServices');"></A></TD>
			</TR>
			<TR>
				<TD ALIGN="center" VALIGN="top"><A HREF="../Contact/ContactUs.asp" TARGET="WorkSpace"><IMG BORDER="0" SRC="../../../../images/USERS/Common/Framework/ContactUs.gif" ALT="Contact Us" NAME="ContactUs" ONMOUSEOVER="if (document.CenterMenuForm.IsOn.value != 'ContactUs') this.src = '/images/USERS/Common/Framework/ContactUs_MouseOver.gif';" ONMOUSEOUT="if (document.CenterMenuForm.IsOn.value != 'ContactUs') this.src = '/images/USERS/Common/Framework/ContactUs.gif';" ONCLICK="return SetOn ('ContactUs');"></A></TD>
			</TR>
          <tr>
                <td colspan="3" width="100%">&nbsp;<BR>&nbsp;
                </td>
          </tr>
<!-- THE BUTTON BELOW CRASHES KONQUEROR 3.1 and/or KHTML 3.1 when pressed -->
			<TR>
				<TD ALIGN="center" VALIGN="top"><a href="../Login/LogOff.asp" target="_top"><IMG SRC="../../../../images/USERS/Common/Framework/LogOff.gif" BORDER="0" ALT="Log Off" ALIGN="center"></a>
                </TD>
			</TR>
			<TR>
				<TD ALIGN="center" VALIGN="top"></TD>
			</TR>
		</TABLE>
		</form>
	</DIV>
	<P><!-- Start of includes for the library manager -->    
    <!-- End of includes for the library manager -->

	</P>
	</FORM>
	<FORM NAME="CenterMenuForm">
		<INPUT TYPE="HIDDEN" NAME="IsOn" VALUE>
	</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!-- //begin script
function SetOn (subName)
{
	var oldName;
	if (document.CenterMenuForm.IsOn.value != subName)
	{
		oldName = document.CenterMenuForm.IsOn.value;
		if (oldName != "")
		{//the joys of javascripts's limitations, I really wanted this to be much more elegant than this
			switch (oldName)
			{
			case "PersonalFinance":
				document.images[oldName].src = "/images/USERS/Common/Framework/PersonalFinance.gif";
				break;
			case "BillPayer":
				document.images[oldName].src = "/images/USERS/Common/Framework/BillPayer.gif";
				break;
			case "WebLoan":
				document.images[oldName].src = "/images/USERS/Common/Framework/WebLoan.gif";
				break;
			case "eDocuments":
				document.images[oldName].src = "/images/USERS/Common/Framework/eDocuments.gif";
				break;
			case "OtherServices":
				document.images[oldName].src = "/images/USERS/Common/Framework/OtherServices.gif";
				break;
			case "ContactUs":
				document.images[oldName].src = "/images/USERS/Common/Framework/ContactUs.gif";
				break;
			}
		}
		switch (subName)
		{
		case "PersonalFinance":
			document.images[subName].src = "/images/USERS/Common/Framework/PersonalFinance_Selected.gif";
			document.CenterMenuForm.IsOn.value = subName;
			break;
		case "BillPayer":
			document.images[subName].src = "/images/USERS/Common/Framework/BillPayer_Selected.gif";
			document.CenterMenuForm.IsOn.value = subName;
			break;
		case "WebLoan":
			document.images[subName].src = "/images/USERS/Common/Framework/WebLoan_Selected.gif";
			document.CenterMenuForm.IsOn.value = subName;
			break;
		case "eDocuments":
			document.images[subName].src = "/images/USERS/Common/Framework/eDocuments_Selected.gif";
			document.CenterMenuForm.IsOn.value = subName;
			break;
		case "OtherServices":
			document.images[subName].src = "/images/USERS/Common/Framework/OtherServices_Selected.gif";
			document.CenterMenuForm.IsOn.value = subName;
			break;
		case "ContactUs":
			document.images[subName].src = "/images/USERS/Common/Framework/ContactUs_Selected.gif";
			document.CenterMenuForm.IsOn.value = subName;
			break;
		}
	}
	return true;
}
//end script -->
</SCRIPT>
</BODY></HTML>
Comment 1 n2uro 2003-02-16 20:53:33 UTC
Clarifications:  
 
1. Konqueror crashes with SIGILL or SIGSEGV when it crashes.  It varies due to reasons I have 
not been able to track down yet. 
 
2. I have found that it is possible to log off without causing a crash by utilizing the image 
buttons on the web site as opposed to just going in the main frame and using text links (like I 
normally do).  Therefore, it might be some wierd javascript or state issue and not SSL related. 
 
3. Backtrace of a SIGSEGV crash (If you want, I will recompile from sources without stripping): 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)...[New Thread 16384 (LWP 
14422)] 
 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
(no debugging symbols found)...(no debugging symbols found)... 
0x16713a99 in wait4 () from /lib/libc.so.6 
#0  0x16713a99 in wait4 () from /lib/libc.so.6 
#1  0x1679020c in __DTOR_END__ () from /lib/libc.so.6 
#2  0x16508ba3 in waitpid () from /lib/libpthread.so.0 
#3  0x15c14d1e in KCrash::defaultCrashHandler(int) () 
   from /usr/kde/3.1/lib/libkdecore.so.4 
#4  <signal handler called> 
#5  0x1622d7d9 in QString::QString(QString const&) () 
   from /usr/qt/3/lib/libqt-mt.so.3 
#6  0x171f5ebd in khtml::Loader::servePendingRequests() () 
   from /usr/kde/3.1/lib/libkhtml.so.4 
#7  0x171f90e1 in khtml::Loader::qt_invoke(int, QUObject*) () 
   from /usr/kde/3.1/lib/libkhtml.so.4 
#8  0x15fb2fd9 in QObject::activate_signal(QConnectionList*, QUObject*) () 
   from /usr/qt/3/lib/libqt-mt.so.3 
#9  0x162926c2 in QSignal::signal(QVariant const&) () 
   from /usr/qt/3/lib/libqt-mt.so.3 
#10 0x15fcd118 in QSignal::activate() () from /usr/qt/3/lib/libqt-mt.so.3 
#11 0x15fd4093 in QSingleShotTimer::event(QEvent*) () 
   from /usr/qt/3/lib/libqt-mt.so.3 
#12 0x15f55406 in QApplication::internalNotify(QObject*, QEvent*) () 
   from /usr/qt/3/lib/libqt-mt.so.3 
#13 0x15f549c6 in QApplication::notify(QObject*, QEvent*) () 
   from /usr/qt/3/lib/libqt-mt.so.3 
#14 0x15b87459 in KApplication::notify(QObject*, QEvent*) () 
   from /usr/kde/3.1/lib/libkdecore.so.4 
#15 0x15f30b65 in QEventLoop::activateTimers() () 
   from /usr/qt/3/lib/libqt-mt.so.3 
#16 0x15f0e608 in QEventLoop::processEvents(unsigned) () 
   from /usr/qt/3/lib/libqt-mt.so.3 
#17 0x15f69066 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3 
#18 0x15f68f08 in QEventLoop::exec() () from /usr/qt/3/lib/libqt-mt.so.3 
#19 0x15f55651 in QApplication::exec() () from /usr/qt/3/lib/libqt-mt.so.3 
#20 0x16e4614a in main () from /usr/kde/3.1/lib/konqueror.so 
#21 0x0804d196 in strcpy () 
#22 0x0804eac8 in strcpy () 
#23 0x0804dd3a in strcpy () 
#24 0x0804bf29 in strcpy () 
#25 0x1667ce34 in __libc_start_main () from /lib/libc.so.6 
 
Comment 2 Dirk Mueller 2003-02-26 05:53:36 UTC

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