#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-02-18

Timestamps are in GMT/BST.

00:08:01Platskies has joined
01:07:11Nothing_Much Quit (Ping timeout: 255 seconds)
01:12:28Nothing_Much has joined
01:31:55SolumnMushroom has joined
01:46:17kaen has joined
01:53:43kaenthat was pretty dense for only three days worth of forum posts.
01:59:12kaenirclogs were mercifully thin though.
02:26:50Platskies Quit (Remote host closed the connection)
02:56:53Nothing_Much Quit (Ping timeout: 248 seconds)
02:59:51Platskies has joined
03:10:07Nothing_Much has joined
03:24:12Platskies Quit (Remote host closed the connection)
03:37:49Platskies has joined
03:38:21raptor has joined
03:38:21ChanServ sets mode +o raptor
03:44:59raptoroh hey kaen, welcome back
03:45:07raptoryes... i spoke little in IRC..
04:14:45raptorwow, i'm reading up on curling... i had no idea how involved it was
04:43:16SolumnMushroom Quit (Quit: Leaving)
05:09:42bobdaduck has joined
05:09:53bobdaduckOh, there's all the people
05:10:23bobdaduckGot on earlier and it was just me and logbot
05:10:40raptorBFLogBot appreciates your company
05:11:00bobdaduckI'll bet he does
05:11:04bobdaduckWait, its a he right?
05:11:08raptor!bot
05:11:08BFLogBotI'm a real boy!
05:11:24raptori think he self identifies that way, yes
05:11:33bobdaduckah okay.
05:17:55bobdaduck Quit (Quit: Page closed)
05:47:49raptor Quit ()
06:03:09Platskies Quit (Remote host closed the connection)
06:06:21Wuzzy Quit (Quit: Wuzzy)
06:06:35Platskies has joined
07:34:19Darrel has joined
08:10:11kodaws has joined
08:17:45Platskies Quit (Remote host closed the connection)
08:30:26Platskies has joined
08:59:01watusimoto has joined
08:59:01ChanServ sets mode +o watusimoto
09:08:27Platskies Quit (Remote host closed the connection)
09:50:12LordDVG has joined
09:52:57LordDVG Quit (Remote host closed the connection)
10:02:08Platskies has joined
10:21:18Platskie_ has joined
10:21:18Platskies Quit (Read error: Connection reset by peer)
10:40:24Darrel Quit (Ping timeout: 248 seconds)
10:52:38Darriel has joined
11:30:51kaen<raptor> i think he self identifies that way, yes
11:31:02kaenoh, my sides
12:16:48Watusimoto_ has joined
12:18:18Platskie_ Quit (Remote host closed the connection)
12:18:57Darriel Quit (Ping timeout: 240 seconds)
12:22:45Darriel has joined
12:23:01Darriel is now known as Darrel
12:30:16Darrel Quit (Ping timeout: 248 seconds)
12:31:28Darrel has joined
12:31:45watusimoto Quit (Ping timeout: 252 seconds)
12:37:32Nothing_Much Quit (Ping timeout: 252 seconds)
12:44:57Darrel Quit (Ping timeout: 252 seconds)
12:50:16Watusimoto has joined
12:50:35Nothing_Much has joined
12:53:21Watusimoto_ Quit (Ping timeout: 252 seconds)
13:22:16Watusimoto Quit (Ping timeout: 256 seconds)
15:00:47raptor has joined
15:00:47ChanServ sets mode +o raptor
15:33:42raptorargh
15:33:59raptori've been trying the suggestions in that SO question I started about the levelgen
15:34:30raptoreverything looks normal
17:03:26Wuzzy has joined
17:07:56watusimoto has joined
17:07:56ChanServ sets mode +o watusimoto
17:20:20raptorhappy president's day!
17:20:45raptoralthough, honestly, i feel like this day was introduced just so gov't workers could get a day off on the taxpayer's dime
17:21:01raptorand i say that because my dad said that, and he worked for the state of connecticut
17:21:06raptor:)
17:21:23raptorbut at least i have school off...
17:28:04watusimotoI don't buy it
17:28:20raptorhi
17:28:25watusimotowe used to get washington's birthday off when I was a kid, then they combined it all into presidents day
17:28:26watusimotohi
17:28:32raptoroh yeah!
17:28:39raptori remember now.. lincoln's and washingtons
17:28:53watusimotoso maybe they get fewer days off now
17:28:58raptorheh
17:31:38watusimotoso here's a lua test to try
17:31:45raptorso i've been doing loads of Lua test
17:31:50watusimototake the levelgen that crashes
17:31:53raptorok
17:31:56watusimotoadd the pcall wrapper test to it
17:31:58raptor(i have it up right now..)
17:32:33watusimotothen if the pcall fails, print a message, and try calling the same function using the "never fails" method from my SO question
17:32:42watusimotoand see if it really never fails
17:32:53watusimotoand if so, post that info on your SO question
17:32:56raptorwhich SO question?
17:33:10watusimotothe one I posted about the same issue -- you linked to it in yours
17:33:17raptorah ok
17:33:23watusimotohttp://stackoverflow.com/questions/14655949/why-does-one-work-and-one-crash
17:33:29raptorso basically in the failed pcall, just call it again?
17:33:38watusimotoyes, but using the other method
17:34:11watusimotoPerhaps put the whole thing ina loop, and try it 1000 times; perhaps seeing if after it fails it ever succeeds again
17:34:14watusimotoand so on
17:34:37watusimotodo you follow what I'm describing?
17:34:44watusimotofor i = 1 to 10000
17:34:56watusimotot = new textItem
17:35:10watusimotopcall(t:setText("b0rk")
17:35:10raptoroh, the grab metatable first method?
17:35:27watusimotoif error then grab metatable; try again end
17:35:31watusimotonext
17:35:45watusimotosomething like that
17:35:55watusimotowith logging at the various steps to show what's happening
17:36:32raptorok
17:36:44watusimotoI also have another theory
17:36:49watusimotobecause the levelgens are failing
17:36:51raptorjust so you know
17:37:13raptori've been printing out every conceivable object before and after something fails
17:37:15watusimotoperhaps it was a problem introduced by the refactors of other lua stuff I did
17:37:25raptorand they *always* match like nothing is wrong
17:37:35watusimotoyes, that was my finding as well
17:37:53watusimotoit has to be either 1) a lua error or 2) memory corruption
17:38:09raptori did find where in Lua to add a break point when it fails
17:38:15raptorldo.c:466
17:38:17watusimotoI did too at one point
17:38:18watusimotook
17:38:23raptorbut i can't read anything there
17:38:35watusimotoone thing to think about is to trace the lua stuff during a non-failing call
17:38:44watusimotothen trace it during a failing call
17:38:48watusimotoand see where the two diverge
17:39:11watusimotoI started doing that, but got completely lost in the lua
17:39:34watusimotoof course, it was harder for me to do that with the bots because they might cycle 1000 times before failing
17:39:36kodaws Quit (Ping timeout: 248 seconds)
17:39:52watusimotoit sounds like you can reproduce more easily with the levelgens
17:39:56raptorby 'trace' you mean follow a call path
17:39:58raptor?
17:39:59watusimotoyes
17:40:13watusimotoI need to go in about 2 mins -- any progress on desura?
17:40:25watusimotodo I need to ping them again?
17:41:12raptoroh hey
17:41:17raptori got a response!
17:41:22raptor(after a week)
17:41:51raptor"We have decided to change the way we do things on Linux. You will need to include those libraries yourself with the game. We are trying to phase out the dependencies libraries and have developers just include them with their game. We are also moving to one Linux branch and then the developer will need a script to choose between the 32/64 and launch the right one."
17:42:30watusimotowhat a pain
17:42:36watusimotoor is that ok?
17:42:41raptorso honestly, it sounds like they're giving up on Linux
17:42:43raptorit's a pain
17:42:45raptorfor sure
17:43:01watusimotowhy can't we just gzip those libraries up with our binary?
17:43:12raptorwe can
17:43:19watusimotowhy is that a pain?
17:43:47raptorwe'd need a wrapper script to load the libraries from some directory first
17:43:52raptori hate wrapper scripts
17:44:32watusimotoshould we not distribute a linux build via desura?
17:45:10raptori'm thinking no, for now
17:45:34watusimotook, I'll contact them and tell them to move forward with the windows release while we work out the linux one
17:45:41raptorok
17:45:46watusimotoand we can silently drop it
17:45:50raptorsounds good
17:50:16watusimotook, later
17:50:20raptorbye bye
17:55:55watusimoto Quit (Ping timeout: 260 seconds)
18:16:10Watusimoto has joined
18:16:58raptornew badge idea: Read documentation in the INI
18:19:39raptoroops, sorry
18:43:36Watusimoto Quit (Ping timeout: 248 seconds)
19:54:07raptorkaen: you around?
20:08:26Watusimoto has joined
20:11:15Watusimotohi
20:11:20raptorhi hi
20:11:23raptorok, new idea
20:11:33raptorstackoverflow.com/questions/13606066/lua-avoid-overloading-of-pcall-and-lua-callstack
20:11:41raptoralso, i did the test you wanted
20:11:59Watusimotoresult?
20:12:55raptorresult: http://pastie.org/6217025
20:13:02Watusimotowait, you aren't qix, are you?
20:13:05raptorand everything worked!
20:13:11raptorno
20:13:21raptorbut i found that when searching by symptom
20:14:11Watusimotook, but that seems to be all about threads
20:14:15Watusimotowhich we aren't using
20:14:16raptori've also asked the naev guys if they had any thoughts - their response: "please tell me you're executing a copy of each script in each thread"
20:14:35raptor"and not the same thread or same copy"
20:14:49Watusimotoyeah, same thread
20:15:01Watusimotobecause... why not?
20:15:34Watusimotolua threads != threads
20:16:11Watusimotoas in a lua script with multiple threads isn't really "multithreaded" in the sense you would ordinarily refer to
20:16:12WatusimotoI think
20:16:25raptorthis is a world i have not explored yet..
20:16:36YoshiSmb has joined
20:17:17Watusimotook
20:17:21Watusimotoso read the pastie
20:17:23raptorour problems just feel suspiciously like thread issues
20:17:33Watusimotoand I don't understand
20:17:45raptorwhen the script runs, i dump the metatable
20:17:49Watusimotoyou said everything worked
20:17:52raptorlet me get you my test script
20:18:00Watusimotoyet I see lots of pcall failed
20:18:22raptorhttp://pastie.org/6217138
20:18:25raptoryes, so
20:18:38YoshiSmb has left
20:19:13raptorthe pcall failed at all 441 calls, but grabbing the metatable in the 'catch' error method and calling the method again worked for all 441
20:19:19raptor441 = 21^2
20:19:22raptor0...20
20:23:03LordDVG has joined
20:24:14Watusimotoraptor: who does our linux building? i.e. what service do you use to create all the different installers?
20:24:23raptorbuild.opensuse.org
20:24:27raptorthe open build service
20:24:45raptorhere is the package page: https://build.opensuse.org/package/show?package=bitfighter&project=games
20:30:06Watusimotook, sent message to desura
20:30:15raptorgreat, thanks
20:31:00Watusimotodebian 6 == Ubuntu (as well as debian) right?
20:31:06raptoryes
20:31:16Watusimotoso we are building for debian and suse only
20:31:29raptorwell... we *were* also doing mandriva and fedora
20:31:29WatusimotoI thought there were more platforms included
20:31:35Watusimotoyes, I thought so
20:31:40Watusimotowhat happened there?
20:32:01raptorsomeone went in and cleared out all the non-suse builds of anything in the games repo (just last week)
20:32:15raptori got debian back in
20:32:21raptori need to get fedora back i think...
20:32:33Watusimotowhy did they do that?
20:33:20raptorit was a little rash, in my opinion: they said building all the games for those platforms was wasting a lot of server resources because 100s were failing to build
20:33:35raptorbut the simple solution is to just turn off the platforms by default
20:33:51Watusimotoye
20:33:52Watusimotos
20:33:59raptorso i have to get fedora back still
20:34:14Watusimotoor they could have deleted just the failing ones
20:34:16raptori don't think mandriva is that important... it's a practically dead distro
20:34:19raptoryes!
20:34:23Watusimotoduh!
20:34:47WatusimotoI am rather confused by the desura email system -- did you get a copy of my message?
20:34:54raptoruhh
20:34:55raptorlooking
20:35:18WatusimotoI'm happy to paste it -- just trying to understand as the system provides no feedback who gets the msg
20:36:10raptordidn't get an e-mail...
20:36:15Watusimotook
20:36:23raptorbut i see your message
20:36:25raptorin desura
20:36:35Watusimotook, that's all I expected
20:36:44Watusimotothis structure is overly confusing: http://download.opensuse.org/repositories/games/Debian_6.0/
20:36:58Watusimotohow's a sorry little ubuntu user going to find their package?
20:37:13raptorheh
20:37:13Watusimotothe folders are hidden amongst a lot of noise
20:37:19raptorhere:
20:37:43raptorwait... finding the *proper* link
20:38:26raptorhttp://software.opensuse.org/download.html?project=games&package=bitfighter
20:38:39raptorthere are front pages that work better...
20:39:19raptorgood message to desura, thanks
20:39:46Watusimotooh great, apt-get support!
20:39:51raptor:)
20:40:01raptorsee... the OBS is great!
20:40:14Watusimotoyes, it really is
20:40:24Watusimotoinstalling in Linux is such a mess
20:40:37Watusimotosomeone really needs to engineer a uniform solution
20:40:44raptorheh
20:40:59raptorthe OBS is pretty much the state-of-the-art solution...
20:41:02raptorto the problem
20:41:02Watusimotothe build service is a good step, but really it's kind of a hack
20:41:07raptorit totally is
20:41:14Watusimotoit's a sign of deeper rot
20:41:23raptoryeah, the issue is 'fragmentation'
20:41:33raptorI don't even consider Linux a cohesive platform
20:41:46WatusimotoI do, but I probably shouldn't
20:42:05raptorevery few years some system gets popular (like with Ubuntu)
20:42:08WatusimotoI mean, we can;t even agree on apt-get vs. yum vs. rpm... why all the duplication?
20:42:10raptorthen replaced
20:42:18raptorso
20:42:30raptorjust to correct your terminology
20:42:38raptorapt-get is to DEB as yum is to RPM
20:42:59WatusimotoI thought there was a separate rpm system... perhaps I was mistaken
20:43:09raptorRPM is just the file format
20:43:11Watusimotoso are there only two?
20:43:14raptorwith it's won system database
20:43:16raptor*own
20:43:19raptorjust like DEB
20:43:52raptoryum/apt-get are installation frameworks that interface with the file formats
20:43:57raptorwell
20:44:01raptoractually there's more
20:44:17raptorslackware / arch /etc. use straight tarballs
20:44:24WatusimotoI will say that (when it works, and when the versions installed aren't pathetically out of date) apt-get works great, much easier than windows installers
20:44:25raptorand somehow keep their own database
20:44:40Watusimotosource tarballs?
20:44:59raptornope, precompiled binaries distributed as tar.xz or tar.bz2 etc
20:45:17Watusimotowhich we do not distribute, correct?
20:45:29raptornope
20:45:46raptorthe arch guys are pretty good at staying on top of things themselves
20:45:54raptorthey have a highly motivated distro..
20:45:57WatusimotoI have no idea if anyone uses arch, but slackware always seemed popular
20:46:08raptorsuse actually came from slackware originally
20:46:29Watusimotowhat do you mean by "staying on top themselves"? Surely they aren't building Bitfighter packages!
20:46:43raptorthey are!
20:47:01raptorhttps://aur.archlinux.org/packages/bitfighter/
20:47:06raptoroh... they missed 018
20:47:14raptorusually they've been better than getdeb
20:47:47raptorbut i think getdeb is dead..
20:48:18Watusimotowow
20:48:26raptoryeah so linux...
20:48:36Watusimotoany way we can trigger them to rebuild?
20:48:54raptori could spend all my time trying to get things built for the various distros
20:49:01raptornot sure..
20:49:18Watusimotoah, pacman, that's another apt-get like thing
20:49:29raptorgenerally speaking, the page hit ranking on the right of this page: http://distrowatch.com/
20:49:43raptoris a good indicator of what distros to build for
20:49:51raptoroh no!
20:49:57raptormageia is there
20:50:07raptorargh, thats the mandriva fork fork
20:50:33WatusimotoMageia? never heard of them!
20:50:44Watusimotoha, didn't see your comment
20:50:58raptoror madrake fork fork fork
20:51:02raptor*mandrake
20:51:09Watusimoto"goal is to develop a free Linux-based operating system."
20:51:09raptorsomething like that..
20:51:14Watusimotounlike... everyone else?
20:51:14raptorhaahaha
20:52:11Watusimotowow... there aer a lot of linuxes out there... I would have guessed 10 or 12
20:52:47raptoryou need to look at this: https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Linux_Distribution_Timeline.svg/131px-Linux_Distribution_Timeline.svg.png
20:53:00raptoroops: https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
20:53:11raptorthat will give you a *proper* feel for the linux world
20:53:55bobdaduck_mobile has joined
20:54:02bobdaduck_mobilemornin gents
20:54:10raptorgood afternoon
20:54:17Watusimotogood lord
20:54:22Watusimotohi
20:54:31bobdaduck_mobilewhat?
20:54:33raptoryeah, so, lots of history
20:54:45WatusimotoWe need a Bitfighter Linux, customised to playing Bitfighter
20:54:53Watusimotowe could take mint and repackage it
20:55:00WatusimotoBintfighter
20:55:05WatusimotoMintfighter
20:55:11raptorbobdaduck_mobile: this will give you a good feel for the linux world and its highly cohesive ecosystem: https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
20:55:15raptori like mintfighter
20:55:49Watusimotoyeah... that's way too much duplication. How many different approaches could there really be?
20:56:00raptoras many as there are different people in the world
20:56:50Watusimotobut really... a different splash screen is not a different approach
20:57:33raptorso i fully understand desura's problem with Linux.. because it's everyone's problem with Linux
20:57:41raptoroh
20:57:45Watusimotoyup
20:57:54raptorValve's steam client just went gold on Linux
20:57:55WatusimotoI understand it too, but didn't know quite how bad it was
20:58:00WatusimotoI heard that
20:58:07WatusimotoI wonder how they deal with it
20:58:48Wuzzy2 has joined
20:58:55raptorthey say it's supported well on ubuntu 12.04
20:59:16raptorand allow other distros to repackage the client how they see fit
20:59:22raptoras for games + libraries, i'm not sure
20:59:42raptorbut i bet they provide their own libraries because it's in their best interest to make it easy for the end user
20:59:48raptorunlike the rest of the Linux world...
21:00:52bobdaduck_mobileI think trying to load that crashed my phone.
21:00:59raptorha!
21:01:50Wuzzy Quit (Ping timeout: 255 seconds)
21:02:32Watusimotook well, we can be done with desura until we hear back
21:02:38Watusimotoor get tired of waiting
21:02:38raptoryay
21:04:45raptorthis looks interesting: http://unknownworlds.com/decoda/download/
21:04:52raptortoo bad i'd need to run it in a VM..
21:05:21raptora new age has dawned!: our 2nd-born can now climb onto chairs
21:05:34raptor(and he's been able to push them around for a while..)
21:07:52Watusimotoquick favor:
21:07:53WatusimotoWhat is the output of "date -u +%V$(uname)|sha256sum|sed 's/\W//g'"?
21:08:06raptord2a291c6bf4fad8aaf7442433364ab6bfb2eecd969885543bfd1e4071db8633b
21:08:21WatusimotoI'm trying to register for the arch forms to ask how to update the bf package, and that's their captcha
21:08:25Watusimotouseless to me
21:08:28raptorhahaha
21:08:33raptorwow
21:08:37raptori love those guys already
21:08:38Watusimotoalmost like they don't want me around
21:09:49Darrel has joined
21:10:04raptorthe arch forums are notorious for being very helpful
21:10:15raptorand having really smart people
21:10:34raptorand making you feel stupid because the intelligence gap sometimes seems so large
21:10:39raptorbut very helpful
21:11:22raptor goes to check out mageia
21:14:29bobdaduck_mobile Quit (Ping timeout: 245 seconds)
21:15:51raptori'm not going to build for mageia yet... it looks like it may just be popular at the moment..
21:21:00Watusimotohttps://bbs.archlinux.org/viewtopic.php?pid=1233797#p1233797
21:21:15Watusimotohopefully we can just trigger something at reubuild time to keep them up-to-date
21:21:16raptorhaha, 'general'
21:23:45raptorso yeah, i'd say the popular distros would be good to have: debian, ubuntu, fedora, opensuse, arch
21:24:08Watusimotoand mint
21:24:17raptordebian + ubuntu + derivatives would take care of like 80%
21:24:22raptormint == derivative
21:24:33Watusimotoregardless, we have all of them except fedora
21:24:39Watusimoto(assuming arch comes through)
21:24:42raptorok, working on it!
21:26:01Watusimotodo you think desura changed their linux strategy because of us?
21:26:11raptormaybe! :)
21:26:22raptorwe broke the came's back
21:26:26raptor*camel's
21:26:37Watusimotothe way tim's email sounds, I think it may be
21:27:01Watusimotomaybe things weren
21:27:08Watusimoto't working well anyway
21:27:20Watusimotoand, as you said, we were the final nail in the coffin
21:27:26raptoryeah - and it's worse because we're completely free and would generate no revenue for them, but making a lot of work
21:27:33Watusimotoyup
21:27:42Watusimotothough we would help build their system
21:27:53Watusimotoor rather add more content
21:28:23raptori keep wondering if we did something wrong... but maybe we just woke them up to the realities of Linux
21:28:42Watusimotobut surely we presented no issues they hadn't encoutered before
21:28:48raptoryes
21:28:59Watusimotomaybe speex is an unusual lib, but everything else was pretty common
21:29:12Watusimotoand many other games must use their own unusual libs
21:30:16raptorsadly fedora doesn't build bitfighter: http://koji.fedoraproject.org/koji/search?match=glob&type=package&terms=bitfighter
21:30:28raptorbut i was sure CrazyLinuxNerd got it there at one point
21:31:35raptorso I have a choice
21:31:53raptori *could* use my home project in the OBS to build and add any repo I want
21:32:22raptorOR, I can try and convince the 'games' project maintainers to put back fedora, etc.
21:32:54raptorusing home repo == more control, a little lack of legitimacy
21:39:09WatusimotoI think better to try to convince, if that's feasible
21:39:28raptoralready chose that route :)
21:40:50Watusimotook, flagged package as out of date on Arch, added that step to the release checklist
21:42:53raptorok
21:44:02raptorI don't even know how to respond to my Lua question
21:44:23raptortried everything, everything looks good, it still fails
21:44:26raptor""
21:44:35Watusimotosee https://bbs.archlinux.org/viewtopic.php?pid=1233813#p1233813, frank604
21:45:10raptoractually, that's a good idea
21:45:17raptorOBS allows that, in fact... i forgot about that
21:47:55kaenhi all
21:48:09kaenjust read the log, I'm familiar with the arch pacman system if you all have questions.
21:48:22kaenAUR is user-run stuff, you just register and update it yourself iirc
21:48:40kaenbitfighter likely wouldn't make it into the main repo
21:49:40Darrel Quit (Read error: Connection reset by peer)
21:49:46raptorhi kaen
21:49:55kaenhello hello
21:50:21Watusimotoshould we add that to the checklist?
21:50:39Watusimotohi kaen
21:50:43raptoradd it under the section of OBS
21:50:47Watusimotook
21:50:57raptorupdate linux build systems': OBS, AUS, etc.
21:51:08kaenI only say that because you'd have to convince an Arch dev to maintain the package, but any user can update the AUR
21:51:18kaenincluding a skilled bitfighter fan
21:51:24raptorheh
21:52:01Watusimotoanyone can update aur??
21:52:02raptorwow, did they write their own variation of a SPEC file?: https://aur.archlinux.org/packages/bi/bitfighter/PKGBUILD
21:52:08kaenwell, you submit the update
21:52:09kaenbut yes
21:52:46kaenyep that's pretty much exactly what it looks like raptor
21:53:11kaenthere's a command to make a scaffold file, but all you need is the PKGBUILD and there are tools to pull in the rest
21:53:35kaenbut there's no apt-get style system for AUR packages, they (or the PKGBUILDs) have to be manually retrieved
21:55:32WatusimotoDon't forget to vote!
21:55:33Watusimotohttps://aur.archlinux.org/packages/bitfighter/vote/
21:57:44raptorneed to register... and raptor is taken!
21:57:49kaenD:
21:58:03kaen"kaen" is taken nethack.alt.org
21:58:05Watusimotogeneralraptor!
21:58:10kaenby someone who has never even played a single game :<
21:58:22kaentaken on*
21:58:33Watusimotoor, if you are feeling less grandiose, colonelraptor, or maybe leutennantraptor
21:58:39Watusimotoor whatever
21:58:44raptorhaha, i actually did use 'generalraptor'
21:58:52Watusimotoha
21:59:06Watusimotonot airmanfirstclassraptor
21:59:16Watusimotostaffseargantraptor
22:00:02raptorok wait
22:00:05raptori registered on AUR
22:00:13raptordifferent login than forums??
22:00:18kaenI believe so.
22:00:22raptorbah
22:01:30Watusimotoyes
22:01:38Watusimotodifferent
22:01:44Watusimotoso where were we on the lua bug thing
22:02:18raptori hate his bug
22:02:24kaenI'm lost in the sauce on this one guys...
22:02:32Watusimotoyou were saying everything worked, by which I think you meant that the script triggered 4xx failuures, but that the alternative attempt to access the metatable always worked
22:02:40raptorkaen: did you see this?: stackoverflow.com/questions/13606066/lua-avoid-overloading-of-pcall-and-lua-callstack
22:02:43kaenyep
22:02:48raptorWatusimoto: yes
22:02:52raptorerr, correct
22:03:05Watusimotodid you confirm that once the pcall fails, it never works again?
22:03:37raptorhow do you mean? when the script starts the first call fails, then every one after that fails...
22:03:43Watusimotoyes
22:03:47Watusimotook, you confirmed that?
22:03:56raptorso far it looks that way...
22:03:58Watusimotook
22:04:06raptori should test with sam686's original test case
22:04:17Watusimotoso that argues against the mutlple metatable theory
22:04:26Watusimotounder that theory, it would randomly work again
22:04:48Watusimotoif you know what I'm talking about
22:04:51raptoryes
22:04:57Watusimotoreferring to the idea ... ok
22:05:05raptori was thinking that that was one cause
22:05:08Watusimotoso kaen, here's my assessment of where we are with the sauce
22:05:27WatusimotoI think it's either 1) memory corruption or 2) lua bug
22:06:11raptorWatusimoto: we have two 'branches' now in the repo
22:06:12Watusimotoand I think it's not 1) because corruption is very consistent, and seems to affect program space, not really heap space (or whatever mallocable memory is called)
22:06:20Watusimotoraptor: is that good?
22:06:20raptorthe 'lua52' branch, and 'main'
22:06:41Watusimotothere is one other theory we haven't explored at all
22:07:10kaenmisanthropic code-dwelling gnomes?
22:07:12Watusimotowe've been focusing on luaw stuff (or at least I was before I left for a week) because that's what bisect suggested
22:07:19Watusimotook, two theories
22:07:27Watusimotognomes and...
22:08:12Watusimotocould it be possible that changes to the other lua stuff broke something? that is, I refactored a ton of lua related code leading up to the fateful change that seems to have broken everything
22:08:34kaenand perhaps that revision merely exposed?
22:08:40kaencertainly seems worth exploring
22:09:08Watusimotoyes -- bisect suggests that it was the fateful corruption was the uncommenting of the luaw_holds statement
22:09:38Watusimotobut when I uncommented that earlier (it was uncommented before it was commented), we never experienced this issue
22:09:40raptorwell
22:09:44raptorthis levelgen bug was in 018
22:09:47Watusimotoor if we did we didn't recognize it as such
22:09:52Watusimotoreally
22:09:54raptoryes
22:09:55Watusimotoreally??????
22:09:56kaenwhoa
22:09:59raptoryes!!
22:10:00kaenI had no idea
22:10:08Watusimotome neither
22:10:23raptorthat's when sam686 added his test-case... after it failed a few times during the level design contest on his 'blizzard' map
22:10:45raptori... i had no idea you had no idea
22:10:51Watusimotook, if that is true, then that eliminates everything I've been testing
22:10:58Watusimotoand everything I've proposed testing
22:11:12raptorup until a week ago i was operating under the impression that they were different bugs
22:11:26Watusimotoif it exists in 018 then... it is compleetely unrelated to any lua-related work I did since 018
22:11:32raptoryes
22:11:37raptorat least the levelgen one
22:11:43Watusimotoit's the same bug
22:11:46raptorbut bots worked back then
22:12:18Watusimotowell... do bots work now?
22:12:22kaenyes.
22:12:29raptoryes, after i made that luaW_hold change
22:12:39raptorand probably introduced a memory leak..
22:12:40Watusimotook
22:12:42Watusimotogood
22:12:52Watusimotothat's why bots worked in 018
22:13:06raptorbecause we had a leak in 018?
22:13:10raptorok, that makes sense
22:13:10Watusimotoprobably
22:13:16Watusimotoit's a small leak
22:13:28Watusimotouserdatas are only... what... 8 bytes?
22:13:34kaenyes
22:13:42kaenmaybe 16 on a 64 bit system.
22:13:46kaenit's like a pointer and an int.
22:13:46Watusimotoso... 8 million lost userdatas is only 8mb
22:13:51Watusimotoon the server
22:13:54kaenyeah
22:14:02Watusimotoand we'd never get that on a client
22:14:06Watusimotoit shuts down too soon
22:14:15Watusimotoand 8mb is hardly noticible
22:14:18Watusimotoso.
22:14:21kaenagreed.
22:14:23raptorso buttons!
22:14:29Watusimotoit probably leaks/ed, and no one cared
22:14:35kaenraptor, I've never met anyone else who says that...
22:14:35raptoryes
22:14:38raptori agree
22:14:42kaenexcept my old boss and I
22:14:43raptor:)
22:14:54WatusimotoI said it growing up... so what? sew buttons on an old man's shirt!
22:15:08kaenheh
22:15:47kaenquestion: any idea why luaW_hold'ing it causes(do I have that straight?) the crash
22:16:22kaenit seems like telling lua to manage it rather than luaW would make it *more* likely that lua would GC it out from under luaW.
22:16:46Watusimotodo you guys understand what the luaw_hold does?
22:17:02kaenI believe so
22:17:08kaenmy understanding:
22:17:34kaenluaW adds a ref to it in its __holds table as long as the proxie's count is greater than zero
22:17:39raptormake it so luaW manages the userdata memory, right?
22:17:40kaenand nils the ref once it's zero.
22:17:48Watusimotosounds about right
22:17:53Watusimotook, what if we tested this?
22:17:55kaenthus dictating lua's GC'ing of it
22:17:56raptorour current version of luaW uses the ref count
22:18:05Watusimotoadd back the luaw_hold
22:18:19Watusimotobut remove the delete in the hold
22:18:58raptorok
22:19:00Watusimotothat would establish if the deletion of the proxy was the issue, or whether it was something in the lua code that was the problem
22:19:18raptorwher eis the delete..
22:19:20Watusimotobecause we keep thinking of memory corruption, and deletes seem to be dangerous somehow
22:19:28WatusimotoI'll find it
22:19:37Watusimotothere's only one in luaW, I think
22:20:10raptori see luaW_release being called from luaW_gc
22:20:10Watusimoto636
22:21:17raptorso never call the gc
22:21:19Watusimotobtw, please add an assert c. 640, just after the block surrounding the delete: TNLAssert(false, "Never gets here"); just to eliminate anything later
22:21:34raptorerr, never let gc delete, you mean?
22:21:56Watusimotolua will delete the userdata
22:22:05Watusimotobut c++ will not delete the proxy object
22:22:16Watusimotoif you comment out that delete
22:22:35raptorshould i do the decUseCount?
22:22:43Watusimotosure
22:22:49raptori mean, comment it out
22:22:51WatusimotoI hardly think that's likely to cause a problem
22:22:56Watusimotoleave it in
22:22:59raptorok
22:23:10Watusimotoor not... it's jsut a blah-- statement
22:23:26Watusimoto bool decUseCount()
22:23:26Watusimoto {
22:23:26Watusimoto mUseCount--;
22:23:26Watusimoto return mUseCount == 0;
22:23:27Watusimoto }
22:23:45raptorand you want me to.. test bots now?
22:23:59Watusimototest whatever most reliably crashes
22:24:03Watusimotoso probably levelgen
22:24:06raptorlevelgen
22:24:20Watusimotothis will eliminate the c++ delete
22:24:26raptorcrash!
22:24:32Watusimotothat was fast
22:24:36raptoryep
22:24:45Watusimotook, so it seems to be a bug in lua g
22:24:47Watusimotogc
22:25:01raptori'm not sure I understand your reasoning...
22:25:24WatusimotoI'm not sure I do either... ;-(
22:25:45Watusimotook
22:25:53Watusimotoluaw_holds has only one effect
22:26:14Watusimotothat is it tells luaw not to prevent lua from collecting the userdata
22:26:33Watusimotolua starts to collect, calls _gc, then is either allowed to not
22:27:17Watusimotohell, try commenting out the entire contents of luaW_gc and try again
22:27:27raptorok
22:28:24Watusimotoso lua calls luaW_gc,
22:28:26Watusimotowait a minute
22:28:35Watusimotohold on here
22:28:41Watusimotook
22:29:01Watusimotolet's just think this through
22:29:01raptorcrash!
22:29:14Watusimotolua goes go collect the userdata
22:29:43Watusimotobecause luaw_holds was called, it calls luaw_gc immediately before collecting
22:29:53Watusimotothe if(proxy) is always true
22:30:09Watusimotoso all luaw_gc does is deletes the proxy object
22:30:10raptorhttp://sam6.25u.com/upload/7screenshot_5.png
22:30:11raptorhttp://sam6.25u.com/upload/3screenshot_6.png
22:30:12Watusimotoand returns
22:30:23raptor1st load, then /restart
22:30:40raptorit seems as though if(proxy) is always true
22:30:45Watusimotoit should be
22:30:50Watusimotobut that's what's got me thinking
22:31:09Watusimotobecause the proxy stuff does not exist in regular luaw
22:31:24Watusimotoso in regular luaw, all that code after the if(proxy) block ran
22:31:51Watusimotoso I'm wondering if something important was done in that code, that we're not doing any more, that's causing luaw to get messed up
22:32:01Watusimotoso I'm just reading it now

Index Search ←Prev date Next date→

These logs were automatically created by BFLogBot on irc.freenode.net.