--- Log opened Sun Mar 10 00:00:50 2013 |
00:06 | | You're now known as TheWatcher[T-2] |
00:14 | | You're now known as TheWatcher[zZzZ] |
01:03 | | cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
01:04 | | cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code |
01:04 | | mode/#code [+o cpux] by ChanServ |
02:43 | <&ToxicFrog> | Fun exercise: how many things are wrong with this stack implementation? http://hastebin.com/cagodiyide.axapta |
02:43 | <&ToxicFrog> | I've found at least five. |
02:53 | | * Vornicus finds two on first inspection. |
02:53 | <~Vornicus> | ...three... |
02:54 | <~Vornicus> | four... |
02:55 | <~Vornicus> | I think that's all the ones I see. |
02:56 | <~Vornicus> | there may be more hiding in the java templating that I don't know about because i don't know how java does templating. |
02:59 | <&ToxicFrog> | Starts at -1, pop doesn't work, leaks memory, uses E[] rather than a Collection<E> or Pair<E, Stack<E>> or similar (which causes that ugly (E[])Object[] cast and the fixed size) |
03:00 | <&ToxicFrog> | Also the (top == maxSize) check is wrong and it'll ArrayIndexOutOfBoundsException if you push too many things. |
03:00 | <&ToxicFrog> | Does that cover everything you found, or is there more that I missed? |
03:02 | <~Vornicus> | i have: push's raise never gets hit, pop doesn't show you what it popped, pop on an empty stack "works" (though you get aioobe), pop on a stack with one element raises. |
03:04 | <~Vornicus> | I don't know enough about java to know how it's leaking memory there, and I didn't bother criticizing the fixed-size stack. |
03:05 | <@Azash> | How does it leak memory? |
03:06 | <~Vornicus> | also it's not robust against errors due to the way they're using ++ and --; those take effect before the aioobe's are raised. |
03:07 | <~Vornicus> | so there you have it. |
03:09 | <~Vornicus> | So I think after you get an error or two the stack is completely unusable. |
03:12 | <&ToxicFrog> | Also the first element you push to it is sacrificed; you have to push twice before pop will work. |
03:12 | <~Vornicus> | that's my fourth error. |
03:12 | <&ToxicFrog> | Azash: it "pops" elements by decreasing the top-of-stack index without actually nulling the object reference. |
03:13 | <~Vornicus> | oh, right, that would be bad anywhere refcount gc happens. |
03:13 | <&ToxicFrog> | Which means that if you push four elements and then pop three, the stack still holds references to all four and they won't be subject to collection. |
03:13 | <@Azash> | True, but I wouldn't call it a real leak |
03:13 | <&ToxicFrog> | At least until you push more objects to overwrite the references or release the reference to the stack itself. |
03:13 | <&ToxicFrog> | Vornicus: even in mark-and-sweep. |
03:13 | <@Azash> | Since it's all accessible and will be collected when you push up there again |
03:14 | <~Vornicus> | tf: true |
03:14 | <&ToxicFrog> | Azash: in garbage collected languages, cases where something should be subject to collection but isn't because something is incorrectly holding a reference to it is generally referred to as a leak, even though it's not a leak in the C sense. |
03:14 | | celticminstrel is now known as celmin|away |
03:19 | | Attilla [chatzilla@Nightstar-02422f4a.range81-151.btcentralplus.com] has quit [Ping timeout: 121 seconds] |
04:12 | | celmin|away is now known as celticminstrel |
04:25 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
04:26 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
04:27 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
04:27 | | mode/#code [+o Syloq] by ChanServ |
04:28 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
04:31 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
04:31 | | mode/#code [+o Courage] by ChanServ |
04:36 | | Kindamoody[zZz] is now known as Kindamoody |
05:05 | | Orthia [orthianz@3CF3A5.E1CD01.5A78C0.03128C] has quit [[NS] Quit: Going dooooown...] |
05:07 | | Rhamphoryncus [rhamph@Nightstar-f8b1f87b.abhsia.telus.net] has quit [Ping timeout: 121 seconds] |
05:31 | | Rhamphoryncus [rhamph@Nightstar-f8b1f87b.abhsia.telus.net] has joined #code |
05:31 | | mode/#code [+o Rhamphoryncus] by ChanServ |
05:46 | | Derakon is now known as Derakon[AFK] |
05:51 | | Rhamphoryncus [rhamph@Nightstar-f8b1f87b.abhsia.telus.net] has quit [Ping timeout: 121 seconds] |
05:54 | | Rhamphoryncus [rhamph@Nightstar-f8b1f87b.abhsia.telus.net] has joined #code |
05:54 | | mode/#code [+o Rhamphoryncus] by ChanServ |
06:43 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
08:10 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
08:11 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
08:11 | | mode/#code [+o Syloq] by ChanServ |
08:42 | | McMartin_ [mcmartin@Nightstar-8413ac3f.pltn13.sbcglobal.net] has joined #code |
08:45 | | McMartin [mcmartin@Nightstar-65739d7a.pltn13.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
08:54 | | McMartin_ is now known as McMartin |
08:54 | | mode/#code [+ao McMartin McMartin] by ChanServ |
09:02 | | JustBob [justbob@ServerAdministrator.Nightstar.Net] has left #code [] |
09:03 | | JustBob [justbob@ServerAdministrator.Nightstar.Net] has joined #code |
09:12 | | syksleep is now known as Syk |
09:14 | | Kindamoody is now known as Kindamoody|afk |
09:14 | | You're now known as TheWatcher |
09:17 | | AnnoDomini [abudhabi@Nightstar-c3110575.adsl.inetia.pl] has quit [Ping timeout: 121 seconds] |
09:18 | | AnnoDomini [abudhabi@Nightstar-c3110575.adsl.inetia.pl] has joined #code |
09:34 | | AnnoDomini [abudhabi@Nightstar-c3110575.adsl.inetia.pl] has quit [Z-Lined: Your IP range has been attempting to connect too many times in too short a duration. Wait a while, and you will be able to connect.] |
09:49 | | AnnoDomini [abudhabi@Nightstar-c3110575.adsl.inetia.pl] has joined #code |
10:03 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
10:16 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
10:16 | | mode/#code [+o himi] by ChanServ |
10:32 | | You're now known as TheWatcher[swim] |
11:07 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
11:47 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
12:09 | | Attilla [chatzilla@Nightstar-02422f4a.range81-151.btcentralplus.com] has joined #code |
13:32 | | Kindamoody|afk is now known as Kindamoody |
13:55 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
13:55 | | mode/#code [+o celticminstrel] by ChanServ |
15:16 | | You're now known as TheWatcher |
15:27 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
15:30 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
16:11 | | KBot [karma.bot@A08927.B4421D.FE7332.A86588] has joined #code |
16:13 | | KarmaBot [karma.bot@Nightstar-be32adc8.80-203-17.nextgentel.com] has quit [Ping timeout: 121 seconds] |
16:14 | | KBot is now known as KarmaBot |
16:26 | | Kindamoody is now known as Kindamoody|out |
16:40 | | cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [Client closed the connection] |
17:36 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
17:36 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
18:03 | | [R] is now known as Vasi |
18:07 | | Derakon[AFK] is now known as Derakon |
18:11 | | Kindamoody|out is now known as Kindamoody |
18:18 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
18:18 | | VirusNotAtWork [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
18:21 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
18:21 | | VirusHome [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
18:45 | | VirusJTG__ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
18:47 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
18:47 | | mode/#code [+o Pandemic] by ChanServ |
18:48 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
18:48 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
18:49 | | VirusNotAtWork [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
18:49 | | VirusJTG__ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
19:20 | <@Rhamphoryncus> | The cyanogenmod devs seem to have some lovely hostility towards bug reports. "We publish nightlies so you can use them, but don't you DARE give us bug reports!" |
19:27 | <@Pandemic> | lol |
19:28 | <@Tamber> | "Dear Devs; I don't think you understand *why* people release nightlies~" |
19:30 | <@Vasi> | TIL ISAAC is not a good RNG for a dicebot. |
19:30 | <@Vasi> | Neither is the Java built-in one. |
19:31 | <@Vasi> | Suggestions? |
19:31 | | * Tamber hands Vasi a bucket of dice. |
19:31 | | * Vasi now has two buckets and a problem. |
19:34 | <@Namegduf> | I think I just used C's own- but rather than using mod whatever, I split the space of possible values into whatever-many blocks and picked whichever one it was in. |
19:34 | <@Namegduf> | Basically, using that the higher bits were more reliably random. |
19:36 | < Attilla> | what happens if you give the cyanogenmod devs bug repots |
19:36 | < Attilla> | *reports |
19:36 | <@Namegduf> | They come for you in the nightlies. |
19:36 | <@Azash> | Things that go bump in the nightly |
19:37 | <@Azash> | But don't worry; I am sure that common man is still protected by some nightly orders |
19:37 | <@Rhamphoryncus> | If it's on a nightly they close it as invalid. If you post on a forum you might get flamed instead (I saw reference to that in the comments following a post from the devs saying not to submit but reports on nightlies) |
19:38 | <@Rhamphoryncus> | Another comment on there said nightlies were only to test merge issues |
19:42 | | AnnoDomini is now known as LootOffice |
19:43 | | LootOffice is now known as LootOfficer |
20:04 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
20:14 | | Reiv [NSwebIRC@A3BDC3.5BE3EC.B8847E.5ADB9D] has joined #code |
20:14 | | mode/#code [+o Reiv] by ChanServ |
20:16 | | Kindamoody is now known as Kindamoody[zZz] |
20:45 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
20:45 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
22:35 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
22:36 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
23:09 | | Vasi is now known as [R] |
--- Log closed Mon Mar 11 00:00:05 2013 |