Andrey_Karpov Posted August 15, 2018 Report Share Posted August 15, 2018 I asked my colleague Egor Bredikhin to choose and check for me a small open source project, which I could investigate in between my other tasks. He sent me the log of the project 0 A.D. After the question "Why this project?" he answered: "I just played this game, a good real-time strategy". OK, then let it be 0 A.D.:). Artcile: Good job, authors of the game 0 A.D! (19 insignificant bugs) 4 3 Quote Link to comment Share on other sites More sharing options...
asterix Posted August 15, 2018 Report Share Posted August 15, 2018 @elexis @vladislavbelov Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted August 15, 2018 Report Share Posted August 15, 2018 1 hour ago, Andrey_Karpov said: I asked my colleague Egor Bredikhin to choose and check for me a small open source project, which I could investigate in between my other tasks. He sent me the log of the project 0 A.D. After the question "Why this project?" he answered: "I just played this game, a good real-time strategy". OK, then let it be 0 A.D.:). Artcile: Good job, authors of the game 0 A.D! (19 insignificant bugs) I already answered to your post on the habr. But thanks a lot again for helping to find errors. Only few of them are known, and patches are waiting for the end of FF. UPD. I will create tickets for missed bugs, when I'll be at home. 2 Quote Link to comment Share on other sites More sharing options...
elexis Posted August 15, 2018 Report Share Posted August 15, 2018 I have a feeling about N5 Quote Link to comment Share on other sites More sharing options...
macemen Posted August 16, 2018 Report Share Posted August 16, 2018 6 hours ago, elexis said: I have a feeling about N5 That is something ASAN (address sanitizer) is very good catching at. Have you guys tried doing some runs with ASAN enabled? It does slow down things a bit (having to check every memory allocation/deallocation and access) so it might be impractical but it's worth a try. Quote Link to comment Share on other sites More sharing options...
GunChleoc Posted August 16, 2018 Report Share Posted August 16, 2018 ASAN is lots faster than Valgrind, so it should be doable - it will slow down the program by a factor of ~2, so that's not bad at all. Quote Link to comment Share on other sites More sharing options...
Stan` Posted August 16, 2018 Report Share Posted August 16, 2018 Now we'd need someone to try and report... Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted August 16, 2018 Report Share Posted August 16, 2018 22 hours ago, elexis said: I have a feeling about N5 It's not so critical as it could be, but it's still UB and should be fixed. But how it may work: How usually (compiler depended) new[]/delete[] work: new[] allocates a block with a needed size + a space for size - a number of objects. delete[] extracts a size from the block and calls a destructor for each object and deallocates the block. But! u8 is a basic type, not an object. So a compiler may replace new[] by new for basic types or use another trick, especially in case all actions are in the same place and the compiler knows a storing object. Also we have own pool and arena for some cases. 16 hours ago, macemen said: That is something ASAN (address sanitizer) is very good catching at. Not all, i.e. clang-802.0.42 doesn't detect it for basic types (for N5 too), only for objects, even without -O0+. Probably because of the trick above. 41 minutes ago, stanislas69 said: Now we'd need someone to try and report... We had an option for it sometime ago, if I'm not mistaken. It was called --enable-address-sanitizer. It'd good to add a regular (1 per week) build on Jenkins. 1 Quote Link to comment Share on other sites More sharing options...
fabio Posted August 29, 2018 Report Share Posted August 29, 2018 For reference: https://trac.wildfiregames.com/ticket/5288 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.