Pages: 1 2 3 :: [one page] |
|
Author |
Thread Statistics | Show CCP posts - 11 post(s) |
|
CCP Phantom
C C P C C P Alliance
7511
|
Posted - 2017.02.15 15:17:57 -
[1] - Quote
Sometimes the story of hunting down a bug (and fixing it), is so thrilling, so intriguing, that it simply has to be shared with you!
Enjoy CCP Snorlax' story of how he hunted down and fixed one of the oldest bugs in EVE. Have fun with the latest dev blog Sleeping beauty - How one of the oldest bugs in EVE got hunted down and resolved!
CCP Phantom - Senior Community Developer
|
|
Squizz Caphinator
Primary.
204
|
Posted - 2017.02.15 15:31:11 -
[2] - Quote
I love it when sneaky bugs get squashed. Great find!
Various projects I enjoy putting my free time into:
https://zkillboard.com | https://evewho.com
|
Tonto Auri
Vhero' Multipurpose Corp
262
|
Posted - 2017.02.15 15:40:04 -
[3] - Quote
With all due respect to the blog authorGǪ http://9gag.com/gag/5533044
Two most common elements in the universe are hydrogen and stupidity.
-- Harlan Ellison
|
Soldarius
O C C U P Y Test Alliance Please Ignore
1568
|
Posted - 2017.02.15 15:41:02 -
[4] - Quote
I have seen this bug quite a few times. It seems most evident when the speed indicator stops updating. But shields, armor, or heat indicators not updating in the middle of a fight can get you killed and you would never even realize it. I know this has happened to me.
Glad to see such an insidious bug crushed beneath the boot heels of progress.
Hi Squizz.
http://youtu.be/YVkUvmDQ3HY
|
Anare Sylvanmir
State War Academy Caldari State
0
|
Posted - 2017.02.15 15:53:41 -
[5] - Quote
I can't pretend to even begin to inderstand half of what was discussed in this article... but the fact that CCP is willing to "show its work" and the in and outs of their work is amazing and one f the reasons I always keep coming back to EvE!!! thank you devs, I know that those in the know appreciate this kind of feedback and community engagement!!! |
Cass Tamuri
Nebula Rasa Holdings Nebula Rasa
0
|
Posted - 2017.02.15 16:19:20 -
[6] - Quote
Thanks for sharing and good hunting! |
Hagika
Standard Corp 123
291
|
Posted - 2017.02.15 16:30:27 -
[7] - Quote
You know, there is a shampoo for bugs, it also stops the itching pretty quickly... |
Commander IceQ
Ascendance Goonswarm Federation
20
|
Posted - 2017.02.15 16:33:00 -
[8] - Quote
Maybe now non-coders will understand that finding a bug is sometimes a VERY challenging thing. Especially on something that is not easily re-producible.
I have seen this bug on my Drone window a few times, and I have also seen the "CCP is not even trying to fix it" complaints on forums and other places. Maybe this will make them realise that sometimes fixes are not easy or obvious.
I would LOVE to see the source for this game... can the devs maybe give a rough estimate on the amount of lines of code? (that would be interesting)
*chest salute* respect guys. Keep up the good work. :)
PS can you please add an "spontaneous feature" that adds 1 000 bill to all Caldari born pilots?
ehehehe
I'll be more enthusiastic about encouraging thinking outside the box when there's evidence of any thinking going on inside it.
|
Sentient Blade
Crisis Atmosphere Coalition of the Unfortunate
1800
|
Posted - 2017.02.15 16:35:13 -
[9] - Quote
Kicked in the teeth by pointers.... You are now truly an elite programmer.
All the same, pretty nasty.
Then again, whoever wrote the original class didn't take much care to make it easy for themselves or their future colleagues, that's for sure...
It hurts my head to see void Synchro::RemoveSleeper( Heap &sleepers, ...) where it's being passed its own class member as a reference. Out of curiosity are there other heaps of sleepers in use or was this a nasty port of some C code?
Nice job finding it. |
Katherine Hakoke
Science and Trade Institute Caldari State
0
|
Posted - 2017.02.15 16:42:55 -
[10] - Quote
This is quite possibly the only MMO I know of that is willing to get technical and actually talk about what is going on. I know this article is entirely because after all that effort with the bug finally squashed the person responsible just wants to brag to the world and be admire. Well you know what, GOOD FOR YOU! This was such an amazing find and such hard work put into it you deserve all that praise. I can't tell you how often I'm programming something and after weeks of bug testing I finally fix a bug that was getting really irritating then I want to just tell anyone at all. Unfortunately, I don't really have any technically minded friends so I cant ever share my coding war stories with anyone. But as much as I love sharing them I also love reading them so please any developers from EVE don't be scared to show off every once in a while and brag about what you just did in the back end |
|
|
CCP Snorlax
C C P C C P Alliance
1158
|
Posted - 2017.02.15 16:46:01 -
[11] - Quote
Hagika wrote:You know, there is a shampoo for bugs, it also stops the itching pretty quickly... I tried that on my laptop - I had to get a new one...
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
|
CCP Snorlax
C C P C C P Alliance
1158
|
Posted - 2017.02.15 16:47:06 -
[12] - Quote
Sentient Blade wrote:Kicked in the teeth by pointers.... You are now truly an elite programmer.
All the same, pretty nasty.
Then again, whoever wrote the original class didn't take much care to make it easy for themselves or their future colleagues, that's for sure...
It hurts my head to see void Synchro::RemoveSleeper( Heap &sleepers, ...) where it's being passed its own class member as a reference. Out of curiosity are there other heaps of sleepers in use or was this a nasty port of some C code?
Nice job finding it. Yes, there are two kinds of sleepers.
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
Sentient Blade
Crisis Atmosphere Coalition of the Unfortunate
1801
|
Posted - 2017.02.15 17:02:35 -
[13] - Quote
CCP Snorlax wrote:Yes, there are two kinds of sleepers.
Ones that wreck your ships and ones that wreck your code? :-) |
Nana Skalski
Taisaanat Kotei
25843
|
Posted - 2017.02.15 17:16:23 -
[14] - Quote
REJOICE! \o/
Every part of a game helps to tell a story =ƒôò
Where is Angry CONCORD guy when you need him
Osprey =ƒÜÇ
GëíGïüGëí GÖÑ
|
Amarisen Gream
Divine Demise Sherwood Hisec Industrial Technologies
317
|
Posted - 2017.02.15 17:26:57 -
[15] - Quote
Great work CCP Development
But CCP Snorlax is still my favorite <3 of them all.
"The Lord loosed upon them his fierce anger
All of his fury and rage.
He dispatched against them a band of Avenging Angels"
- The Scriptures, Book II, Apocalypse 10:1
#NPCLivesMatter
#Freetheboobs
|
Cade Windstalker
797
|
Posted - 2017.02.15 17:33:05 -
[16] - Quote
Wooooow. Massive congrats to you CCP Snorlax for that investigation and tenacity, and to CCP Karkur for writing that invaluable tasklet spawner. I do this stuff for a living myself and I can honestly see myself chasing something like this for ages and not understanding where things were going wrong (in fact my team is currently dealing with a bug that is just as infuriatingly inconsistent as this one was) so hats off to you for this fix. I know a lot of people this is going to make very very happy!
For all the non-technical folks here I'll try to summarize what was going wrong:
Imagine the main Eve process is like a bunch of guys watching a bunch of balls in a row.
Sometimes a guy picks up a ball and either puts it on a conveyor belt and it goes off to do things, or throws it out. When a ball is thrown out a new ball gets put in its place when one is available.
Except whenever a guy picks up a ball he blinks right as he grabs it. This isn't a problem 99.9% of the time, because the balls aren't moving and he knows where the ball he's about to grab is.
Except sometimes, when an Eve Process Guy is about to pick up a ball and throw it out another Eve Process Guy picks it up and puts it on a conveyor belt to go do things.
If there's another ball available right then then a third Eve Process Guy may put that ball in the empty slot.
Then our Original Eve Process Guy, who is blinking and therefore can't see what he's grabbing, will grab the ball and throw it out.
That ball he threw out is your drone UI updates, or your HP update, or your module overheat updater.
CCP Snorlax patched the Eve Process Guys so they don't blink when grabbing balls anymore. |
Amarisen Gream
Divine Demise Sherwood Hisec Industrial Technologies
317
|
Posted - 2017.02.15 17:52:44 -
[17] - Quote
Cade Windstalker wrote:Wooooow. Massive congrats to you CCP Snorlax for that investigation and tenacity, and to CCP Karkur for writing that invaluable tasklet spawner. I do this stuff for a living myself and I can honestly see myself chasing something like this for ages and not understanding where things were going wrong (in fact my team is currently dealing with a bug that is just as infuriatingly inconsistent as this one was) so hats off to you for this fix. I know a lot of people this is going to make very very happy!
For all the non-technical folks here I'll try to summarize what was going wrong:
Imagine the main Eve process is like a bunch of guys watching a bunch of balls in a row.
Sometimes a guy picks up a ball and either puts it on a conveyor belt and it goes off to do things, or throws it out. When a ball is thrown out a new ball gets put in its place when one is available.
Except whenever a guy picks up a ball he blinks right as he grabs it. This isn't a problem 99.9% of the time, because the balls aren't moving and he knows where the ball he's about to grab is.
Except sometimes, when an Eve Process Guy is about to pick up a ball and throw it out another Eve Process Guy picks it up and puts it on a conveyor belt to go do things.
If there's another ball available right then then a third Eve Process Guy may put that ball in the empty slot.
Then our Original Eve Process Guy, who is blinking and therefore can't see what he's grabbing, will grab the ball and throw it out.
That ball he threw out is your drone UI updates, or your HP update, or your module overheat updater.
CCP Snorlax patched the Eve Process Guys so they don't blink when grabbing balls anymore.
I am sure most of us don't like guys (blindly) grabbing our balls, but to each their own.
Sorry. Me is bad. But the example called for it.
"The Lord loosed upon them his fierce anger
All of his fury and rage.
He dispatched against them a band of Avenging Angels"
- The Scriptures, Book II, Apocalypse 10:1
#NPCLivesMatter
#Freetheboobs
|
Sylvia Kildare
Center for Advanced Studies Gallente Federation
51
|
Posted - 2017.02.15 18:04:07 -
[18] - Quote
Soldarius wrote:I have seen this bug quite a few times. It seems most evident when the speed indicator stops updating. But shields, armor, or heat indicators not updating in the middle of a fight can get you killed and you would never even realize it. I know this has happened to me.
Glad to see such an insidious bug crushed beneath the boot heels of progress.
Hi Squizz.
Yeah, I almost always have the capacitor display disappears, the speedometer jams, or the drone window hangs errors... and once or twice I've had erroneous heat meter issues... once it was showing overheat levels of like -1,xxx,xxx,xxx% and the red bar was past the 100% mark.... whee... but yeah, mostly capacitor and speedometer.
Never had the shield/armor/hull displays freeze on me, and I am glad of it. |
Kolmogorow
Freedom Resources
347
|
Posted - 2017.02.15 18:20:14 -
[19] - Quote
Thanks for sharing this! I didn't understand a lot of the details but what catched me at the end was that this bug might also have been the issue of "the overview not updating". That one I know well, as long as I play, which is long. Over the years I sometimes thought, this bug is annoying, why don't they care? I understand better now, it's not about ignoring a bug, but finding a very deep and hidden bug that is difficult to reproduce and to analyze in a complex code base. Software development is a human task, and it's not bad to sometimes show failure and success in the struggle against the single byte that doesn't do what you want it to do.
|
RaVenC
Kriegsmarinewerft Goonswarm Federation
6
|
Posted - 2017.02.15 18:30:34 -
[20] - Quote
Quote:99 little bugs in the code. 99 little bugs. Take one down, patch it around.
117 little bugs in the code ...
Great story, enjoyed reading it :) |
|
Alexander Bor
Polaris Global
4
|
Posted - 2017.02.15 18:40:50 -
[21] - Quote
Nice job CCP and good thing of CCP Snorlax to share some details of the way EVE goes through creation. |
Hvitulf
EVE University Ivy League
0
|
Posted - 2017.02.15 18:42:50 -
[22] - Quote
Had seen this bug happen countless times, mostly when I was in my orca when I would call/recall combat drones swapping between combat and salvage drones. I've bug reported it and thought maybe it was never going to get fixed. Great find on this sneaky little bug! |
Stragak
34
|
Posted - 2017.02.15 19:52:47 -
[23] - Quote
OMG AMAZING!!! I love that you guys were able to track down this bug down. And made reference to that the other bugs might be based on the same thing!!!! Best of luck in bug hunting!
"Oh look, the cat is sitting in the litter box and pooping over the side again" every time we go through these "rough patches".
In good humor, and slight annoyance,
Boiglio -á-áhttps://forums.eveonline.com/default.aspx?g=posts&t=238130&p=82
|
Gareth deKunnis
Systems High Guard Tactical Narcotics Team
0
|
Posted - 2017.02.15 20:13:56 -
[24] - Quote
Well done! |
Elegbara
White Wolf Enterprises Harmonious Ascent
656
|
Posted - 2017.02.15 20:34:52 -
[25] - Quote
Fascinating read.
Also I've actually tried to read the code and there's definitely something wrong in the Synchro::Tick snippet. The for loop seems corrupted.
Open your eyes. And awaken.
|
Magnus Coleus
Republic Military School Minmatar Republic
13
|
Posted - 2017.02.15 20:57:58 -
[26] - Quote
Interesting, but with the weird punctuation (or lack thereof) and confusion between "it's" and "its", some parts of the explanation are as hard to follow as the original code.
|
Cade Windstalker
801
|
Posted - 2017.02.15 21:09:25 -
[27] - Quote
Magnus Coleus wrote:Interesting, but with the weird punctuation (or lack thereof) and confusion between "it's" and "its", some parts of the explanation are as hard to follow as the original code.
If you'd just been staring at python code for however many weeks this took you'd probably punctuate like that too |
FearlessLittleToaster
GoonWaffe Goonswarm Federation
177
|
Posted - 2017.02.15 21:15:37 -
[28] - Quote
I'm a long way from being a technical person and I still enjoyed this. You made it just understandable enough that even somebody who only grasps the outlines of coding could follow. Well done for that.
I do have a request. If you find other bugs that stem from this append them to this dev-blog. I'd love to read how many other things it screwed up through the game. |
Zathus Alexander
DARKNIGHT INDUSTRIES Integritas Constans
0
|
Posted - 2017.02.15 21:20:45 -
[29] - Quote
Awesome job team! I used this as an example today when my sales team complained about a bug we found in some code... They assume debugging is like proofing copy, like you are supposed to be able to simply read the code and detect flaws in the logic.
It was nice to point at a large company with multiple developers having similar issues, thanks for the transparency.
|
Lothar Mandrake
Min Wei Corporation
42
|
Posted - 2017.02.15 21:29:48 -
[30] - Quote
CCP Snorlax - Beautiful job on finding and rewriting the code.
That was a needle in the haystack as the original looks messy but would never trigger as a problem (at least to me).
I hope CCP realizes and appreciates your dedication and expertise in hunting this ghost down and rewriting it. Not many programmers would have had the patience that you did. Well done!
P.S. If you ever need a job, just let me know.......... :-)
-
|
|
Thoirdhealbhach
Liga der hessischen Gentlemen
23
|
Posted - 2017.02.15 21:35:27 -
[31] - Quote
Elegbara wrote:Fascinating read.
Also I've actually tried to read the code and there's definitely something wrong in the Synchro::Tick snippet. The for loop seems corrupted.
Yep, seems like the last third of the for command got eaten up during copy&paste.
Anyhow, my sympathies, I've been chasing some bad reference counting myself for the better part of last month. |
Sentient Blade
Crisis Atmosphere Coalition of the Unfortunate
1805
|
Posted - 2017.02.15 21:43:39 -
[32] - Quote
Sentient Blade wrote:All the same, pretty nasty.
Oops. Just quoting myself as when I was reading through this again I realised my "pretty nasty" comment could be taken incorrectly.
I meant it was a pretty nasty bug. |
|
CCP karkur
C C P C C P Alliance
4093
|
Posted - 2017.02.15 22:20:48 -
[33] - Quote
Kolmogorow wrote:Thanks for sharing this! I didn't understand a lot of the details but what catched me at the end was that this bug might also have been the issue of "the overview not updating". That one I know well, as long as I play, which is long. Over the years I sometimes thought, this bug is annoying, why don't they care? I understand better now, it's not about ignoring a bug, but finding a very deep and hidden bug that is difficult to reproduce and to analyze in a complex code base. Software development is a human task, and it's not bad to sometimes show failure and success in the struggle against the single byte that doesn't do what you want it to do.
We are pretty sure this bug has been causing some overview issues, but there might very well be other issues that remain, but we are happy to get this at least out of the way
Over the years, we have spent a lot of time on overview and HUD issues, reading the code, trying to repro, adding logging but not gotten very far with it. It's especially tricky because we often don't know what else people have been doing when those weird things happen or what else had been happening. The drone case was similar, we knew it was happening but just couldn't repro it ourselves. We had spent days on looking into it (not ignoring it like many thought), but based on reports and videos we had, we saw details in the drone window (what had and had not updated) that made no sense, the code just "couldn't" fail in that way. But the good thing about the drone bug was that we had a decent idea under what circumstance it happened, so I ended up just sitting down, determined to repro like players were reporting... yeah, it probably took me like an hour and half to break it for the first time, but well worth in the end
CCP karkur | Programmer | Team Five 0 | @CCP_karkur
|
|
Gilion Braveheart
Ascendance Goonswarm Federation
4
|
Posted - 2017.02.15 22:58:00 -
[34] - Quote
What?!? A game company ok with sharing code?!? *gasp* I have to say I was kinda surprised, I've been trying to teach myself game design and while I've only done simple coding problems, I always though games as complex as EVE would have equally complex code, but the code shown looks nice and simple. Maybe there's hope for me yet :) |
Illiana ShadowGlade
Caldari Provisions Caldari State
3
|
Posted - 2017.02.15 23:03:32 -
[35] - Quote
This was an awesome read. I did IT in high school and got paid to run the the servers there over the summers after I graduated and trying to find code was always a pain.
Have you guys tried using the rubber ducky method? Grab a rubber ducky. Sit it on your desk/keyboard what have you... Explain to the duck the code. Two or three times if you have to. Eventually it'll hit you like a truck and you will probably throw the duck across the room because the 'stupid complex problem' has a simple solution, or it's something you never second guessed until that duck just gives you it's dead placid stare. |
Specific Alduin
Altair Omega Industries
1
|
Posted - 2017.02.15 23:14:17 -
[36] - Quote
I have been having this problem so much recently, I am ecstatic that it finally got fixed!!! |
Kolmogorow
Freedom Resources
348
|
Posted - 2017.02.15 23:25:37 -
[37] - Quote
CCP karkur wrote:We are pretty sure this bug has been causing some overview issues, but there might very well be other issues that remain, but we are happy to get this at least out of the way Over the years, we have spent a lot of time on overview and HUD issues, reading the code, trying to repro, adding logging but not gotten very far with it. It's especially tricky because we often don't know what else people have been doing when those weird things happen or what else had been happening. The drone case was similar, we knew it was happening but just couldn't repro it ourselves. We had spent days on looking into it (not ignoring it like many thought), but based on reports and videos we had, we saw details in the drone window (what had and had not updated) that made no sense, the code just "couldn't" fail in that way. But the good thing about the drone bug was that we had a decent idea under what circumstance it happened, so I ended up just sitting down, determined to repro like players were reporting... yeah, it probably took me like an hour and half to break it for the first time, but well worth in the end
You and your team deserve an extra beer now, or two. |
Taryn Earendil
The Kronos Ritual
0
|
Posted - 2017.02.16 01:40:00 -
[38] - Quote
I am a C++ newb. When I'm doing systems stuff, I use Rust. Mostly, because I'm into being a hipster developer...... but my question is with this RemoveSleeper function:
void Synchro::RemoveSleeper( Heap &sleepers, Sleeper &sl ) { SleeperIt it; for( it = sleepers.begin(); it != sleepers.end(); ++it ) { if( it->channel == sl.channel ) { break; } } if( it != sleepers.end() ) { //Ok found us. Let's delete us. sleepers.Remove( it ); Py_DECREF( sl.channel ); } }
Would this be a more succint way to do it?
void Synchro::RemoveSleeper( Heap &sleepers, Sleeper &sl ) { SleeperIt it; for( it = sleepers.begin(); it != sleepers.end(); ++it ) { if( it->channel == sl.channel ) { //Ok found us. Let's delete us. sleepers.Remove( it ); Py_DECREF( sl.channel ); break; } } } |
TheSmokingHertog
Julia's Interstellar Trade Emperium
452
|
Posted - 2017.02.16 04:30:35 -
[39] - Quote
07
"Dogma is kind of like quantum physics, observing the dogma state will change it." ~ CCP Prism X
"Schrödinger's Missile. I dig it." ~ Makari Aeron
-= "Brain in a Box on Singularity" - April 2015 =-
|
Branquinha
30plus Fidelas Constans
0
|
Posted - 2017.02.16 08:13:20 -
[40] - Quote
(slow clap) (/bows to magnificence of analysis)
You must have felt pretty good after that one!
Just out of curiosity, aprox how many hours until you found it? And how many "I'm not finding anything breaks!" ?
|
|
|
CCP Snorlax
C C P C C P Alliance
1181
|
Posted - 2017.02.16 10:18:46 -
[41] - Quote
Taryn Earendil wrote:I am a C++ newb. When I'm doing systems stuff, I use Rust. Mostly, because I'm into being a hipster developer...... but my question is with this RemoveSleeper function: void Synchro::RemoveSleeper( Heap &sleepers, Sleeper &sl ) { SleeperIt it; for( it = sleepers.begin(); it != sleepers.end(); ++it ) { if( it->channel == sl.channel ) { break; } } if( it != sleepers.end() ) { //Ok found us. Let's delete us. sleepers.Remove( it ); Py_DECREF( sl.channel ); } } Would this be a more succint way to do it? void Synchro::RemoveSleeper( Heap &sleepers, Sleeper &sl ) { SleeperIt it; for( it = sleepers.begin(); it != sleepers.end(); ++it ) { if( it->channel == sl.channel ) { //Ok found us. Let's delete us. sleepers.Remove( it ); Py_DECREF( sl.channel ); break; } } } Yeah, sure, but in this case I omitted some code that was irrelevant to the example.
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
|
CCP Snorlax
C C P C C P Alliance
1181
|
Posted - 2017.02.16 10:20:49 -
[42] - Quote
Thoirdhealbhach wrote:Elegbara wrote:Fascinating read.
Also I've actually tried to read the code and there's definitely something wrong in the Synchro::Tick snippet. The for loop seems corrupted. Yep, seems like the last third of the for command got eaten up during copy&paste. Anyhow, my sympathies, I've been chasing some bad reference counting myself for the better part of last month. It seems that a portion of the code looked similar to HTML so the content management system swallowed it - it's been fixed now.
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
|
CCP Snorlax
C C P C C P Alliance
1181
|
Posted - 2017.02.16 10:23:10 -
[43] - Quote
Branquinha wrote:(slow clap) (/bows to magnificence of analysis) You must have felt pretty good after that one! Just out of curiosity, aprox how many hours until you found it? And how many "I'm not finding anything breaks!" ? I don't know how long CCP karkur had spent on this, but after she'd basically proven in had to be in the Sleep command, I spent 3 solid working days on this, much of that in a staring contest with the code...
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
|
CCP Snorlax
C C P C C P Alliance
1181
|
Posted - 2017.02.16 10:23:54 -
[44] - Quote
Illiana ShadowGlade wrote:This was an awesome read. I did IT in high school and got paid to run the the servers there over the summers after I graduated and trying to find code was always a pain.
Have you guys tried using the rubber ducky method? Grab a rubber ducky. Sit it on your desk/keyboard what have you... Explain to the duck the code. Two or three times if you have to. Eventually it'll hit you like a truck and you will probably throw the duck across the room because the 'stupid complex problem' has a simple solution, or it's something you never second guessed until that duck just gives you it's dead placid stare. I used a colleague instead. I refrained from throwing him across the room.
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
Katrina Bekers
Pandemic Horde Inc. Pandemic Horde
263
|
Posted - 2017.02.16 11:09:34 -
[45] - Quote
CCP Snorlax wrote:I used a colleague instead. I refrained from throwing him across the room. Poor Guard!!!
Anyway, CCP Snorlax proves once and again to be one of the best devs of our favorite icelandic software house.
Can't wait for his roundtables at Fanfest.
<< THE RABBLE BRIGADE >>
|
Tonto Auri
Vhero' Multipurpose Corp
264
|
Posted - 2017.02.16 14:55:26 -
[46] - Quote
I'm wondering though. Do C++ supports the concept of destructors? In a language that does, I would place all cleanup code in a destructor and call it a day. Especially service objects cleanup.
Two most common elements in the universe are hydrogen and stupidity.
-- Harlan Ellison
|
|
CCP Snorlax
C C P C C P Alliance
1192
|
Posted - 2017.02.16 15:02:41 -
[47] - Quote
Tonto Auri wrote:I'm wondering though. Do C++ supports the concept of destructors? In a language that does, I would place all cleanup code in a destructor and call it a day. Especially service objects cleanup. Sure, but the Python C API is just that - a C API, not a C++ API.
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
Sentient Blade
Crisis Atmosphere Coalition of the Unfortunate
1807
|
Posted - 2017.02.16 16:05:02 -
[48] - Quote
CCP Snorlax wrote:Tonto Auri wrote:I'm wondering though. Do C++ supports the concept of destructors? In a language that does, I would place all cleanup code in a destructor and call it a day. Especially service objects cleanup. Sure, but the Python C API is just that - a C API, not a C++ API.
https://s-media-cache-ak0.pinimg.com/564x/ff/88/21/ff8821dda34f16b946434236505df4ca.jpg
Don't be silly, wrap your... C resource types inside reference countered pointers with suitable encapsulation. |
dirtycasual
Red Federation RvB - RED Federation
0
|
Posted - 2017.02.16 16:23:08 -
[49] - Quote
Katherine Hakoke wrote:This is quite possibly the only MMO I know of that is willing to get technical and actually talk about what is going on.
<3 CCP |
FearlessLittleToaster
GoonWaffe Goonswarm Federation
177
|
Posted - 2017.02.16 17:10:07 -
[50] - Quote
With this bug fixed can you work on the one that makes my ships explode when I undock drunk? I've reproduced it nearly 100% of the time when the conditions exist... |
|
Captain Campion
Campion Corp.
39
|
Posted - 2017.02.16 17:57:58 -
[51] - Quote
It's running a ton better now, great work. |
Lors Dornick
Kallisti Industries Solar Assault Fleet
1205
|
Posted - 2017.02.16 18:34:46 -
[52] - Quote
FearlessLittleToaster wrote:With this bug fixed can you work on the one that makes my ships explode when I undock drunk? I've reproduced it nearly 100% of the time when the conditions exist... For them to be able to reproduce this accurately you'll have to provide a serious amount (they are Icelandic after all) of alcohol with your bug report.
CCP Greyscale: As to starbases, we agree it's pretty terrible, but we don't want to delay the entire release just for this one factor.
|
|
CCP Snorlax
C C P C C P Alliance
1201
|
Posted - 2017.02.16 18:51:51 -
[53] - Quote
FearlessLittleToaster wrote:With this bug fixed can you work on the one that makes my ships explode when I undock drunk? I've reproduced it nearly 100% of the time when the conditions exist... I always get a headache when trying to reproduce the bug.
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
Cristl
533
|
Posted - 2017.02.16 20:02:05 -
[54] - Quote
CCP Snorlax wrote:FearlessLittleToaster wrote:With this bug fixed can you work on the one that makes my ships explode when I undock drunk? I've reproduced it nearly 100% of the time when the conditions exist... I always get a headache when trying to reproduce the bug. Heh, nice! |
Gaius Ambramotte
Fistful of Finns WE FORM V0LTA
0
|
Posted - 2017.02.17 07:23:28 -
[55] - Quote
In your example code was a syntax error as far I understand C++:
if (sleepers.size()) { Be::Time nnow = BeOS->GetActualTime(); for(unsigned int i = 0; iPyError(); } <---- "}" should be " ) {" Py_DECREF(s.channel); } }
|
|
CCP Snorlax
C C P C C P Alliance
1209
|
Posted - 2017.02.17 09:22:12 -
[56] - Quote
Gaius Ambramotte wrote:In your example code was a syntax error as far I understand C++:
if (sleepers.size()) { Be::Time nnow = BeOS->GetActualTime(); for(unsigned int i = 0; iPyError(); } <---- "}" should be " ) {" Py_DECREF(s.channel); } }
The CMS messed with the formatting of the code segments, resulting in some of it disappearing. It's been fixed now.
CCP Snorlax - Software Architect - Team RnB - @CCP_Snorlax - http://ccpsnorlax.blogspot.is/
|
|
RaVenC
Kriegsmarinewerft Goonswarm Federation
12
|
Posted - 2017.02.17 16:42:57 -
[57] - Quote
And still endless loops when "begin" is greater than "end" by [insert random issue here] |
MeagerMiner
11
|
Posted - 2017.02.17 22:03:43 -
[58] - Quote
I never get tired of hearing and seeing how dedicated our Devs work to keep us flying space ships around!
Appreciate the talent that CCP has on the team as well.
CCP Snorlax and CCP Karkur thanks for your continued efforts!
|
Yunaride
The Cruciform Keep Calm and Parley
0
|
Posted - 2017.02.18 23:47:47 -
[59] - Quote
thank you for sharing. this attitude towards your payer base is really unique and simply awesome. |
Mara Pahrdi
The Order of Anoyia
1496
|
Posted - 2017.03.04 10:00:52 -
[60] - Quote
+x to CCP Snorlax and thanks for sharing.
Great read.
Remove standings and insurance.
|
|
|
|
|
Pages: 1 2 3 :: [one page] |