Camelia, the Perl 6 bug

IRC log for #padre, 2010-05-04

| Channels | #padre index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:02 run4flat joined #padre
02:13 Hyppolit #941: Help is improperly formatted/displayed (new defect) [ http://padre.perlide.org/trac/ticket/941 ]
02:24 Hyppolit #941: Help is improperly formatted/displayed (new defect) [ http://padre.perlide.org/trac/ticket/941#comment:1 ]
03:24 Hyppolit svn: r11408 | adamk++ | http://padre.perlide.org/trac/changeset/11408
03:24 Hyppolit Added as_array and from_array round-strip serialization for handle objects, so they can be pushed through a thread queue safely.
03:24 Hyppolit branches/Padre-TaskRewrite/lib/Padre/ branches/Padre-TaskRewrite/lib/Padre/Task2/ branches/Padre-TaskRewrite/t/threads/
03:50 |Sno| joined #padre
04:13 run4flat \leave
04:15 kaare joined #padre
05:01 szabgab joined #padre
05:27 kaare_ joined #padre
05:41 Hyppolit svn: r11409 | adamk++ | http://padre.perlide.org/trac/changeset/11409
05:41 Hyppolit Launch the new slave master trickery before the old one (the old one sucks in way more modules than the new one, and this gives the new one a cleaner startup opportunity)
05:41 Hyppolit branches/Padre-TaskRewrite/lib/Padre/
05:49 marcela joined #padre
05:53 Xaero joined #padre
05:56 SvenDowideit joined #padre
06:09 Alias joined #padre
06:14 SvenDowideit_ joined #padre
06:17 dorkfish joined #padre
06:31 pece joined #padre
06:32 Hyppolit svn: r11410 | adamk++ | http://padre.perlide.org/trac/changeset/11410
06:32 Hyppolit Added extensive additional hooks for Padre::Logger to the Task2 classes.
06:32 Hyppolit
06:32 Hyppolit Added singleton wrapping for Padre::Wx::App, so that the task handle child -> parent messages can be sent even if we haven't built an entire Padre editor.
06:32 Hyppolit
06:32 Hyppolit First attempt to run the complete execution cycle with proper child -> parent start and stop messages.
06:32 Hyppolit branches/Padre-TaskRewrite/lib/Padre/ branches/Padre-TaskRewrite/lib/Padre/Wx/ branches/Padre-TaskRewrite/t/threads/
06:35 SvenDowideit_ joined #padre
06:41 aukjan joined #padre
06:41 SvenDowideit__ joined #padre
06:46 Xaero_ joined #padre
08:06 kreetrapper joined #padre
08:21 pece joined #padre
08:30 daxim joined #padre
08:30 Xaero_ joined #padre
08:30 marcela joined #padre
08:30 Trelane joined #padre
08:30 charsbr joined #padre
08:30 BooK joined #padre
08:30 Getty joined #padre
09:33 Hyppolit svn: r11411 | zenogantner++ | http://padre.perlide.org/trac/changeset/11411
09:33 Hyppolit small formatting change
09:33 Hyppolit trunk/Padre/lib/
09:53 Alias joined #padre
10:02 kgish joined #padre
10:29 [Sno] joined #padre
10:43 aukjan joined #padre
11:15 waxhead joined #padre
11:16 waxhead hey everyone
11:18 zenog hi waxhead
11:18 waxhead zenog, how goes things?
11:19 * waxhead is reading up on how to netboot a diskless myth frontend..
11:19 * zenog will visit Japan in June, so very happy ;-)
11:19 waxhead nice!
11:19 waxhead work or holiday
11:20 zenog Holiday.
11:20 zenog And a friend's wedding.
11:21 zenog What is a "diskless myth frontend"?
11:21 waxhead heard of mythtv?
11:22 waxhead http://mythtv.org
11:22 Alias Open source Tivo, only harder to setup and use
11:22 waxhead well, that's ONE description
11:22 waxhead the other is a rock solid bit of work once you get past fiddling with things
11:24 zenog Does it also have recommendations?
11:25 zenog I mean, can it learn your viewing preferences and suggest things to watch?
11:34 submersible waxhead: r u planning on bootp?
11:34 waxhead submersible, yep.. setting it up now
11:34 waxhead zenog, don't think so...
11:34 waxhead submersible, lots to learn
11:35 * submersible still thinks bootstrapping is fun
11:39 waxhead well the hope is get one working, I can add more into the network
11:47 Sewi myth doesn't work well with existing video files.
11:47 waxhead Sewi, how so?
11:47 waxhead I'm watching highly compressed mkvs fine...
11:48 waxhead even better with VDPAU, cpu load comes right down... hence the atom based front end i'm trying to get up and running
11:48 Sewi Oh, watching is no problem, but it don't work well if you store all your metadata (title, season, episode) in the filename
11:49 waxhead oh.. myth stores it in the DB
11:50 Sewi Yes, but it's unable to get this information just from the filenames. You may be able to write some DB data patch script for this but I didn't try... oxine used to show the filename.
11:50 Sewi myth cuts the filename to a (most times) unusable small length when showing it.
11:51 Sewi And some (many) German translation don't fit their space in the GUI :-(
11:51 waxhead it does what I need to... which is record hours of TV
11:52 waxhead it has 6 tuner cards on moday night and tuesday night nearly all of them are in use!
11:52 waxhead don't watch much live tv any more
11:57 Sewi me too but usually I don't record the things myself :-)_
11:57 Sewi :-)
11:58 submersible Sewi: for the price of bandwidth in .au - it's very effective to snarf TV from the airwaves rather than downloading it
11:58 submersible plus you only have to cope with the tv station's crappy mpeg-2 encoding instead of the highly crappy mk* format d'jour
11:59 waxhead submersible, and it sort of fits in with the 'fair use' rather than the more questionable downloading of shows
11:59 submersible zactly
11:59 waxhead although .au is apparently one of the highest P2P tv show downloaders
11:59 submersible we're also totally suckers
11:59 submersible :D
11:59 waxhead :)
12:00 waxhead it works for me.. the issue now is distributing it around the house
12:07 * Alias grumbles at Wx and threads
12:07 Alias Wx::App::GetInstance()->signal fails
12:07 Alias in a double-nested thread
12:07 Alias (in the new threading code)
12:33 Alias OK, note for future reference
12:33 * waxhead waits with baited breath
12:33 Alias When Perl does threading, it clones the Perl structure
12:33 Alias But Wx itself doesn't
12:34 waxhead how the heck do you find that out?
12:34 * waxhead really doesn't do much debugging outside of VS2008...
12:34 Alias # Tue May  4 22:23:33 2010 Padre::Wx::App::new 'Padre::Wx::App'
12:34 Alias # Tue May  4 22:23:33 2010 Padre::Wx::App::OnInit Padre::Wx::App=HASH(0x1f98b0c)
12:34 Alias This is from my upgraded Padre::Logger
12:34 Alias (Which is what I've been using for when there's multithreaded stuff I can't use Perl debugger for)
12:35 waxhead oh.. classic print statement debugging
12:35 waxhead I do lots of that
12:35 Alias yup
12:35 Alias # Tue May  4 22:23:36 2010 (Thread 2) Padre::Task2Handle::message Padre::Wx::App=HASH(0x1f98b0c)
12:35 Alias # Tue May  4 22:23:36 2010 (Thread 2) Padre::Task2Handle::message Padre::Wx::App=HASH(0x1f98b0c)
12:35 Alias # Tue May  4 22:23:36 2010 (Thread 2) Padre::Wx::App::new 'Padre::Wx::App'
12:35 Alias # Tue May  4 22:23:36 2010 (Thread 2) Padre::Task2Handle::message Padre::Wx::App=HASH(0x35b8884)
12:35 Alias # Tue May  4 22:23:36 2010 (Thread 2) Padre::Wx::App::new 'Padre::Wx::App'
12:35 Alias # Tue May  4 22:23:36 2010 (Thread 2) Padre::Task2Handle::message Padre::Wx::App=HASH(0x35b8884)
12:35 Alias OK, so the first two there are from calling Wx::App::GetInstance()
12:36 Alias (Done twice to make sure it doesn't make a new object every time)
12:36 Alias And the second two return the Perl level singleton
12:36 waxhead right
12:36 Alias So compare the memory addresses
12:36 waxhead different
12:36 Alias And compare to the original top level process
12:37 Alias If I call ->signal on the GetInstance() one, Perl segfaults
12:37 Alias If I call ->signal on the Perl-level singleton, it calls the method ok
12:37 Alias It happens at method-call time
12:38 Alias So I'm thinking that Wx's native singleton fetch function returns the parent process instance
12:39 Alias And not the Perl-level cloned one
12:41 waxhead hmm... OK
12:41 Alias And then when Perl tries to call a method on it, something goes awry
12:42 Alias However, I still can't tell if the events are making it to the parent process
12:46 Alias oh wait, I'm not actually starting the main loop
12:46 Alias The message handling down to the children is done using native Perl threads, but the message back to the parent is done through Wx
12:47 waxhead it will do your head in.. :)
12:47 waxhead does mine in...
12:47 Alias Encapsulation is your friend
12:47 Alias Solve each piece alone, test it alone, then thread it together carefully
12:48 Alias I've noticed looking back over my old code that the trickier the mechanism is, the more extensive my tests were
12:48 Alias And some of the most complicated code, turns out to be surprisingly easy to maintain later, due to the depth of the tests
12:49 Alias I don't think anyone know's quite how PPI works any more, but it's tests are so comprehensive it's easy to refactor in depth if you really need to
12:49 Alias Or relatively easy at least
12:49 Alias It's a bit annoying too
12:49 Alias Because I can imagine all the rest of my code would be that easy too, if only I wrote more tests
12:50 submersible ...braaains
12:50 Alias But there's so much code that I simply couldn't have the time to have written if I spent that much time testing
12:50 waxhead test driven stuff is where I really try to get to.. but fail
12:50 waxhead too tempted to dive in a code
12:50 waxhead s/a/and/
12:51 Alias I've found the debugger removes the need for much of the detailed tests when it comes to the initial implementation
12:51 Alias Just watching the code from the inside with medium-depth code on the outside to get you into the right code with the debugger is enough
12:52 Alias The tests act as a mechanism to launch the debugger
12:53 waxhead need to start these discussions earlier... I'm about to fall asleep...
12:53 Alias :)
12:53 submersible Alias: sounds like ur having some success w/ Task2
12:53 Alias Getting close
12:53 waxhead not that the subject is boring..
12:53 waxhead just tired.. and already in bed.. so it's hard to stay awake
12:54 waxhead and it looks like the mythbuntu thing is going to download a heap of stuff so it's going to be a while be it's done..
12:54 waxhead with that, I'm out of here...
12:54 waxhead nite
13:53 Hyppolit svn: r11412 | adamk++ | http://padre.perlide.org/trac/changeset/11412
13:53 Hyppolit We now trigger Padre::Wx::App->signal correctly, without throwing a segfault
13:53 Hyppolit branches/Padre-TaskRewrite/lib/Padre/ branches/Padre-TaskRewrite/lib/Padre/Wx/ branches/Padre-TaskRewrite/t/threads/
14:04 zenog Alias: Great to see progress in the TaskRewrite branch!
14:05 Alias It's getting there
14:07 aukjan joined #padre
14:24 pece joined #padre
14:42 zenog In the last days, Padre sometimes crashes and gives the following message: Can't store CODE items at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_freeze.al) line 339, at /usr/local/share/perl/5.10.0/Padre/Task.pm line 367
14:42 zenog Didn't have time yet to dig deeper, or to be able to reliably reproduce the bug.
14:44 Alias Someone has make a task that contains a function reference
14:45 Alias made
14:45 zenog Oh, may that would be me.
14:45 zenog s/may/maybe/
14:46 Alias You can't send compiled code across the thread boundary
14:46 Alias sorta
14:47 zenog Okay. Thing is, I don't actually need the code in the task itself. It is just a handler function that is put into the Outline.
14:48 Alias Then don't put it into the task :)
14:49 Alias In the current first-gen task API, there's a ->{main_thread_only} thing... or something like that
14:50 zenog Is it okay to put the code into 'normal' (non-task) code, but still to pass the code reference around?
15:06 Alias The reference is the code
15:07 Alias Storable will try to descend it into the code to serialize it
15:12 zenog Just to make sure: No passing around code references in tasks, but it is okay to put it into ->{main_thread_only}?
15:12 Alias I _think_ so
15:12 Alias I didn't write the original task code
15:13 Alias Do a Find in Files for main_thread_only
15:13 Alias You should see it in there somewhere
15:15 Hyppolit svn: r11413 | adamk++ | http://padre.perlide.org/trac/changeset/11413
15:15 Hyppolit Link the root application to the thread event handler via an explicit registration rather than assuming the existance of the Padre IDE object.
15:15 Hyppolit
15:15 Hyppolit This should make it easier to test the thread handler without having to build and spawn an entire IDE stack.
15:15 Hyppolit branches/Padre-TaskRewrite/lib/Padre/ branches/Padre-TaskRewrite/lib/Padre/Wx/
15:31 zenog I think I fixed it.
15:34 zenog Abother possibly stupid question: Why are the threads serialized? Because they are scheduled to be run?
15:41 Xaero joined #padre
15:47 zenog I have the suspicion that there are more instances of the bug besides my outline changes ...
15:49 zenog Because I still see crashes after I removed all code references from the outline task.
15:54 Hyppolit #942: (wishlist) a "deactivate all" button in the plug-in manager (new enhancement) [ http://padre.perlide.org/trac/ticket/942 ]
15:55 Xaero joined #padre
15:56 psybermonkey joined #padre
15:57 aukjan joined #padre
15:59 Hyppolit #943: XML plug-in crashes Padre (new defect) [ http://padre.perlide.org/trac/ticket/943 ]
15:59 zenog Can someone reproduce this? If I had the time, I'd try to fix it now, but I still have some "real work" stuff on my agenda today ...
16:03 mib_ikrzyl joined #padre
16:03 zenog hi mib_ikrzyl
16:04 mib_ikrzyl hi, just checking the mibbit link works. the catalyst one broke, so I'me going to update the wiki with this one. ;)
16:08 dorkfish joined #padre
16:14 Alias joined #padre
16:15 kaare_ joined #padre
16:24 zenog Alias: Turns out it wasn't my changes to the outline that were responsible for the code references in a thread.
16:56 sjn joined #padre
16:59 zenog &
17:29 dapatrick joined #padre
17:51 aukjan joined #padre
17:55 jq joined #padre
18:46 LeK joined #padre
18:52 awnstudio joined #padre
19:32 kgish joined #padre
20:13 aukjan1 joined #padre
20:56 szabgab Sewi, ping
21:10 kaare left #padre
21:15 Sewi pong
21:15 Sewi szabgab
21:16 szabgab just that ads told me you still have your request open
21:16 szabgab but I have no idea what he is talking about :)
21:17 Sewi Maybe I know, will write a mail to him, but not tonight :-)
21:17 Sewi And I really need to come back and work on Padre :-(
21:17 Sewi :-)
21:18 szabgab I am just trying to order some tuits from the producer :-)
21:37 kyanardag joined #padre
21:58 [1]awnstudio joined #padre
22:08 CSJewell joined #padre
23:40 Alias joined #padre

| Channels | #padre index | Today | | Search | Google Search | Plain-Text | summary