[sldev] Client crash bug when opening map view
k\o\w
kow at sapinski.com
Fri Feb 23 11:19:50 PST 2007
Hello.
Recently, I've been experiencing a crash bug when opening the map on the
latest SVN checkout of OpenSL when compiled under VS2005.
I open the large map view, and the sim names and textures start
appearing, but after a few seconds the client closes. I suspect the
error comes from the LLMapLayerResponder reply, specifically, somewhere
in the loop at line 100 in llmapresponders.cpp
The last output I get in the console is:
INFO: LLMapLayerResponder::result from capabilities
The client simply closes, with no other messages. VS outputs the
following message:
Microsoft Visual Studio C Runtime Library has detected a fatal error in
newview_noopt.exe.
Press Break to debug the program or Continue to terminate the program.
When I break, I'm presented with Microsoft's debug hook template. Here
are the last few lines from the stack:
newview_noopt.exe!_crt_debugger_hook(int _Reserved=27402980) Line
65 C
newview_noopt.exe!_invalid_parameter(const wchar_t *
pszExpression=0x00000000, const wchar_t * pszFunction=0x00000000, const
wchar_t * pszFile=0x00000000, unsigned int nLine=0, unsigned int
pReserved=0) Line 86 + 0x7 bytes C++
newview_noopt.exe!_invalid_parameter_noinfo() Line 99 + 0xc
bytes C++
newview_noopt.exe!std::_Vector_const_iterator<LLSD,std::allocator<LLSD>
>::operator!=(const
std::_Vector_const_iterator<LLSD,std::allocator<LLSD> > &
_Right={impl=??? }) Line 203 + 0xc bytes C++
> newview_noopt.exe!LLMapLayerResponder::result(const LLSD &
result={...}) Line 100 + 0x4e bytes C++
I have discussed this in IRC and received a lot of help from AdamZaius.
Unfortunately, his input was lost on me as I don't have any C++ or
debugging experience other than simple code edits.
[23:28] <AdamZaius> Basically, it's trying to access an unset item. I
think I actually had to fix this myself because Intel C 9.1 threw a
hissy fit about the code that generates that.
[23:29] <AdamZaius> Two bugs to fix there.
[23:30] <AdamZaius> 1. Put if a if(ptr == null) { abort! } bit of code
around the code in the != operator overload for the LLSD class.
[23:30] <AdamZaius> 2. Find why it's null (have to go further up the
trace), and fix that too.
I wouldn't know where to start with that, and the reason I'm posting to
the mailing list is because shortly after someone else came into the IRC
channel experiencing the same problem:
[10:08] <lecina> is here someone who exp.problem with "crash on opening
worldmap" ?
[10:20] <lecina> means when i open the Worldmap, around 5secs laters the
Viewer crashes
So now that I know this isn't an obscure problem with my setup and
possibly a bug, my question is: Has anyone else experienced this bug and
fixed it? Or, does anyone have any input on how I can go about fixing it?
How has peoples experience been with compiling FL under VS2003? I tried
converting it to 2005 format and went through the tutorial of changing
the code but could never get it working. I would prefer to work on the
FL code personally, so if switching to VS2003 is a good solution to
avoiding the above problem, that would be good enough for me.
Thanks
-k\o\w
More information about the SLDev
mailing list