Linux, Windows, Mac?
Anyway, it is likely some data in the session can't be read => if so, the only way to get it working is either:
- avoid getting such data into the session
- Upgrade to a newer version (on that old version, only very generic assistance can be given)
Run your IDE as
lazarus.exe --debug-log=c:\mylog.txt
Then check for error messages, and stack traces in that log.
One think I do remember that would fail loading (at least some parts of the session) was that specific entries in the "watches" window , would not load correctly... But it is ages ago, so I don't recall exactly what values, nor if 2.0.12 was affected.
-- EDIT: actually, it was a breakpoint, specifically if you had address based breakpoints in the ASM window.
As an alternative approach to the --debug-log, you can open the lps file in an editor. Remove individual sections (such that the XML remains valid), until the IDE loads the remainder. Then you know which part does not load.
(Note, it may also be a part of the lpi file...)