Closed Bug 604658 Opened 14 years ago Closed 14 years ago

Weird WebGL crash related to non-UTF-8 strings on windows (?!?!)

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 598838

People

(Reporter: bjacob, Unassigned)

References

()

Details

To reproduce: on a Windows machine (confirmed on Windows 7) go to:

http://www.oampo.co.uk/labs/fireflies/index.htm

With a release build, you should get firefox to crash. With a debug build, you get a long series of failed assertions; if you choose to continue everytime, eventually you get the demo to run.

The first assertion message is about UTF-8 strings:

###!!! ASSERTION: Not a UTF-8 string. This code should only be used for converti
ng from known UTF-8 strings.: 'Error', file c:\Users\bjacob\build\firefox\dist\i
nclude\nsUTF8Utils.h, line 452

By default, I get a quite irrelevant stack trace. But with XPCOM_DEBUG_BREAK=abort, I get this:

>	mozalloc.dll!mozalloc_abort(const char * const msg)  Line 77	C++
 	xul.dll!Abort(const char * aMsg)  Line 379 + 0xa bytes	C++
 	xul.dll!NS_DebugBreak_P(unsigned int aSeverity, const char * aStr, const char * aExpr, const char * aFile, int aLine)  Line 366 + 0xc bytes	C++
 	xul.dll!CalculateUTF8Length::write(const char * start, unsigned int N)  Line 452 + 0x1b bytes	C++
 	xul.dll!nsCharSinkTraits<CalculateUTF8Length>::write(CalculateUTF8Length & iter, const char * s, unsigned int n)  Line 813	C++
 	xul.dll!copy_string<nsReadingIterator<char>,CalculateUTF8Length>(const nsReadingIterator<char> & first, const nsReadingIterator<char> & last, CalculateUTF8Length & result)  Line 93 + 0x27 bytes	C++
 	xul.dll!AppendUTF8toUTF16(const nsACString_internal & aSource, nsAString_internal & aDest)  Line 231 + 0x23 bytes	C++
 	xul.dll!NS_ConvertUTF8toUTF16::NS_ConvertUTF8toUTF16(const nsACString_internal & aCString)  Line 187 + 0xd bytes	C++
 	xul.dll!mozilla::WebGLContext::LogMessage(const char * fmt, char * ap)  Line 221 + 0x2f bytes	C++
 	xul.dll!mozilla::WebGLContext::LogMessage(bool display, const char * fmt, ...)  Line 235 + 0xd bytes	C++
 	xul.dll!mozilla::WebGLContext::ErrorInvalidEnum(const char * fmt, ...)  Line 292 + 0x1b bytes	C++
 	xul.dll!mozilla::WebGLContext::ErrorInvalidEnumInfo(const char * info, unsigned int enumvalue)  Line 314 + 0x16 bytes	C++
 	xul.dll!mozilla::WebGLContext::GetParameter(unsigned int pname, nsIVariant * * retval)  Line 1686 + 0x11 bytes	C++
 	xul.dll!NS_InvokeByIndex_P(nsISupports * that, unsigned int methodIndex, unsigned int paramCount, nsXPTCVariant * params)  Line 103	C++
 	xul.dll!CallMethodHelper::Invoke()  Line 3081 + 0x1c bytes	C++
 	xul.dll!CallMethodHelper::Call()  Line 2348 + 0x8 bytes	C++
 	xul.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx, XPCWrappedNative::CallMode mode)  Line 2312 + 0x16 bytes	C++
 	xul.dll!XPC_WN_CallMethod(JSContext * cx, unsigned int argc, jsval_layout * vp)  Line 1752 + 0xe bytes	C++
 	mozjs.dll!CallCompiler::generateNativeStub()  Line 450 + 0x23 bytes	C++
 	mozjs.dll!js::mjit::ic::NativeCall(js::VMFrame & f, unsigned long index)  Line 680 + 0x8 bytes	C++
 	0ddf2c32()
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.