It happens when the debugger couldn't find the source.
That could be code in an external dll/library. Or it could be code in a unit that has no debug info.
IIRC the debugger even tries to find the calling function (the closest one, for which there is line info).
However some times the stack is not readable, then no such line can be found.
You can always try to see if the stack window will show something useful.
But often in situations like this it will only show a few cryptic entries.
Ensure your setup is correct:
http://wiki.lazarus.freepascal.org/Debugger_SetupAlso ensure you got the latest gdb 7.3.2:
http://svn.freepascal.org/svn/lazarus/binaries/i386-win32/gdb/binWhich version of Lazarus do you use? 0.9.30.1 has various fixes over 0.9.30
Also use -Cr -Ct -Ci -gh -gt
In the worst case you have to narrow it down from the other end:
Single step (step-over F8) the code you suspect it to happen. Then when it crashes you may have just stepped over a function. Repeat, but this time step into the function. Repeat until you find the code that causes the issue.