[sldev] Client crash bug when opening map view

k\o\w kow at sapinski.com
Fri Feb 23 11:19:50 PST 2007


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 
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++
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.


More information about the SLDev mailing list