st33d
Guest
|
|
« Reply #2220 on: May 30, 2011, 02:35:52 PM » |
|
CS4?
|
|
|
Logged
|
|
|
|
Triplefox
|
|
« Reply #2221 on: May 30, 2011, 02:39:21 PM » |
|
haXe, 10.2.
The last time it happened, I ignored the bug, continued adding features, and it magically fixed itself.
|
|
|
Logged
|
|
|
|
Nix
Guest
|
|
« Reply #2222 on: May 30, 2011, 02:43:51 PM » |
|
Then it's been lurking all this time, waiting to pounce until your codebase grew large enough that finding it would be near-impossible.
|
|
|
Logged
|
|
|
|
st33d
Guest
|
|
« Reply #2223 on: May 30, 2011, 02:47:00 PM » |
|
Does it perchance have anything to do with Vectors?
|
|
|
Logged
|
|
|
|
Triplefox
|
|
« Reply #2224 on: May 30, 2011, 02:49:35 PM » |
|
Nope, it's a haXe Hash(which uses Dictionary). The last time I saw this it was with a Sprite, I think.
My hypothesis is that the JIT is throwing out too much during optimization. Adding more code takes that section off the hot path, which is why it's "fixed." But actually reproducing it outside of the original test case is almost impossible.
|
|
|
Logged
|
|
|
|
Glaiel-Gamer
Guest
|
|
« Reply #2225 on: May 30, 2011, 03:04:20 PM » |
|
Nope, it's a haXe Hash(which uses Dictionary)
Dictionary stores objects as weak-references so if you ever lose track of an object in the dictionary it could be up for garbage collection FYI
|
|
|
Logged
|
|
|
|
Triplefox
|
|
« Reply #2226 on: May 30, 2011, 03:10:33 PM » |
|
GC should not happen here, by design. The dictionary in question is the entity id dictionary. Every entity I instance has a tag on it. Every tag stores an array referencing the entity directly.
And - when I tried accessing the missing entity by tag instead of by id, it is found, but is not found in a different code path that accesses by id.
It's a runtime bug.
Edit: Fixed...by forcing Dynamic on the type annotations of the Box2D shapes that immediately precede the tainted code, which are used to look up the entity id in question. I think this is one where it's a combination of the haXe type inference and the runtime both screwing up in some subtle way. The code did work before, after all.
|
|
« Last Edit: May 30, 2011, 03:29:24 PM by Triplefox »
|
Logged
|
|
|
|
st33d
Guest
|
|
« Reply #2227 on: May 30, 2011, 11:55:28 PM » |
|
Nope, it's a haXe Hash(which uses Dictionary)
Dictionary stores objects as weak-references so if you ever lose track of an object in the dictionary it could be up for garbage collection FYI Not according to the docs. They say you have to initialise the Dictionary: var d:Dictionary = new Dictionary(true);
to get weak references. Otherwise the references are persistent. I'm not ruling out the notion they've fucked it up though.
|
|
|
Logged
|
|
|
|
mcc
|
|
« Reply #2228 on: June 03, 2011, 11:14:17 PM » |
|
So I rather like Flash Builder
but uh
holy crud
That thing does not like to quit
I mean it just wants to keep at it. I want to say "quit" and it pauses for a long time, and shows a progress bar for a long time, and then just sort of locks up for awhile, and
I think I've had to force quit it every time I've used it
|
|
|
Logged
|
|
|
|
TobiasW
|
|
« Reply #2229 on: June 04, 2011, 02:52:41 AM » |
|
I think I've had to force quit it every time I've used it Mac? The same thing happens with MonoDevelop for me.
|
|
|
Logged
|
|
|
|
mcc
|
|
« Reply #2230 on: June 04, 2011, 09:37:51 AM » |
|
I think I've had to force quit it every time I've used it Mac? The same thing happens with MonoDevelop for me. Yes, mac, and that's interesting... weird though because FlashDevelop and MonoDevelop aren't related, are they? And I have a copy of vanilla Eclipse I don't think I have this problem with.
|
|
|
Logged
|
|
|
|
jotapeh
|
|
« Reply #2231 on: June 05, 2011, 04:34:24 AM » |
|
For those wondering, in Flash when you use getPixel on a non-transparent bitmapdata you will get a uint value of 0x00FFFFFF where FFFFFF is your RGB color.
However if you use getVector, each pixel is dumped into a uint value of 0xFFFFFFFF.
To be fair it's a 'gotcha' I should have realized from the start. but arg. annoying.
|
|
|
Logged
|
|
|
|
mcc
|
|
« Reply #2232 on: June 05, 2011, 10:23:57 AM » |
|
I like how almost every project I start now begins with about an hour of "oh-- wait, the dvcs will throw a shitfit if I do [x totally simple and ordinary thing]. how can i...?" I don't know if I'd go back at this point, but I really miss svn.
|
|
|
Logged
|
|
|
|
Hangedman
|
|
« Reply #2233 on: June 05, 2011, 11:02:12 AM » |
|
while (txt.charAt(y) != " ") { y++; }LOOPED FOREVER EVEN IF THERE IS A SPACE but if i add while (txt.charAt(y) != " ") { if (txt.charAt(y) == " ") { break; } y++; }IT BREAKS WHEN THERE IS A SPACE
|
|
|
Logged
|
|
|
|
Tycho Brahe
|
|
« Reply #2234 on: June 05, 2011, 11:34:31 AM » |
|
while (txt.charAt(y) != " ") { y++; }LOOPED FOREVER EVEN IF THERE IS A SPACE but if i add while (txt.charAt(y) != " ") { if (txt.charAt(y) == " ") { break; } y++; }IT BREAKS WHEN THERE IS A SPACE what about while (!(txt.charAt(y) == " ")) { y++; }
does that work?
|
|
|
Logged
|
|
|
|
mcc
|
|
« Reply #2235 on: June 05, 2011, 11:37:48 AM » |
|
FUCKING .DS_Store
EDIT: find ./* | grep DS_Store | perl -ne 'chomp; `hg remove "$_"`;'
gargagbbggnblf
|
|
« Last Edit: June 05, 2011, 11:45:55 AM by mcc »
|
Logged
|
|
|
|
Ludophonic
|
|
« Reply #2236 on: June 05, 2011, 01:05:47 PM » |
|
while (txt.charAt(y) != " ") { y++; }LOOPED FOREVER EVEN IF THERE IS A SPACE but if i add while (txt.charAt(y) != " ") { if (txt.charAt(y) == " ") { break; } y++; }IT BREAKS WHEN THERE IS A SPACE What language is this? If it's C++ you probably want to use != ' ' instead of != " "It's still weird though.
|
|
|
Logged
|
|
|
|
TobiasW
|
|
« Reply #2237 on: June 05, 2011, 01:21:49 PM » |
|
while (txt.charAt(y) != " ") { y++; } LOOPED FOREVER EVEN IF THERE IS A SPACE Hum. Works fine for me...
|
|
|
Logged
|
|
|
|
Nix
Guest
|
|
« Reply #2238 on: June 05, 2011, 01:45:24 PM » |
|
What language is that?
|
|
|
Logged
|
|
|
|
TobiasW
|
|
« Reply #2239 on: June 05, 2011, 03:15:03 PM » |
|
As far as I know, Hangedman works with Flash - and it sure looks like AS3.
|
|
|
Logged
|
|
|
|
|