aMule Forum
English => Backtraces => Topic started by: isulzer on March 21, 2008, 08:20:16 AM
-
In attachment
-
Hi isulzer,
What you have got is an assertion. An assertion means that some strange condition has happened. Assertions only happen in debug builds. You should have been presented a screen where you should be able to choose to continue processing.
In your case, here is what happened:
case sizeof(uint16):
// We must not allow too long strings to be written,
// as this would allow for a buggy clients to "poison"
// us, by sending ISO8859-1 strings that expand to a
// greater than 16b length when converted as UTF-8.
if (real_length > 0xFFFF) {
wxFAIL_MSG(wxT("String is too long to be saved"));
real_length = std::min<uint32>(real_length, 0xFFFF);
if (eEncode == utf8strOptBOM) {
sLength = real_length - 3;
} else {
sLength = real_length;
}
}
WriteUInt16(real_length);
break;
As you can see, it is no big deal, the string will be truncated and saved and the program can continue.
Assertions are something you have to live with if you compile your program for debug. On release builds, assertions are totally ignored.
Cheers!
-
I did get the screen.
Can you give us a compile flag so that said assertions are automaticaly ignored? Or it doesnt run the wxFAIL_MSG? Downloads seem to freeze till i hit ok or cancel. If not, I guess ill just not use it with debug.
-
isulzer: You have to
1) Compile wxWidgets with --disable-debug, or, if you have a precompiled wxWidgets without debug, skip this step.
2) Compile aMule with --without-wxdebug (or by other means selecting the wxWidgets version without debug)
-
Oh. that makes sense actually, now that I think about it. Theres no need to debug wxWidgets... if I want to run aMule in gdb... heh.