Assertion when browsing a file in a folder with a non-ASCII name

NEW
Assigned to

Status

()

Core
Internationalization
15 years ago
9 years ago

People

(Reporter: Håkan Waara, Assigned: smontagu)

Tracking

Trunk
x86
Windows XP
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

15 years ago
There's an annoying assertion popping up all the time when I hover over the 
link is this testcase. Here's the reproducable steps:

1. Create a folder named "Håkan" (without the quotes)
2. Put the testcase file in there.
3. Open it with Mozilla, hover over the link.

The assertion pops up all over the place.

It boils down to nsTextToSubURI::convertURIToUnicode() where it does this:

    NS_ConvertUTF8toUCS2 ucs2(aURI);
    if (aURI.Equals(NS_ConvertUCS2toUTF8(ucs2))) {

The Equals() call asserts.

This is the assertion:

###!!! ASSERTION: Input wasn't UTF8 or incorrect length was 
calculated: 'Error', file c:/mozilla/mozilla/string/obsolete/nsString2.cpp, 
line 1450

Here's the stack trace:

NTDLL! 77f7f570()
nsDebug::Assertion(const char * 0x1011d408 `string', const char * 0x10130cc8, 
const char * 0x1011d478 `string', int 669) line 280 + 13 bytes
nsDebug::Error(const char * 0x1011d408 `string', const char * 0x1011d478 
`string', int 669) line 463 + 22 bytes
ConvertUTF8toUCS2::write(const char * 0x03a9edb8, unsigned int 67) line 669 + 
20 bytes
nsCharSinkTraits<ConvertUTF8toUCS2>::write(ConvertUTF8toUCS2 & {...}, const 
char * 0x03a9edb8, unsigned int 67) line 571
copy_string(nsReadingIterator<char> & {...}, const nsReadingIterator<char> & 
{...}, ConvertUTF8toUCS2 & {...}) line 90 + 39 bytes
NS_ConvertUTF8toUCS2::Init(const nsACString & {...}) line 1447 + 35 bytes
NS_ConvertUTF8toUCS2::NS_ConvertUTF8toUCS2(const nsACString & {...}) line 564
nsTextToSubURI::convertURItoUnicode(const nsAFlatCString & {...}, const 
nsAFlatCString & {...}, int 1, nsAString & {...}) line 195
nsTextToSubURI::UnEscapeURIForUI(nsTextToSubURI * const 0x03463080, const 
nsACString & {...}, const nsACString & {...}, nsAString & {...}) line 240 + 35 
bytes
nsWebShell::OnOverLink(nsWebShell * const 0x03540ee8, nsIContent * 0x03d1f598, 
nsIURI * 0x03a9ec28, const unsigned short * 0x0012ea7c) line 637 + 50 bytes
nsGenericElement::TriggerLink(nsIPresContext * 0x03d13d78, nsLinkVerb 
eLinkVerb_Replace, nsIURI * 0x03d77c48, const nsAString & {...}, const 
nsAFlatString & {...}, int 0) line 3026
nsGenericHTMLElement::HandleDOMEventForAnchors(nsIContent * 0x03d1f598, 
nsIPresContext * 0x03d13d78, nsEvent * 0x0012eefc, nsIDOMEvent * * 0x0012eeb0, 
unsigned int 2, nsEventStatus * 0x0012ef44) line 1540 + 45 bytes
nsHTMLAnchorElement::HandleDOMEvent(nsHTMLAnchorElement * const 0x03d1f598, 
nsIPresContext * 0x03d13d78, nsEvent * 0x0012eefc, nsIDOMEvent * * 0x0012eeb0, 
unsigned int 2, nsEventStatus * 0x0012ef44) line 359
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x03a9f7a0, 
nsIPresContext * 0x03d13d78, nsEvent * 0x0012eefc, nsIDOMEvent * * 0x0012eeb0, 
unsigned int 7, nsEventStatus * 0x0012ef44) line 1962 + 60 bytes
nsEventStateManager::DispatchMouseEvent(nsIPresContext * 0x03d13d78, nsGUIEvent 
* 0x0012f76c, unsigned int 331, nsIContent * 0x03a9f7a0, nsIFrame * 0x037f3db0, 
nsIContent * 0x03d1b758) line 2436
nsEventStateManager::GenerateMouseEnterExit(nsIPresContext * 0x03d13d78, 
nsGUIEvent * 0x0012f76c) line 2582
nsEventStateManager::PreHandleEvent(nsEventStateManager * const 0x03975b90, 
nsIPresContext * 0x03d13d78, nsEvent * 0x0012f76c, nsIFrame * 0x037f3db0, 
nsEventStatus * 0x0012f564, nsIView * 0x03d22218) line 377
PresShell::HandleEventInternal(nsEvent * 0x0012f76c, nsIView * 0x03d22218, 
unsigned int 1, nsEventStatus * 0x0012f564) line 6151 + 43 bytes
PresShell::HandleEvent(PresShell * const 0x02bec0dc, nsIView * 0x03d22218, 
nsGUIEvent * 0x0012f76c, nsEventStatus * 0x0012f564, int 0, int & 1) line 6080 
+ 25 bytes
nsViewManager::HandleEvent(nsView * 0x03a71df8, nsGUIEvent * 0x0012f76c, int 0) 
line 2208
nsView::HandleEvent(nsViewManager * 0x03a24898, nsGUIEvent * 0x0012f76c, int 0) 
line 304
nsViewManager::DispatchEvent(nsViewManager * const 0x03a24898, nsGUIEvent * 
0x0012f76c, nsEventStatus * 0x0012f668) line 1942 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f76c) line 83
nsWindow::DispatchEvent(nsWindow * const 0x03d22024, nsGUIEvent * 0x0012f76c, 
nsEventStatus & nsEventStatus_eIgnore) line 1115 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f76c) line 1136
nsWindow::DispatchMouseEvent(unsigned int 300, unsigned int 0, nsPoint * 
0x00000000) line 5375 + 21 bytes
ChildWindow::DispatchMouseEvent(unsigned int 300, unsigned int 0, nsPoint * 
0x00000000) line 5632
nsWindow::ProcessMessage(unsigned int 512, unsigned int 0, long 3801291, long * 
0x0012fc00) line 4067 + 28 bytes
nsWindow::WindowProc(HWND__ * 0x000d048a, unsigned int 512, unsigned int 0, 
long 3801291) line 1402 + 27 bytes
USER32! 77d57b17()
USER32! 77d5cdce()
USER32! 77d34435()
USER32! 77d39611()
nsAppShellService::Run(nsAppShellService * const 0x02b06ab8) line 471
main1(int 1, char * * 0x003069d8, nsISupports * 0x00306a40) line 1543 + 32 bytes
main(int 1, char * * 0x003069d8) line 1904 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e7eb69()
(Reporter)

Comment 1

15 years ago
CC nhotta per bz's request. Do you think you can help out here? Thanks.
QA Contact: amyy → i18n
You need to log in before you can comment on or make changes to this bug.