Closed Bug 996 Opened 26 years ago Closed 26 years ago

ASSERT in histbld.cpp

Categories

(MozillaClassic Graveyard :: Windows FE, defect, P2)

1998-09-04
x86
Windows 95
defect

Tracking

(Not tracked)

VERIFIED WONTFIX

People

(Reporter: bryce, Assigned: blythe)

Details

I was checking links on one of my HTML pages by quickly clicking on each
link and then using Alt-Lft to get back to the previous page.  I did this
for about half a dozen links and then got an Assert:

Line 176 of histbld.cpp in winfe

// Adds a history item to the passed in menu.  Also attaches a numerica
accelerator to the menu item
// if nPosition is less than 10.
BOOL CHistoryMenuBuilder::AddHistoryToMenu(HMENU hMenu, int nPosition, BOOL
bCurrent, History_entry*  pEntry, int nMaxMenuItemLength)
{
	char*  lpszText;
/*>*/	ASSERT(pEntry->title);
	if (!pEntry->title)
		 return FALSE;

<Snip>

pEntry->title is 0x00ee5810, and points to ""

The title pointer is non-zero, so I don't understand why it is asserting.
ASSERT causes a break only when the argument is equal to zero, right?

pEntry->address =
"http://www.genealogy.org/~bryce/Harrington/Benjamin/HarringtonRoyalDescent.txt"
pEntry->referer =
"http://www.genealogy.org/~bryce/Harrington/Benjamin/index.html"

Stack Trace:
------------
1. CHistoryMenuBuilder::AddHistoryToMenu(HMENU__ * 0x0000096c, int 0, int 1,
_History_entry * 0x011719d0, int 45) line 176 + 41 bytes
2. CHistoryMenuBuilder::FillItems(HMENU__ * 0x0000096c, _XP_List * 0x01171bd0,
int 0, int 45, _History_entry * 0x011719d0) line 238
3. CHistoryMenuBuilder::Fill(HMENU__ * 0x0000096c, int 45, eFillEnum eFILLALL)
line 106
4. CMainFrame::BuildHistoryMenu(CMenu * 0x00ee39a0 {CMenu}) line 600
5. CMainFrame::OnInitMenuPopup(CMenu * 0x00ee39a0 {CMenu}, unsigned int 3, int
0) line 540
6. CWnd::OnWndMsg(unsigned int 279, unsigned int 2412, long 3, long *
0x00cbf95c) line 1786
7. CWnd::WindowProc(unsigned int 279, unsigned int 2412, long 3) line 1522 + 30
bytes
8. AfxCallWndProc(CWnd * 0x00d6d1b4 {CMainFrame hWnd=0x00000ce8}, HWND__ *
0x00000ce8, unsigned int 279, unsigned int 2412, long 3) line 210 + 26 bytes
9. AfxWndProc(HWND__ * 0x00000ce8, unsigned int 279, unsigned int 2412, long 3)
line 363 + 25 bytes
10. AfxWndProcBase(HWND__ * 0x00000ce8, unsigned int 279, unsigned int 2412,
long 3) line 203 + 21 bytes
11. KERNEL32! bff93d4b()
12. KERNEL32! bff73663()
13. KERNEL32! bff928e0()
14. 00cb8ae4()
15. 058f64c9()
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → WONTFIX
It's possible that the title was filled by a different thread while the ASSERT
dialog was up.  It is a mystery to my why the author of the code believed it
necessary to throw an assert if checking for NULL anyhow.
Status: RESOLVED → VERIFIED
Old bug... Marking Verified/Won't Fix
You need to log in before you can comment on or make changes to this bug.