Cool VL Viewer forum http://sldev.free.fr/forum/ |
|
1.26.8.0/windows crash on logout http://sldev.free.fr/forum/viewtopic.php?f=4&t=1181 |
Page 1 of 1 |
Author: | Cyril Svoboda [ 2013-04-22 11:36:11 ] | |||||||||||||||||||||
Post subject: | 1.26.8.0/windows crash on logout | |||||||||||||||||||||
The new 1.26.8.0 viewer crashes on logout. Floating windows positions and sizes, inventory sort order, and maybe many other small settings are not saved. 1.26.6.20 works fine.
I've attached both .dmp and .log files, now copying a few last lines of the log here.
Retreating to 1.26.2.20 so far...
|
Author: | Jeeper [ 2013-04-22 12:57:35 ] | ||
Post subject: | Re: 1.26.8.0/windows crash on logout | ||
I was just going to report the same thing.
|
Author: | Henri Beauchamp [ 2013-04-22 14:35:38 ] | |||||||||||||||||||||||||||
Post subject: | Re: 1.26.8.0/windows crash on logout | |||||||||||||||||||||||||||
Wow, that's no doubt a school case for programming classes... The crash doesn't occur under Linux, because gcc inlines the faulty code while VS2010 apparently doesn't... For the programmers among you, here is the fault (in indra/llcommon/llrefcount.h): In the former releases, the code was:
Which I optimized in:
Problem is: mRef gets dereferenced when "delete this;" is executed, so "return mRef;" causes a crash since it points to a freed memory emplacement. The crash doesn't happen with gcc-compiled viewers because gcc inlines the whole class (and mRef is always valid). While "inline" is used, it is only an informative directive that the compiler can ignore, and VS2010 ignored it... I replaced this faulty code with this one, for the next releases:
LL_FORCE_INLINE is a custom macro that expands into a compiler-specific directive, forcing the said compiler to inline the code. Note that I kept "return 0", because depending how the memory for mRef is reserved by the compiler, it could be freed or not by "delete this;", even in an otherwise fully inlined class... Anyway, I will publish new releases ASAP, because while this bug doesn't affect at all Linux builds, it does hit hard Windows ones, and can cause crashes all over the viewer code, in many different situations, and not only on logout. |
Author: | Tillie [ 2013-04-22 17:52:56 ] |
Post subject: | Re: 1.26.8.0/windows crash on logout |
Aha! Thanks for finding that. Deleting the 4 crash folders I collected since saturday. |
Page 1 of 1 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |