[00:07:09] --- Simon Wilkinson has become available [00:09:15] > simple to interact with for end users: [00:10:33] Sadly, our end users don't seem to agree. Some of the most prolific posters on -devel just won't use it, because they've got no easy way of manipulating a bug after its been submitted. [01:11:30] --- Simon Wilkinson has left [02:03:23] --- abo has left [02:43:31] --- haba has become available [03:16:59] --- Born Fool has become available [03:18:04] --- Born Fool has left [04:01:15] the only manipulation you can do as an end user is reply. you can do that via email. [04:02:50] ben, if you have a getpages fix you can push, go ahead. [05:09:18] --- haba has left [05:10:11] --- haba has become available [05:23:13] --- Simon Wilkinson has become available [05:25:11] But, that's the problem, our end users would like to be able to do more than that. And we should encourage them to do more than that, as handling bugs is one of the easiest points of entry for new, would-be, developers. [05:40:16] --- reuteras has left [06:07:58] > But, that's the problem, our end users would like to be able to do more for an end user there's not really much more to do. for a new developer, sure. [06:40:22] --- abo has become available [07:25:28] --- deason has become available [07:30:08] > getpages Not in pushable state, yet. I need to check what it should be conditional on (and make sure I don't have other random changes floating around in my tree). [07:33:10] ok [08:16:46] --- kaj has left [09:16:17] --- Simon Wilkinson has left [09:18:57] --- haba has left [09:23:41] --- rra has become available [09:24:51] As an end user of various projects, one of the things I like to do is look at the existing bugs to figure out whether one of them is my problem and add supplemental information to an existing bug if it is. I think that's a fairly normal desire. [09:40:30] Is there an announcement coming for 1.5.75? I'd like to update the NEWS file. (I would have liked to get that before the release was tagged, but since I'm not writing the announcement, I can't complain.) [09:41:21] we need a better mechanism for updating NEWS. i'll have an announcement shortly. at least, the unix part. i will confirm with jeff if i can just steal release notes fot he windows part [09:49:50] I would prefer that people just commit the announcement to it before tagging the branch. [09:49:58] Ideally, we could add to it as we go, of course. [09:50:05] But it's hard to do that in another patch because of conflicts. [09:50:25] Changelog files, of which that's one type, are always annoyingly bad to maintain in version control systems. [09:51:29] --- mattjsm has become available [09:54:37] --- kaj has become available [09:57:17] Is anything actually using the MySQL server on openafs.stanford.edu? I think Gerrit is all PostgreSQL, right? [09:59:50] uh. ps auxww :) [10:00:26] Sorry, what's this telling me? [10:01:08] sorry. ps auxww|grep -i mysql [10:01:57] Right, that tells me that the server is running, which I knew, and there isn't another daemon running with mysql in the name or flags, which I knew. If you're making some other point, I'm apparently dim.... [10:02:24] did i ... oh, you asked if we were using it in the sense of "is anything touching it" [10:02:31] Right, yeah, sorry. [10:02:37] which is not how i parsed the question [10:02:37] In other words, can I shut it down and remove it? [10:02:46] I think we added it because we were going to use it for something and never did. [10:03:08] RT would have used it had we copied the RT instance we had [10:03:40] I suspect that would be exciting. [10:03:55] that's one way to put it [10:04:18] well, let's see if it even has any tables. [10:04:26] --- meffie has left [10:04:34] or not. i have no powers. [10:05:05] --- meffie has become available [10:05:16] as root, run mysql -h localhost. if it connects, show databases [10:06:30] Just information_schema and mysql. [10:06:49] so, not using it. [10:07:57] Okay, I'm nuking it. We can always install it later if we need it. Thanks! I should have thought of that. [10:09:22] we need to figure out how we want to deal with yylineno issues for compile_et. right now we "know" that aix is not helpful, but really, we should fix yyerror to dtrt, and trt may just be "never use yylineno" since at the moment we'd need flex to %options yylineno, and link in the flex-generated file (i think) and we're not. [10:09:50] not including the line number in errors compile_et generates is slightly less friendly, but, i don't think it's as unfriendly as finding the build errors. [10:12:56] actually i guess if we could conditionalize %option yylineno on "is this flex" we'd do ok [11:50:02] --- meffie has left [12:07:37] --- Simon Wilkinson has become available [12:24:27] --- meffie has become available [13:17:52] er, the FUSE thing appears to be in NEWS for 1.5.75 and 1.5.74 now [13:18:27] my fault, he just copied it [13:18:32] look at the release announcement [13:24:22] also, uh, 'DAFS: Provide fast-restart equivalent option.' isn't that not in yet? [13:24:58] yup. oops. [13:25:24] summarizing months of changes at the same time you are updating the list of 1.5.x pre 1.6 issues? bad idea [13:25:39] is "Handle volumes with many files properly" the vallocvnode thing? [13:25:47] it is. the large file support there [13:26:05] I wonder if we want a way of flagging things in gerrit of needing release noted [13:26:14] Or, of marking tickets in RT. [14:07:39] --- meffie has left [14:10:55] --- jaltman has left: Disconnected [14:57:07] --- mattjsm has left [15:18:18] > access control rules are whatever we want them to be. what we decided back in 2001 (and, BTW, we _have_ upgraded since then) really wasn't well suited to public engagement. we've since made some improvements, but probably not enough. Unfortunately, the biggest problems are 1) allowing an anonymous guest to do much is a bit of a pain 2) allowing an anonymous guest to submit or comment is asking for spam 3) allowing submission via email is _also_ asking for spam 4) no way to easily do automatic account creation I'm inclined to fix (4) by teaching RT about OpenID. But maybe upgrading also solves that problem. [15:21:25] I believe that new RT does know about OpenID, at least a little bit. [15:21:35] So, if anyone wants to play around with updating RT, I can provide a VM and a dump of the database (though someone else will have to decide who can have the database dump without santizing away any security bugs [15:21:57] Yeah. There are some things in that queue that are still sensitive. [15:22:44] BTW, I think we ought to make a policy of moving things from that queue to openafs-bugs when they stop being sensitive. [15:22:58] Generally, I have been doing so. [15:23:52] there is a module for RT openid auth; I'm not clear on if it comes with rt or not, but it's on bestpractical's site [15:24:37] Oh, right.. I forgot what forum we were in. I'm pretty sure Jesse reads -c shadow [15:24:58] --- Kevin Sumner has left [15:25:14] > asking for spam I hear they make software to detect that... [15:25:14] i'm pretty sure he doesn't [15:25:17] --- Kevin Sumner has become available [15:26:21] The volume of incoming spam to RT does seem to have dropped off, of late. Did it get fronted with something that's discarding stuff, or are things just quieter? [15:33:17] --- Kevin Sumner has left [15:34:01] --- Kevin Sumner has become available [16:07:16] > Jesse I thought Jesse was in Europe at the moment. [16:10:05] Oh, that could be. He was on zephyr yesterday. [16:17:15] Yeah, but he might not be reading everything he usually does. [16:25:46] --- deason has left [16:27:27] Looking at cleaning up the {get,set}pages stuff -- thoughts on wrapping calls to vm_page_{un,}lock_queues() in #ifndef AFS_FBSD90_ENV versus #defining it away for FBSD90? [16:33:55] I'd strongly prefer that you use a static inline function which does the vm_page_... stuff for older FSBD, and is a no-op for newer. [16:34:29] One of my current crusades is to significantly reduce the quantity of preprocessor cruft in our code, and where it is unavoidable, to contain it within compatibility header files. [16:34:32] Seems reasonable. Is there a standard namespace prefix for such things? [16:34:41] Not really. [16:34:50] On Linux, we've been using afs_linux_ [16:34:59] Other places have ended up using osi_ [16:35:09] --- jaltman has become available [16:39:22] It's okay to put the static inline functions in the .c file, though? [16:42:51] Yeah - if you're only going to use them from that one file. [16:45:40] Oh, hey, there's already some ma_ macros sitting here. I guess I'll do that for consistency. [16:48:29] For new stuff, it's much nicer to use static inline functions than macros. You get type safety, for one thing. [16:49:29] Right. (I meant the ma_ namespace) [17:16:16] Any thoughts on this ugliness? #if defined(AFS_FBSD70_ENV) #define MA_PCPU_INC(c) (PCPU_INC(c)) #define MA_PCPU_ADD(c, n) (PCPU_ADD(c, n)) #else #define MA_PCPU_INC(c) c++ #define MA_PCPU_ADD(c, n) (c) += (n) #endif [17:17:00] Need parens around c in c++ [17:17:55] Hm, I guess I probably want PCPU_LAZY_INC() there, anyway. (Hooray for fxr) [18:00:33] Hm, I've been running with FakeOpen/FakeClose around the afs_write in putpages(), but taking it out doesn't obviously break anything. I guess I'll leave it out for now. [18:01:59] --- jaltman has left: Disconnected [18:07:06] Okay, *pages stuff at gerrit/2360 . Let me pull it onto a clean checkout and confirm that it builds/works. [18:14:59] Bah. /usr/ports/net/openafs-devel/work/openafs/src/comerr/compile_et.c:418: undefined reference to `yylineno' [18:15:36] --- deason has become available [18:15:41] --- rra has left: Disconnected [18:16:11] build log in /afs/zone.mit.edu/user/kaduk/build.log if you're curious (I am looking) [18:19:03] --- jaltman has become available [18:37:41] --- Russ has become available [18:47:36] yeah. add %option yylineno to et_lex.lex.l and retry and i bet it works [19:00:16] Yeah. But why did it break? [19:00:30] the lex and yacc stuff is no longer hardcoded [19:03:28] Uh. So, adding the yylineno let the build proceed, but my patch doesn't compile. [19:04:13] then what did i compile? [19:04:16] hang on [19:04:53] fuck. [19:05:18] updated sandbox on amd64 8.0 box. built on ia32 8.0 box in adjacent xterm. and it built! not. [19:05:27] well. it did build, for some "it" [19:05:43] Cute. [19:06:25] the ia32 vm was so i could build a driver for pfsense... which of course crashed the router. and i kernel panic'd the mac in the process of trying to get the router back up. so, yeah. [19:07:45] That's an unfortunate chain of events. [19:08:13] So, I swapped a '.' and '_', and also do {} while(0) macros don't like being wrapped in parens. [19:08:19] on the plus side, i bet the kernel panic is something i fixed already, and never took on my laptop. but i'll know in a moment [19:08:37] Should I put the yylineno in the same "fix build" commit? [19:08:41] no [19:08:52] until we know if non-flex can cope it's not safe [19:11:59] ah. yup. it was the GetCapabilities thing fixed in 1.5.75. [19:16:26] Huh, why is my 'cp -r /usr/src /afs/...' causing spew on the console: Limiting icmp unreach response from 335 to 200 packets/sec [19:24:37] does tcpdump show a lot of those? we don't synthesize them, so, uh... [19:31:47] Apparently I'm asking w20ns.mit.edu about a bunch of random IP's on 18.181.0/24 [19:33:06] --- jaltman has left: Replaced by new connection [19:33:07] --- jaltman has become available [19:33:27] fileserver advertising too many addresses? [19:34:40] I don't think anything has changed on the fileserver. [19:55:04] --- jaltman has left: Replaced by new connection [19:55:05] --- jaltman has become available [19:58:07] w20ns is the first hop router from you? [19:58:22] nameserver. [19:58:41] Also, the box with the tcpdump log is dumping core right now. [19:59:17] ow. [19:59:32] panic: mi_switch: switch in a critical section [20:00:52] can you get lockinfo? [20:01:02] or bt? [20:01:45] db> show alllocks Process 592 (cp) thread 0xffffff00100043c0 (100099) exclusive lockmgr afs (afs) r = 0 (0xffffff0069849db8) locked @ /usr/ports/net/openafs-devel/work/openafs/src/afs/FBSD/osi_vnodeops.c:551 Process 21 (vnlru) thread 0xffffff0004e1b3c0 (100072) exclusive lockmgr afs (afs) r = 0 (0xffffff00900a4bd8) locked @ /usr/src/sys/kern/vfs_subr.c:660 [20:01:58] A more useful bt will come after I can get to the core dump [20:03:23] --- deason has left [20:03:44] --- deason has become available [20:03:51] --- abo has left [20:04:44] --- abo has become available [20:06:20] This was while I was copying /usr/src into /afs . Now I am forced to wonder if that fakeopen was actually doing something. [20:06:51] that line is in the lookup vop. [20:07:09] Yes. [20:12:20] #9 0xffffffff805ab5ab in panic (fmt=Variable "fmt" is not available. #10 0xffffffff805b38a1 in mi_switch (flags=260, newtd=0x0) #11 0xffffffff805e9073 in sleepq_switch (wchan=0xffffff8000bf59a2, #12 0xffffffff805e9c5d in sleepq_wait (wchan=0xffffff8000bf59a2, pri=80) #13 0xffffffff805b3d97 in _sleep (ident=Variable "ident" is not #14 0xffffff8000ac69d0 in afs_osi_Sleep (event=0xffffff8000bf59a2) /usr/ports/net/openafs-devel/work/openafs/src/afs/FBSD/osi_sleep.c:142 #15 0xffffff8000a79ce3 in Afs_Lock_Obtain (lock=0xffffff8000bf59a0,how=1) at /usr/ports/net/openafs-devel/work/openafs/src/afs/afs_lock.c:139 #16 0xffffff8000a7f3b8 in osi_dnlc_lookup (adp=0xffffff8000ef2380, aname=0xffffff0004ea00e0 "contrib", locktype=Variable "locktype" /usr/ports/net/openafs-devel/work/openafs/src/afs/afs_osidnlc.c:227 #17 0xffffff8000a956b5 in afs_lookup (adp=0xffffff8000ef2380, aname=0xffffff0004ea00e0 "contrib", avcp=0xffffff80780b2788, acred=0xffffff0010722100) /usr/ports/net/openafs-devel/work/openafs/src/afs/VNOPS/afs_vnop_lookup.c:1529 #18 0xffffff8000ac8c8b in afs_vop_lookup (ap=0xffffff80780b2820) /usr/ports/net/openafs-devel/work/openafs/src/afs/FBSD/osi_vnodeops.c:512 [20:22:01] So, uh, osi_dnlc_lookup would appear to be trying to obtain locks in a critical section, which is forbidden if that aquisition could sleep. [20:27:15] i'm unsure how this ended up like this. or rather, why. i am still exploring. but, yes. [20:28:03] i guess, put otherwise, why does this code need to be critical section at all [20:29:58] it came in with the 7.0 port, but well, that's all i can say. i'd be tempted to compile it without the critical sections. [20:31:14] I can certainly try running that. I guess I should not change two variables at once and put the fakeopen back in. [20:31:29] the fakeopen won't matter for this, or shouldn't... [20:31:55] Right. But I'll leave it out anyway. [20:45:46] --- Jeffrey Altman has become available [20:45:54] --- Jeffrey Altman has left [20:48:14] I don't see any visible difference in my 'cp -r /usr/src' testing without the critical section... [20:49:07] visible differences? it still crashes? [20:49:18] --- Born Fool has become available [20:49:36] Er, sorry. [20:49:41] The copy succeeds. [20:49:59] Now for buildworld ... [20:52:19] Hm, still the segfault. [20:52:43] that might call for the fakeopen. [20:57:05] No dice. [20:58:46] This ain't ova! [20:59:25] I guess I'll follow up on rwatson's thought of vnode_create_vobject(). [21:09:47] Incidentally, I have another backtrace sitting here that you might look at that I got when running a multithreaded application; the machine appeared to have deadlocked: /afs/zone.mit.edu/user/kaduk/transcript.txt [21:17:47] well, that one looks like the GLOCK is held in vop_write [21:19:32] It ... does? [21:31:33] exclusive lockmgr afs (afs) r = 0 (0xffffff0023065458) locked @ /usr/src/sys/kern/vfs_vnops.c:612 would be the call to VOP_WRITE, i assume. not exaclty in the sourc ei have but close [21:31:47] (i think VOP_WRITE is 614 in mine) [21:33:11] actually i guess the question is "what's the deal with the vnode locks" [21:35:01] at this point i am so out of gas that i cant keep my eyes open, and the laptop is searing my flesh anyway, so i think i am done [21:35:12] 612 vn_lock(vp, lock_flags | LK_RETRY); (in vn_write) I haven't actually looked at all the threads ... but I should also sleep soon. [21:35:30] Ah. Goodnight! [22:01:09] --- jaltman has left: Disconnected [22:02:14] --- jaltman has become available [22:27:49] --- Born Fool has left [22:27:58] --- deason has left [22:46:19] --- Jeffrey Altman has become available [22:57:08] --- reuteras has become available [23:20:28] --- kaj has left [23:53:29] --- jaltman has left: Disconnected