[06:08:26] --- reuteras has become available [07:06:38] --- reuteras has left [07:50:23] --- dev-zero@jabber.org has left: Replaced by new connection [07:50:24] --- dev-zero@jabber.org has become available [10:29:51] --- dev-zero@jabber.org has left: Replaced by new connection [10:29:52] --- dev-zero@jabber.org has become available [11:39:19] --- summatusmentis has become available [11:47:27] --- thomas.kula@gmail.com has left [11:59:44] --- dragos.tatulea has become available [11:59:49] hi [12:00:14] hi [12:00:18] what's new? [12:00:42] hi dragos [12:01:58] so i'm at podcamp. seems like it'd be more useful for jake to be here [12:02:08] but it's still interesting stuff [12:02:10] podcamp? [12:02:26] http://www.podcamppittsburgh.com/ [12:03:00] was pimping disconnected afs to someone at the social mixer last night. his take was "why isn't everyone already using this?" [12:03:40] :-) I never know what to say to pimp afs [12:04:15] well, we need advocacy, people who are excited to share what they're doing and why it might be cool if you wanted to use it too [12:04:23] and this is that [12:05:14] monty python fluxx is cool. a free box with every openafs client installation :) [12:05:14] disconnected afs is very cool [12:05:41] some people hate monty python. some hate fluxx. no one should hate openafs. [12:05:55] What is fluxx? [12:06:04] tho if we shipped openafs as a shake the box product, free openafs fluxx promo cards would rock [12:06:24] dragos http://en.wikipedia.org/wiki/Fluxx [http://en.wikipedia.org/wiki/Fluxx] [12:06:30] I'd never heard of it either [12:06:38] we need the foundation and we need Andy plush toys [12:06:45] agreed [12:06:45] and openafs fluxx cards [12:06:53] oh [12:06:58] Andy plush toys [12:07:02] a friend of mine introduced me long ago. it's probably my fault that jeff knows about it [12:07:05] I want one of those. [12:07:34] I've got MP Fluxx sitting in front of me and no one to drink beer or play it with [12:08:22] toodles all :) [12:08:37] i want to drink beer. i will be going to red star tavern in a couple hours to indulge that [12:08:56] dragos, any progress on finding the disconnected panic issue? [12:09:23] Well, I found another panic [12:09:27] apparently i need to start wearing openafs shirts all the time [12:09:30] and fixed it [12:09:34] got a backtrace for it? [12:09:39] it's in openafs-bugs [12:09:40] oh. got a patch for us? [12:09:41] ok [12:09:49] sent last wk [12:10:06] Now I'm trying to reproduce your bugs, but can't. [12:10:33] cat /afs/andrew.cmu.edu/usr/shadow/* > /dev/null, disconnect while doing it? [12:10:54] while doing what? [12:12:23] while doing cat .... [12:12:38] oh, disconnect while cat [12:12:40] k [12:14:07] BTW, the patch I sent last weekend to deal with a race in volser/voltrans.c is broken. I malloc memory and put the resulting pointer in a temporary local, and then later do the assignment backwards. It's pretty obvious but is a must-fix if that patch is going in 1.4.8. [12:14:53] well, the issue it "fixes" is must fix, also, so... if you have new patch i will apply; otherwise, after this session [12:16:54] Well....it worked for me.... [12:17:01] cat & disconnecting [12:17:22] s/newtt = tt/tt = newtt/ [12:17:38] and thanks to ali, who caught it [12:17:43] After it disconnects it says: /afs/andrew.cmu.edu/usr/shadow/a_file: Invalid argument. [12:20:02] reconnect and try again [12:23:12] erm....when cat'ing them after reconnection, I get the same invalid argument output... [12:23:14] not good [12:23:44] --- thomas.kula@gmail.com has become available [12:24:19] presumably you have a bad chunk which should have been marked in valid [12:24:33] also you probably needed a read lock on the disconnect lock [12:24:38] which would have precluded it [12:25:02] I'm flushing the dir now. [12:27:17] Hmm...still invalid argument after flushing. Let me remove the dir. [12:27:19] which platform are you debugging on? [12:27:43] jhutz: applied [12:27:57] dragos: your patch from rt already resolved [12:28:36] shadow@gmail.com/owl08984534: Saw that. [12:28:46] I'm using debian lenny. [12:32:47] Okay, it reproduces. [12:34:14] strace says somthing funny [12:34:37] It seems that it's a locale problem. [12:34:49] strace? [12:34:57] yes [12:35:04] locale problem with strace?? [12:35:08] no [12:35:12] oh [12:35:18] with cat /afs/andrew.cmu.edu/file [12:35:27] it can't find libc.mo [12:35:46] uh. no "file" in /afs/andrew.cmu.edu? [12:36:08] open returns success for the file [12:36:49] for which file? [12:37:27] afsdiff.txt [12:37:58] there shouldn't be a locale problem catting that [12:38:19] I agree. [12:39:24] oh wait, open returns 3 [12:39:28] http://pastebin.com/m6b2b75d4 [12:39:39] WTF is cat doing with locales? Its only job is to read bytes from one place and write them to another [12:40:07] open returns an fd. "3" is a fine fd [12:40:35] write is returning EINVAL [12:40:46] Oh. The locale stuff is all about translating the error message. The interesting thing is ==shadow [12:40:54] er, wait [12:40:59] Except it's read, not write, returning EINVAL. [12:41:07] write is writing the error EINVAL evals to [12:41:10] line 31 [12:41:12] but yes [12:41:15] read is returning EINVAL [12:41:35] 29, 30, 31 [12:41:50] open, fstat, read. lose on read. [12:41:54] try fstrace. [12:41:55] read(3, 0x92cf000, 4096)                = -1 EINVAL (Invalid argument) [12:42:14] let me enable fstrace [12:58:04] I hate fstrace. I never get it right. And can't read the output. [12:58:26] fstrace setset cm -active [12:58:29] break something. [12:58:29] And I'm not getting any trace logging after activating the log. [12:58:32] fstrace dump cm [12:58:45] save the output [12:58:48] done [12:58:53] Yes, but it's empty. [12:58:58] the dump [12:59:25] then either 1) it's not active or 2) you didn't touch trace events or 3) something broke (which would be unusual [12:59:56] 1) it's active (lslog says so) [13:01:54] oh , and cp says invalid argument as well [13:03:44] well, that's not shocking [13:04:27] true [13:11:59] what now? [13:13:08] well, if fstrace isn't being useful i'm not sure what you can do short of attaching with a kernel debugger [13:15:18] I have to set it up. [13:16:57] what is your setup for that? [13:18:07] i use macos to kernel debug [13:19:08] It's complicated. You can't just use gdb; the kernel is a complex beast to debug both because it has a large number of distinct memory spaces and because it is running your debugger. [13:19:39] debug both? [13:19:56] debug, both because [13:20:35] both what? [13:20:56] You can use 'crash', which is a specially-modified gdb, to examine data structures in a live kernel, but you have no control over execution. It also works on crash dumps, naturally. But to use it in either mode you need an original unstripped, uncompressed vmlinux with debugging symbols. Alsl, amazingly, I don't think crash is packaged for Debian. [13:21:26] Oh.. ==shadow. Not "debug both". "both because a and (because) b" [13:22:27] Maybe inserting debugging statements into the read function is faster. [13:22:39] Unless it's in the vfs/. [13:22:42] You may also be able to get some mileage out of kprobes, but I haven't played with that yet. And, well, there's always modifying the module to produce whatever debugging data you think you need (if you do a lot of that, get things set up so you can ksplice in module changes instead of having to restart all the time) [13:23:33] Even if it's in the kernel, debugging statements may be the way to go. But look into kprobes at least a little; it may provide an easy path to what you need. [13:24:24] I will. Thanks. [13:24:31] This page looks promising: http://www.ibm.com/developerworks/library/l-kprobes.html [13:26:03] Now that we're in this topic. I'd like to compile a kernel on another machine and then copy the image in the vm. How can I configure it to compile somewhere else thant the machine that it will run on? [13:26:59] If the system you're building on is the same arch as the one you're running on, you don't have to do anything special. [13:27:13] it is [13:29:16] Yeah, so just configure and build a kernel as usual. Instead of 'make install modules_install' or similar, you probably want to do something like make modules_install INSTALL_MOD_PATH=/some/place which will put the modules in /some/place/lib/modules/foo. Then you copy that tree and the vmlinuz file over to the VM. [13:30:26] excellent [13:30:29] thanks [13:30:43] I found that hgfs is really helpful for this, if you're using vmware. It also was useful to configure network crashdump and dump to a file directly on the host, since that's where the kernel sources were. But that was some time ago, and the way crash dumps work has changed a lot since then, so YMMV. [13:31:05] I'm using kvm. [13:51:13] shadow, what do you use in macos for kernel debugging? [14:30:25] --- dragos.tatulea has left [14:33:06] --- dragos.tatulea has become available [14:53:52] --- dragos.tatulea has left [15:23:26] --- SecureEndpoints has left [15:45:44] --- SecureEndpoints has become available [16:24:31] --- SecureEndpoints has left [16:47:54] --- SecureEndpoints has become available [17:07:42] > You can use 'crash' [17:07:56] we could use crash scripts to emulate the functionality of kdump. and should. [17:08:10] huh? [17:08:18] Oh, I see. Maybe. [17:09:23] > shadow, what do you use in macos for kernel debugging? [17:09:29] gdb with target remote-kdp [17:54:53] --- SecureEndpoints has left [18:04:37] --- SecureEndpoints has become available [19:20:25] --- summatusmentis has left [19:46:44] --- SecureEndpoints has left