Search found 411 matches

by cami
Thu Oct 30, 2014 12:15 pm
Forum: Programming
Topic: [RESOLVED] Parallel condition evaluation
Replies: 141
Views: 14645

Re: [RESOLVED] Parallel condition evaluation

Shoot! Did you remember we actually did foresee this problem and ignored it? If I may make a recommendation and if you think it's realistic to expect more thread-specifics to be necessary in the future (external libraries often require them), once you add a new parameter maybe you might want to add ...
by cami
Thu Jun 12, 2014 6:08 pm
Forum: Programming
Topic: EffectsGroup priorities
Replies: 124
Views: 10438

Re: EffectsGroup priorities

As it looks like it would still take a while until I get back to this, I'll post the work-in-progress so it doesn't get lost. This is the state of the refactoring as of Feb 19th, approximately the time when I forked-off the TemporaryPtr issues.

Note it won't compile.
by cami
Thu Jun 12, 2014 5:19 pm
Forum: Programming
Topic: [PATCH] FleetHeadIcon() for multiple fleets
Replies: 29
Views: 5243

Re: [PATCH] FleetHeadIcon() for multiple fleets

That's kind of intentional. There is only so much space:
Image
But maybe shrinking the size-icons slightly as well (as the type icons are) would be a better option.
by cami
Wed Apr 02, 2014 9:28 pm
Forum: Programming
Topic: [PATCH] Improving TemporaryPtr
Replies: 133
Views: 10859

Re: [PATCH] Improving TemporaryPtr

You are of course right, although it really looks very much like a use after free. Youve probably already noticed Im short on time currently, but Ill set it on my to do list, visitors as a start. As it seems the problem can be reproduced by some linux users on very similar setup as mine I found new ...
by cami
Wed Apr 02, 2014 7:54 pm
Forum: Programming
Topic: [PATCH] Improving TemporaryPtr
Replies: 133
Views: 10859

Re: [PATCH] Improving TemporaryPtr

Boost on Linux x86_64 v1.52, 1.54, 1.55 all use locking for shared_ptr. As I'm not managing the refcounts myself how could they possibly become wrong due to the patch?!
by cami
Tue Apr 01, 2014 10:52 pm
Forum: Programming
Topic: [PATCH] Improving TemporaryPtr
Replies: 133
Views: 10859

Re: [PATCH] Improving TemporaryPtr

The visitor code could be separated out, but should be applied first, then. Its purpose is mainly to strengthen type aliasing in order to evade wrong compiler optimizations. Enabletemporary is intimitely linked to temporaryptr, consider them the same class conceptually, just lexically and physically...
by cami
Tue Apr 01, 2014 5:42 pm
Forum: Programming
Topic: [PATCH] Improving TemporaryPtr
Replies: 133
Views: 10859

Re: [PATCH] Improving TemporaryPtr

The paradox is that the patch is intended to fix data races, so I cannot detect the problem by splitting it up. The nasty part is that my approach (and I cannot think of any better) of fixing the data races tends to make them rather fatal when they do still occur. The reason your coredumps are worth...
by cami
Tue Apr 01, 2014 10:54 am
Forum: Programming
Topic: [PATCH] Improving TemporaryPtr
Replies: 133
Views: 10859

Re: [PATCH] Improving TemporaryPtr

Adrian, it would be nice if you assist in analyzing those crashes because I cannot reproduce them, and neither can Geoff or Dilvish. I dont know whether anyone else has investigated the source code; but I was unable to find something wrong by source analysis alone.
by cami
Sat Mar 22, 2014 11:25 pm
Forum: Programming
Topic: Logging
Replies: 12
Views: 1792

Re: Logging

I owe you a twinkie. Thats what I expected too. And it means adding a call to flush will not help unless the Compiler violates the standard. It also means, however, that a log line should only be missing if a crash occurs WHILE printing the line for standard comformant compilers and stdc++ libraries.
by cami
Thu Mar 20, 2014 7:06 pm
Forum: Programming
Topic: [PATCH] Improving TemporaryPtr
Replies: 133
Views: 10859

Re: [PATCH] Improving TemporaryPtr

Sorry, it seems my reply didn't make it. There is absolutely no problem with making this number configurable. If crashes are truly caused by data races, which seems zo be the case, setting it to 1 may reduce them substantially. It is possible for the races to occur long before the actual crash and y...
by cami
Fri Mar 14, 2014 9:13 pm
Forum: Programming
Topic: Logging
Replies: 12
Views: 1792

Re: [PATCH] Improving TemporaryPtr

Is inserting a line break going to happen when the program segfaults? This isn't a clean shutdown where all destructors run and memory is freed nicely... Hmm, you are right it actually depends on when the destructor is called. The first one to look up the C++ standard on this gets a twinkie. Would ...
by cami
Wed Mar 12, 2014 2:44 pm
Forum: Programming
Topic: Logging
Replies: 12
Views: 1792

Re: [PATCH] Improving TemporaryPtr

The xxxstream() methods already create a temporary stream that inserts a smart line break when it dies. The smart line break causes a flush() for line buffered files, which should be the case for the logs - it definitely works on linux. If it wouldnt work like this, you would get half-written lines ...
by cami
Thu Mar 06, 2014 5:31 pm
Forum: Programming
Topic: [PATCH] Improving TemporaryPtr
Replies: 133
Views: 10859

Re: [PATCH] Improving TemporaryPtr

The backtrace shows it is still updating meters during the crash. Updating meters deals a lot with TemporaryPtrs, not only does it initiate effects evaluation (IIRC), also all the meters are stored within universe objects, which are only accessible via TemporaryPtrs (or raw pointers, but that isnt u...
by cami
Wed Mar 05, 2014 6:23 pm
Forum: Programming
Topic: [PATCH] Improving TemporaryPtr
Replies: 133
Views: 10859

Re: [PATCH] Improving TemporaryPtr

You understood correctly, TemporaryPtr-3h is a pure performance upgrade from TemporaryPtr-3g. I also see performance very similar to "before g" (i.e f), which is still signficantly (though not dramatically) worse than trunk. I'm very unhappy about the crashes, they are all looking like dou...
by cami
Tue Mar 04, 2014 9:07 am
Forum: Programming
Topic: Support Single Image Library
Replies: 16
Views: 2310

Re: Support Single Image Library

While TortoiseSVN does not offer a --strip option, it is usually smart enough to recognize such paths. When diffing between working copies or unversioned files, there is no way to avoid the +++ a/path/file --- b/path/file pattern, so it is a very common patch scheme.