Irc log for Bug Squash Day 2
[10:00] <wstein> hey, it's 10. [10:00] <wstein> I declare Bug Squash Day 2 officially started. [10:00] <wstein> Let's see if SAGE is ready for prime time or not. [10:00] <wstein> Could everybody maybe just mention where they are physically right now? [10:00] <wstein> I'm in Seattle. [10:00] <robertwb> Seattle [10:01] <wstein> (2 feet from me.) [10:01] <syazdani> Hamilton [10:01] <burcin> linz, austria [10:01] <-- dmharvey2 has left this server. [10:03] <wstein> make sure to do a "sage -upgrade" if you havne't already. [10:03] <burcin> even from .6? [10:03] <wstein> no sage-2.8.3.6 is the latest. [10:03] <burcin> yes.. it just told me now :) [10:04] <wstein> And if you'rein a hurry, doing hg_sage.pull() form sage 2.8.3.5 is fine. [10:04] <malb> London [10:04] <mhansen> Madison, WI [10:05] <wstein> Our ultimate goal is to close every genuine bug attached to sage-2.8.4 and 2.9 in trac. [10:05] --> dmharvey2 has joined this channel ([email protected]). [10:05] <wstein> Of course, working on other things is fine.... [10:05] <dmharvey> boston, USA [10:06] --> boothby has joined this channel ([email protected]). [10:06] <timothyclemans> so is there a way to share vmware files over network? [10:06] <malb> FTP? [10:07] <boothby> web 2.0! gmail! [10:07] <malb> where does sage -valgrind write the logfile? [10:07] <wstein> david joyner emailed me that he has posted fixes for trac #568, #569 #570. Does anybody want to verify that these work. [10:07] <wstein> Be nice. You maybe mean NFS. This is off topic for sage-devel though. [10:08] <timothyclemans> i know but i don't have working linux so i'm stuck with vmware for development [10:08] <wstein> I'm looking at #568 [10:09] <malb> I am looking at #558 [10:09] <wstein> By the way, if you weren't here last time, basically scan the list of open bugs listed at trac for sage-2.8.4 or sage-2.9. [10:09] <wstein> When you're working on one note that in irc. [10:09] <mabshoff|away> Well, I am back for a second: I am in Dortmund/Germany. [10:09] <boothby> I'm working on #503 [10:09] <wstein> When you refer to one in chat prefix the message with tthe trac number, e.g., [10:09] <wstein> #568: this is nuts. [10:10] <wstein> Since lots of different bugs will get discussed at the same time. [10:10] <wstein> Also, if you want to help somebody say -- [10:10] <wstein> #568 -- that looks interesting, I'm looking at it too. [10:10] <burcin> I'm trying #563.. [10:10] <wstein> #503 - is the "0^0" issue. comments welcome. [10:11] <mabshoff|away> Is anybody doing the official logging? [10:11] <mabshoff|away> Who wants to keep track of the bugs fixed? Or are we just using trac to sort that out after? [10:11] <wstein> I think keeping trac would be very good. [10:11] <wstein> Though trac does do it. [10:11] <wstein> Hmmm. [10:12] <wstein> mabshoff -- you're still marked as "away" [10:12] <mabshoff|away> I think mostly to aassign proper credit. [10:12] <wstein> I can log. [10:12] <wstein> yep. [10:12] <mabshoff|away> I know, just got out the shower, going shopping now. [10:12] <mabshoff|away> And on the internet I could be mabshoff's cat, just incredibly lucky that it can spell and type ;) [10:14] <malb> mabshoff where does sage-valgrind but its logfile? [10:14] <-- dmharvey2 has left this server. [10:16] <wstein> also, I will update the official sage repo as things are closed, so people can do hg_sage.pull() to get the fixes. [10:17] <wstein> #568 -- closed; thanks to David Joyner. [10:17] <burcin> malb: local/bin/sage.$PID [10:17] <malb> ah, thanks [10:18] <wstein> that's a dumb plce, no? [10:18] <wstein> maybe it should be in the current directory? [10:18] <malb> yes, or SAGE_ROOT [10:18] <wstein> make moving that a trac enhancement. [10:18] <malb> maybe one doesn't have write access there, so cwd would be good [10:18] <wstein> yep! [10:18] <wstein> I'm working on #569 now. [10:21] <burcin> SAGE_ROOT is better I think.. [10:21] <burcin> who's opening the ticket? [10:21] <malb> can we assume that we have write access there? [10:21] <malb> think about a system-wide SAGE install [10:21] <burcin> hmm.. good point.. no [10:21] <burcin> ok, so cwd? [10:22] <malb> sounds good to me, or .sage/<something> [10:22] <wstein> I've mad #599 the valgrind log file issue. [10:22] <burcin> as soon as we agree on the place.. I can implement it.. [10:23] <wstein> #569 -- closed (David Joyner had fixed it and his patch looks good). [10:23] <malb> I vote for $HOME/.sage/sage-memcheck.PID [10:24] <wstein> #599: +1 [10:24] <burcin> ok.. $HOME/.sage/sage-memcheck.$PID it is then [10:25] <malb> mabshoff might have strong feelings about it [10:25] <wstein> #594 -- I'm working on incorporating and testing this patch "Teach the MAGMA interface how to handle GF(q) conversions" [10:25] <malb> cool [10:26] <-- craigcitro has left this server. [10:26] --> pdehaye has joined this channel ([email protected]). [10:26] <wstein> hi pdehaye -- welcome to bug squash day 2. [Sun Sep 2 2007] [11:19:41] <sage> I don't remember, to be honest. [Sun Sep 2 2007] [11:19:53] <sage> You could remove setting it and do a complete build of SAGE and see if it works. [Sun Sep 2 2007] [11:20:03] <mabshoff> I could :) [Sun Sep 2 2007] [11:20:30] <mabshoff> Problem might be that "LIBRARY_PATH=/tmp/Work2/sage-2.8.3.rc3/local/lib/:" has the trailing ":" [Sun Sep 2 2007] [11:20:39] <sage> ah. you could change that too [Sun Sep 2 2007] [11:21:06] <mabshoff> If LD_WHATEVER is empty skip the $LD_WHATEVER on export : [Sun Sep 2 2007] [11:21:08] <mabshoff> . [Sun Sep 2 2007] [11:22:13] <mabshoff> Removing the trailing ":" makes configure work. [Sun Sep 2 2007] [11:22:42] <mabshoff> May be a bug in the configure macro, [Sun Sep 2 2007] [11:23:01] <mabshoff> because "empty string" after the separator ":" is not equal to "." [10:30] --> You have joined the channel #sage-devel ([email protected]). [10:31] *** Channel modes: secret, no messages from outside [10:31] *** This channel was created on 08/17/2007 01:03:33 PM. [10:31] <malb> I see [10:31] <dmharvey> back [10:31] <sage-log> sage-log == "William's home desktop" [10:33] <burcin> #599: it's a very simple change in local/bin/sage-valgrind [10:33] <burcin> #599: one can do it by hand, but there is a patch in trac too [10:33] <wstein> good. [10:34] <burcin> is there a way of making the sage shell not print out the output, without using assignments? [10:35] <wstein> no [10:35] <wstein> ; [10:36] <wstein> put a semicolon at the end of the line? [10:37] *** syazdani is now known as syazdani|away. [10:37] <-- pdehaye has left this server. [10:39] <wstein> #599 -- why is it "sage-memcheck" instead of "sage-valgrind"? [10:40] <wstein> #599 -- also, why remove the pid from the filename? [10:40] <burcin> valgrind puts the pid itself.. [10:40] <wstein> oh, good. [10:40] <malb> there are several valgrind tools [10:40] <malb> we are using memcheck right now [10:40] <sage-log> ok, that's clear. [10:40] <malb> but there is also massif and cachegrind and so on [10:41] <malb> so its good to allow different names for different valgrind tools [10:41] <mabshoff|away> hi [10:41] *** mabshoff|away is now known as mabshoff. [10:41] <mabshoff> I have patches for the proper place of logfiles, [10:41] <mabshoff> and massif + cachegrind [10:41] <mabshoff> support. [10:41] <dmharvey> hi mabshoff, do you want to work on gcd now? [10:42] <mabshoff> Give me about half am hour for valgrind patches. [10:42] <dmharvey> ok [10:42] <mabshoff> And I have two Solaris build issues I would like to get merged ASAP. [10:42] <mabshoff> 1 is in scons: prefer g++ over SunPro for compiler, [10:42] <mabshoff> the other two are build fixes in sage_lib for Solarisl [10:42] <mabshoff> . [10:43] <mabshoff> For valgrind: -valgrind becomes an alias for -memcheck [10:43] <mabshoff> I also add -massif and -cachegrind. [10:43] <mabshoff> For now they use the "default" flags I use, but we could add env variables to overwrite. [10:44] <mabshoff> That is not implemented yet. [10:44] <mabshoff> Should I send you the patch?? [10:44] <mabshoff> Or does anybody prefer something different? [10:45] <mabshoff> re pid & valgrind: That can be changed per default. [10:45] <malb> I am all for PID [10:46] <malb> maybe printing the PID at startup when run with valgrind would be nice [10:46] <mabshoff> Of which process? [10:46] <timothyclemans> i'm working on 549 [10:46] <mabshoff> The problem is that the output from 3.3.0svn no longer put the pid *inside* the logfile. [10:46] <mabshoff> But that let's you potentially diff output from different runs much better. [10:47] --> dmharvey2 has joined this channel ([email protected]). [10:47] <malb> process: SAGE the most interesting one [10:47] <wstein> #594 -- it's closed (and in) -- this is Malb's magma ideal patch. [10:47] <malb> cool [10:47] <wstein> malb -- i added a docstring to your magma.py ideal function. hg_sage.pull() and look to make sure it is ok. [10:47] <mabshoff> Is there an obvious non-racy way to getermine the SAGE pid? [10:48] <mabshoff> Also for the patch: Where is the official sage-script hg repo in the tarball? [10:48] <wstein> #549 -- I'm trying to replicate that too. [10:49] <timothyclemans> i see it [10:49] <timothyclemans> empty lines need <br /> [10:50] <timothyclemans> maybe do a loop and if i == '\n' add '<br />' ? [10:52] <malb> wstein, magma docstring looks good [10:53] <wstein> #549 -- no. [10:53] <wstein> since it's a pre environment. [10:54] <timothyclemans> in the html code i see the line spaces but they need to be <br /> [10:54] <wstein> #549 -- maybe the css is broken. [10:54] <timothyclemans> huh to do a line space don't you do <br /> [10:55] <wstein> In a pre that isn't needed. [10:55] <wstein> Try it by itself. [10:55] <timothyclemans> i am [10:56] <timothyclemans> i see [10:57] <wstein> #549 -- look at pre.shrunk in css.py. [10:58] <wstein> it has "display:inline" [10:58] <wstein> which evidently gets rid of blank spaces. [10:58] <wstein> If you comment it out, then the blank *lines* come back. [10:58] <wstein> Unfortunately there is way too much padding around the pre then. [10:58] <timothyclemans> also tidy says that you can't have span around pre [11:01] <mabshoff> malb, burcin: Suggestion now is: log to sage-memcheck.PID, sage-massif.PID, sage-cachegrind.PID in $SAGE_ROOT [11:01] <mabshoff> depending on the tool used. [11:01] <malb> no, not in $SAGE_ROOT we might not have write access there [11:01] <dmharvey2> #424: apart from the new files and lines of code, it looks like the following files *may* need to be modified: configure, configure.in, gmp-h.in, mpn/asm-defs.m4, mpn/Makefile.am, mpn/Makefile.in. I don't totally understand the relationship between these files, I know that automake or autoconf or something generates some of these files from others. But we don't want SAGE to depend on automake/autoconf etc, correct? So does that m [11:01] <mabshoff> true. [11:01] <mabshoff> $SAGE_RC? [11:02] <burcin> mabshoff: $HOME/.sage/ was suggested.. [11:02] <mabshoff> Okay, that works. [11:02] <mabshoff> but how about sage-$TOOL.$PID? [11:02] <wstein> #549 -- thanks timothy -- good point! [11:02] <burcin> mabshoff: yes.. I think that was the spirit of malb's sage-memcheck idea [11:03] <wstein> #549 -- your hint about span and pre was enough for tom to claim to know what to do. [11:03] <wstein> I'm going to stop working on #549 and let you and he work on it. [11:03] <mabshoff> Yep, will do. [11:03] <mabshoff> And I wil add the extra -massif & -cachegrind flags. [11:03] <mabshoff> -valgrind will stay an alias for memcheck [11:04] <mabshoff> Everybody happy that way? [11:04] <wstein> #424 -- SAGE can't depend on autoconf. [11:04] <burcin> mabshoff: yep, that great [11:04] <burcin> sorry.. can't type :) [11:04] <wstein> So whatever files you get when you do autoreconf --all you have to copy out to patches, then copy in during spkg-install. [11:04] <wstein> This is for #424 [11:05] <dmharvey> #424: I remember last time I tried using autoconf for this I had problems with a version mismatch [11:05] <dmharvey> #424: so maybe I'll try doing it manually [11:05] <wstein> #549 -- boothby has actually fixed this before and it got lost, evidently... [11:05] <wstein> dmharvey -- if possible you may want to work on sage.math for this, so others can look directly at what you're doing... [11:06] <dmharvey> wstein: okay, good idea, I'll move over there. Everything will be in /home/dmharvey/424/. (in a few minutes) [11:07] <timothyclemans> I'm unable to fix #549 from the html [11:08] <timothyclemans> i do see that display:inline gets rid of the line spaces like william said [11:11] --> janwil has joined this channel ([email protected]). [11:11] <-- dmharvey2 has left this server. [11:12] <mhansen> Does anyone know how to fix a "not previously declared in definition part of extension type" error? [11:12] <janwil> hello [11:12] <mabshoff> hi janwil [11:13] <wstein> #518 dmharvey -- i can't apply your patch. [11:13] <wstein> mhansen -- declare whatever it is in the corresponding .pxd file. [11:14] <mhansen> Thanks. I figured it out -- I had been looking in the wrong pxd file. [11:15] <dmharvey> #518: incorrect parent or something? [11:15] <wstein> #106 -- I'm working on this: "maple (etc?) tab completion -- asking for a list of all completions gives a bad error message if maple isn't installed" [11:15] <wstein> no. [11:15] <wstein> #518 -- see the trac ticket. [11:15] <wstein> #518 -- way too many conflicts to merge [11:15] <wstein> if it were an .hg bundle there might be hope. [11:16] <wstein> or maybe you had made other changes and "patches don't commute" [11:16] <wstein> this is a typical example of where bundles are better than .patch... [11:16] <wstein> (maybe) [11:18] <timothyclemans> regarding notebook is huge white space between buttons and worksheet area on purpose? [11:18] <dmharvey> #518: okay, I guess I'll just go through and do it again at some point. I think the real problem here is to do with trac. I posted the patch a while back, but it didn't get rolled into the repository until now. But meanwhile you and robert had done a bunch of things. [11:19] <sage-log> yep. [11:19] <boothby> #549 is fixed, I'll put a patch up in a minute [11:19] <sage-log> dmharvey -- by the way #549 was your bug report. [11:20] <sage-log> #518: yep. [11:20] <sage-log> I hope it isn't too hard fixing the spacing. [11:23] <dmharvey> #518: no it's just boring [11:23] <sage-log> write a script to do it? [11:23] <boothby> #549 has patch up in trac. [11:24] <dmharvey> #518: would take longer than just doing it [11:24] <wstein> #518 -- but would be more fun :-) [11:24] <dmharvey> #518: i've got other funner things to do :-) [11:24] <malb> robertwb could you look at #558 I've posted a first patch to address the leak in the integer_pool [11:25] <robertwb> ok [11:26] <boothby> I'm gonna take a crack at #518 with sed. [11:27] <dmharvey> #518: boothby, ok but be careful, because only *some* of the file needs to be re-indented, some of it is fine already [11:27] *** syazdani|away is now known as syazdani. [11:27] <mabshoff> Just use emacs ;) [11:27] <robertwb> malb: what happens if there are integers laying around that are deallocated after exit is called? [11:27] <timothyclemans> since i can't look at the results of #549 patch could a notebook be ran with examples of the spacing? [11:28] <robertwb> this needs to be copied over to RDF as well [11:28] <boothby> ok, that's not gonna work. [11:28] <malb> robert: memleak I guess [11:28] <mabshoff> technically: missing deallocation. [11:28] <mabshoff> for robert. [11:29] <malb> So I should set the the counter to full and hope no integers are allocated afterwards? [11:31] <wstein> I propose creating a file sage/module_cleanup.py [11:31] <robertwb> Maybe set the pool size to 0 [11:31] <wstein> This will have a function that calls cleanup methods on modules that need them. [11:31] <wstein> This will be guaranteed to be called on exit. [11:32] <wstein> what do you think? [11:32] <boothby> #518 would take way more regular expression than I've got in me today. [11:32] <malb> isn't that the same as the quit stuff right now? [11:33] <dmharvey> #518: right, which is why I did it by hand :-) [11:33] <mabshoff> malb, burcin: massif output in txt or html? create ps visualization per default? [11:33] <robertwb> we should set integer_pool_size and integer_pool_count to 0 [11:34] <malb> mabshoff: don't know massif enough to answer [11:34] <malb> robertwb: ack [11:34] <mabshoff> ok [11:34] <mabshoff> let's go with txt for now. [11:34] <mabshoff> problem is that massigf always write the aux file to cwd :( [11:35] <burcin> mabshoff: test is good.. [11:35] <burcin> mabshoff: text.. :) [11:35] <burcin> mabshoff: but there should be a pointer to a document explaining how to get the others.. [11:36] <robertwb> malb: ??? [11:36] <malb> that meant: yes [11:37] <mabshoff> burcin: I am about to open a ticket for "Sage & valgrind doc" [11:37] <mabshoff> I wrote something in sage-devel a while ago, but I think I should start a wiki page first. [11:37] <robertwb> ah... you're not disgusted... [11:37] <wstein> malb: awesome. [11:37] <mabshoff> Then after some editing move it into sagedoc [11:38] <malb> malb: disgusted? [11:38] <malb> erm robertwb: disgusted? [11:38] <boothby> lol [11:38] <mabshoff> talkig to yourself already :) [11:38] <burcin> mabshoff: wiki is a good idea.. [11:39] <burcin> I wouldn't mind if the developer documentation was only in a wiki actually.. [11:39] <mabshoff> Yeah, throw some text in there, sort it all out .. [11:40] <mabshoff> hmm, cachegrind doesn't honour --log-file=$HOME/.sage/.. either. [11:40] <mabshoff> time to file some bugs. [11:42] <wstein> #106 -- closed. [11:42] <wstein> a vintage bug. [11:42] <mabshoff> :) [11:46] <malb> robertwb: I've uploaded a patch to make sure nothing gets added to the pool once its free, but there are still memleaks in there somewhere [11:46] <robertwb> hmm... [11:46] --> jbmohler_ has joined this channel ([email protected]). [11:47] <malb> these might be caused by optimizations in higher level code, though [11:49] <robertwb> valgrind still tracks it down to the integer pool though? [11:49] <robertwb> they might be integers still in use... [11:49] <malb> true [11:49] <syazdani> I was trying to upgrade sage, and it seems to fail on building maxima. [11:50] <mabshoff> Which platform? [11:50] <mabshoff> Upgrading from which version? [11:50] <syazdani> Hold on, I'm checking. [11:50] <malb> __pyx_f_7integer_fast_tp_dealloc (integer.c:14315) [11:50] <malb> tupledealloc (tupleobject.c:169) [11:50] <malb> initmatrix_integer_dense (matrix_integer_dense.c:18898) [11:50] <mabshoff> What is the exact error message? [11:50] <syazdani> going from 2.8.2 [11:50] <wstein> what operating system!?!?! [11:50] <malb> if I do the small example from my comment for the ticket [11:50] <syazdani> Linux, [11:50] <syazdani> 32 bit, [11:50] <syazdani> Linux ms017 2.6.12-25mdksmp-pfaff-20060906 #1 SMP Wed Sep 6 16:49:16 EDT 2006 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz unknown GNU/Linux [11:51] <syazdani> I will post the error message in a second... [11:51] <mabshoff> Isn't that the 5.12->5.13 upgrade? [11:51] <wstein> which linux distribution? [11:51] <wstein> mandriva? [11:51] <mabshoff> mandrake [11:51] <syazdani> Yes, Mandriva or Mandrake. [11:52] <syazdani> I guess this is a known problem then? [11:52] <wstein> I'm trying an upgrade on my mandriva box right now (32bit). [11:52] <janwil> I tried to download 2.8.3 binary distribution for Mandriva this morning and run ./sage, but I got a bunch of Floating point exceptions [11:52] <wstein> I hadn't tested upgrading from sage-2.8.3 on. [11:52] <mabshoff> Nope, you can see it by the name of tke kernel. [11:53] <syazdani> Summary: [11:53] <syazdani> clisp enabled. Executable name: "clisp" [11:53] <syazdani> clisp runtime is "" [11:53] <syazdani> default lisp: clisp [11:53] <syazdani> wish executable name: "wish" [11:53] <syazdani> make[1]: Entering directory `/1/scratch/syazdani/sage/spkg/build/maxima-5.13.0/src' [11:53] <syazdani> Making all in src [11:53] <wstein> maxima-5.13.0 built fine before on my mandriva box. [11:53] <syazdani> make[2]: Entering directory `/1/scratch/syazdani/sage/spkg/build/maxima-5.13.0/src/src' [11:53] <syazdani> test -d binary-clisp || mkdir binary-clisp [11:53] <syazdani> clisp -norc -q -x '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern (symbol-name :operate-on-system) :mk) "maxima" :compile :verbose t))' && \ [11:53] <syazdani> clisp -norc -q -x '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern (symbol-name :operate-on-system) :mk) "maxima" :load :verbose t) (ext:saveinitmem "binary-clisp/maxima.mem" :init-function (function cl-user::run)))' [11:53] <syazdani> clisp: /1/scratch/syazdani/sage/sage-2.6/local/lib/clisp/base/lisp.run: No such file or directory [11:53] <syazdani> make[2]: *** [binary-clisp/maxima.mem] Error 1 [11:53] <syazdani> make[2]: Leaving directory `/1/scratch/syazdani/sage/spkg/build/maxima-5.13.0/src/src' [11:53] <syazdani> make[1]: *** [all-recursive] Error 1 [11:53] <syazdani> make[1]: Leaving directory `/1/scratch/syazdani/sage/spkg/build/maxima-5.13.0/src' [11:53] <wstein> Did you move your install? [11:53] <syazdani> *********************************************************** [11:53] <syazdani> Failed to make Maxima. [11:53] <syazdani> sorry for that giant post... [11:53] <syazdani> the problem seems to be in clisp. [11:54] <syazdani> I don't think so... [11:54] <wstein> hmmm. [11:54] <syazdani> Hmm, actually, maybe.. [11:54] <syazdani> let me check. [11:54] <wstein> How about if you force rebuild of the clisp package too. [11:54] <wstein> Just do rm spkg/installed/clisp* [11:54] <mabshoff> wstein: #473 has four valgrind patches attached. [11:54] <wstein> then "sage -upgrade" [11:54] <mabshoff> That also covers #599 [11:55] <mabshoff> But there are bugs in valgrind, some file for cachegrind and massif still end up in $CWD [11:55] <syazdani> ok, I will try that. [11:55] <-- timothyclemans has left this server ("leafChat IRC client: http://www.leafdigital.com/Software/leafChat/"). [11:56] <wstein> syazdani -- I am also building a 32-bit mandriva binary, which will take about 10-14 minutes... [11:56] <dmharvey> #424: when running a program in linux, how do I tell which shared libraries are actually being loaded; specifically how do I tell whether it's using the new GMP I just built, or the system one? [11:56] <mabshoff> ldd [11:56] --> pdehaye has joined this channel ([email protected]). [11:57] <wstein> ldd [11:57] <syazdani> was: ok, right now I'm rebuilding clisp... [11:57] <dmharvey> thanks [11:57] <mabshoff> dmharvey: I gotta make three more (easy) patches, then I can help out. [11:58] <mabshoff> Hey Oliver [11:58] <wstein> #473 -- I'm taking a look [11:58] <mabshoff> Cool, it is classic diffs. [11:59] <mabshoff> but you can actually commit via hg commit -u mabshoff :) [12:00] <wstein> #549 -- closed and pushed out. [12:01] <wstein> But caused #601 (a new bug). [12:01] <boothby> Exposed, not caused. [12:01] <wstein> mabshoff -- re valgrind, can you just send me an hg patch bundle? [12:01] <wstein> #473. [12:02] <mabshoff> I tried, but I have other changes in that directory. [12:02] <wstein> then I can merge if necessary. [12:02] <mabshoff> Where is the official hg repo for sage-script in the tree? [12:02] <wstein> its in local/bin/ [12:02] <mabshoff> ok [12:02] <wstein> Or you can do "hg_scripts.ci(); hg_scripts.send('scripts.hg') [12:02] <wstein> from in sage. [12:02] <mabshoff> Once sec. [12:04] <mabshoff> Okay, problem is that hg shows lots and lots of files with "?" [12:04] <janwil> I am trying to build 2.8.3.6 on Ubuntu ... let's see whether I will have more luck than 12 hours ago with 2.8.3.5 on Arch .. [12:04] <mabshoff> I did hg add on the new files. [12:05] <mabshoff> hg diff now shows my changes [12:05] <dmharvey> #424: breakthrough. It compiles and works. And it's pretty friggin fast. I think I know what to do from here. Mabshoff: when I've made a proper patch I'll ask you to take a look. [12:06] <mabshoff> :) [12:06] <mabshoff> very nice. [12:06] <mabshoff> wstein: Now I have [12:06] <mabshoff> changeset: 392:ca63d81a880b [12:06] <mabshoff> tag: tip [12:07] <mabshoff> user: mabshoff [12:07] <mabshoff> date: Thu Sep 06 21:18:50 2007 +0200 [12:07] <mabshoff> summary: add cachegrind and massif support from valgrind [12:07] <mabshoff> changeset: 391:d4b5e94af89d [12:07] <mabshoff> user: mabshoff [12:07] <mabshoff> date: Thu Sep 06 20:23:19 2007 +0200 [12:07] <mabshoff> summary: rename logfiles and store them in $HOME/.sage/ per default [12:07] <mabshoff> How do I send the last two changesets? [12:07] <dmharvey> heh and that's without the AMD64 patches.... will be interesting to compare against Magma when they're in there too :-) [12:07] <syazdani> wstein: It compiles. [12:07] <syazdani> thanks [12:08] <wstein> hg_scripts.send('foo.hg') will send me all changesets you've recorded [12:08] <mabshoff> Yep, the AMD64 patches brought about 10% for GBasis computations over Q [12:08] <wstein> then just make foo.hg available to me. [12:08] <mabshoff> ok, I will try . [12:09] <mabshoff> wstein: trac_ticket_473.hg is on the way. [12:11] <boothby> patch up for 601 [12:14] <wstein> thanks. [12:16] <dmharvey> wstein: so if I modify the gmp spkg, how do I tell SAGE to rebuild from that spkg? Is it something like sage -i path/to/new-package.spkg? [12:16] <mabshoff> add "-f" [12:17] <dmharvey> sage -f -i path/to/package.spkg? [12:17] <mabshoff> In case the time stamp doesn't change [12:17] <mabshoff> Yep, that should work. [12:17] <mabshoff> -f is "force" [12:17] <dmharvey> ok [12:17] <mabshoff> And instead of "time stamp" I mean spkg name. [12:18] <malb> I am looking into #566 now [12:18] <wstein> I am dealing with the proof=True/False option in number fields sage-devel, before the serious number theorists kill me. [12:19] <mabshoff> malb: What was the discussion with Robert about "pools" about - somehting different than #566? [12:19] <malb> yes, 566 are leaks in gmp.pxi [12:19] <mabshoff> Does Sage use a slab allocator for mpz's? [12:19] <mabshoff> ok [12:19] <malb> the pool leaked by itself [12:20] <mabshoff> Okay, then I understood that correctly. [12:20] <malb> I am not confided I killed all leaks in the pool, though [12:20] <mabshoff> burcin, are you still on #519? [12:20] <mabshoff> Well, every little bit of progress is good. [12:20] <dmharvey> wstein: btw I agree with nils etc [12:21] <burcin> mabshoff: #559.. [12:21] <wstein> #602 -- boothby is working on that. [12:21] <burcin> it might have been a better idea to look at the linear algebra directly though... too late now [12:22] <burcin> I didn't now sage had so much code for modular symbols.. [12:22] <mabshoff> Okay, I thing #559 isn't too bad. [12:23] <mabshoff> It looks like we leak a single mpz of 8 bytes a bunch of times. [12:24] <mabshoff> If you want I can post the correspinding pyx line number where the leak is. [12:24] <mabshoff> The run were done before the sage_lib scons rework, so they might be a little off. [12:24] <burcin> mabshoff: for #559? [12:25] <mabshoff> yep [12:25] <mabshoff> Or are you sure where the problem is? [12:27] <burcin> I know several functions leak in sage.modular.modsym.relation_matrix [12:27] <burcin> I don't know why.. [12:27] <mabshoff> :) [12:27] <mabshoff> You are not alone, but #559 is a single mpz. [12:30] <wstein> hi -- I've pushed out a clean proof=True by default, but easy to change, option for number fields. [12:33] <wstein> #473 -- mabshoff -- where is the bundle? [12:33] <wstein> I didn't get it in email. [12:33] <mabshoff> I send it, but who knows what happened. [12:33] <mabshoff> Let me check the logs on that box. No sendmail/postfix running as daemon. [12:33] <jbmohler_> I'm getting doc_test failures on vanilla 2.8.3.6 for sage/rings/number_field/number_field.py and sage/rings/number_field/number_field_ideal.py [12:33] <wstein> could you post a link? I didn't get the email. [12:33] <wstein> 32-bit? [12:33] <wstein> maybe I screwed up. [12:33] <mabshoff> How do I save the bundle? [12:34] <wstein> hg_scripts.send('a.hg') creates the file. [12:34] <mabshoff> Found it in $SAGE_LOCAL [12:34] <jbmohler_> Yes, 32-bit, it looks like precision issues on one of them [12:34] <wstein> then you send the file a.hg. [12:34] <mabshoff> ehh SAGE_ROOT [12:34] <wstein> I ust got that on a machine -- i'll fix it in a minute. [12:34] <wstein> jbmohler_ -- I did a huge amount on number fields. I added hundreds of doctests. [12:35] <mabshoff> burcin: opened #603, i.e. valgrind doc and assigned it to you. [12:35] <wstein> so some issues will creap up on some platforms with doctests. [12:35] <mabshoff> The abuse of power :) [12:35] <jbmohler_> wstein: Yes, I thought so, did they pass for you? [12:35] <wstein> on 64-bit linux. [12:35] <wstein> and a few other platforms. [12:35] <burcin> mabshoff: thanks.. :) [12:35] <wstein> but I just noticed a problem on 32-bit osx. [12:35] <mabshoff> Well, I can send more your way if you prefer ... [12:36] <jbmohler_> common failure: [12:36] <wstein> I'll fix it in 10 minutes or so and push it so you can do hg_sage.pull() [12:36] <jbmohler_> Expected: Fractional ideal (-2*a^2 - 1) of Number Field in a with defining polynomial x^4 + 3 [12:36] <jbmohler_> Got: Fractional ideal (2*a^2 - 1) of Number Field in a with defining polynomial x^4 + 3 [12:36] <mabshoff> But I will help out on the documentation, it is just better if we have more input. [12:36] <wstein> yep -- pari give slightly different results on 32 versus 64 bit. [12:36] <jbmohler_> 3 of these (with slightly different fractional ideas (but all having to do with a minus sign different) [12:36] <burcin> mabshoff: I'd prefer non documentation bugs... [12:38] <mabshoff> Oh, in that case wait a minute ;) [12:38] <mabshoff> We can assign it to malb *ducks* [12:38] <wstein> jbmohler_ -- yep. [12:38] <wstein> It would be desirable to somehow normalize the generators, I guess. [12:38] <mabshoff> wstein: send the bundle to you gmail address. [12:38] <mabshoff> brb [12:38] <wstein> But otherwise we should just mark the output as slightly random for now. [12:39] <wstein> #473 -- got it. [12:40] <wstein> ok, #473 is officially in. [12:41] <mabshoff> :) [12:41] <wstein> jbmohler_ -- could you try hg_sage.pull() then do the doctests in number_field? [12:42] <wstein> syazdani -- did sage build for you on mandriva. [12:42] <wstein> ? [12:45] <wstein> #601 -- now closed. [13:07] <sage-log> [13:07] <sage-log> [13:08] [CTCP] Received Version request from freenode-connect. [13:08] --> You have joined the channel #sage-devel ([email protected]). [13:08] [Error] sage-dev: No such channel. [13:09] *** Channel modes: secret, no messages from outside [13:09] *** This channel was created on 08/17/2007 01:03:33 PM. [13:09] <dmharvey> ummm how does that work? [13:09] <mabshoff> What does "ulimit -n" say [13:09] <dmharvey> 256 [13:10] <mabshoff> Try to raise that: "ulimit -n 512" [13:10] <dmharvey> ok [13:10] <mabshoff> might have to do that as suo. [13:10] <mabshoff> sudo [13:10] <mabshoff> I think you can set those permanently on OSX; I don't remember the details, though. [13:10] <mabshoff> The limits on OSX are pretty tight and cause easily trouble when building Sage. [13:11] <dmharvey> nah that doesn't help. I must be getting in an infinite loop in the spkg-install script or something. [13:11] <dmharvey> i'm trying to make it apply my patch in the gmp install script [13:11] <mabshoff> ok, that would explain the problem. [13:11] <mabshoff> That is a bash script? [13:11] --> pdehaye has joined this channel ([email protected]). [13:11] <mabshoff> Then set "#!/bin/bash -x" as shebang [13:12] <mabshoff> it activates debug output for bash, i.e. each line is printed as it is executed. [13:12] <dmharvey> ok thanks i'll try that [13:12] <sage> mabshoff -- what is Solaris9-fixes.hg a bundle for / against, etc? [13:12] <mabshoff> 2.8.3ish [13:13] <dmharvey> meanwhile: i tried sage -ba on sage.math, still getting stupid import errors. I might just have to rebuild the whole bloody thing [13:13] <mabshoff> It fixes two missing symbol problems when starting sage on neron. [13:13] <sage> no. [13:13] --> boothby has joined this channel ([email protected]). [13:13] <mabshoff> It doesn't apply? [13:13] <sage> dmharvey -- i can take a look (as you). [13:13] <sage> which directory. [13:14] <dmharvey> in /home/dmharvey/sage-2.8.3 [13:14] <dmharvey> i was just upgrading in preparation for trying to apply my gcd stuff (i'm working on the gcd stuff locally instead right now) [13:15] <sage> You have colorful prompts ;-) [13:15] <dmharvey> colourful actually [13:15] <sage> did you do a "sage -ba"? [13:16] <mhansen> sage: for #396, I have a patch disabling support for vector multiplication and moving it instead to .pairwise_product(). [13:16] <mhansen> sage: it passes all doc tests [13:17] <dmharvey> wstein: yes I did, same thing happened [13:18] <sage> that's weird -- I've never seen that error. [13:18] <sage> What is "stack_chk_fail" [13:18] <syazdani> Hmm, I ran the command "./sage -t" about an hour ago, and the tests are still happening. [13:19] <syazdani> Is it supposed to take this long? [13:19] <mabshoff> where is it at? [13:19] <sage> you moved your install. [13:19] <mabshoff> caculus.py? [13:19] <sage> and it is having trouble maybe finding something in ntl? [13:20] <dmharvey> I can't remember [13:21] <dmharvey> mabshoff: can you take a look at /home/dmharvey/temp/spkg-install? That's the install script I'm working on, from the gmp spkg. I added the lines after "# apply fast gcd patch". For some reason it's getting into an infinite loop. I don't really know how to write shells scripts. Can you see what's going wrong? [13:21] <sage> DAVID! [13:21] <sage> I figured it out. [13:21] <sage> dmharvey -- stack_chk_fail is defined in libgmp. [13:21] <sage> You are screwing with your libgmp, so you suddenly don't have it for some reason. [13:22] <sage> Hence libcsage.so, which wants it, can't find it. [13:22] <dmharvey> but I haven't touched gmp in there yet! [13:22] <dmharvey> ???? [13:22] <mabshoff> I will take a look at the script. [13:22] <sage> On my system my libgmp has it and on yours it doesn't. [13:22] <sage> for me: [13:22] <sage> was@ubuntu:~/s/local/lib$ nm libgmp.so.3 |grep stack_c U __stack_chk_fail@@GLIBC_2.4 [13:22] <mabshoff> maybe it picks up the "wrong one" [13:22] <sage> for you -- nothing: [13:22] <sage> sage$ nm /home/dmharvey/sage-2.8.3/local/lib/libgmp.so.3 |grep stack_chk [13:23] <dmharvey> well that's just weird [13:23] <sage> weird. [13:23] <sage> sage = (william stein, by the way) [13:24] <sage> anyway, stack_chk is in gmp. [13:24] <sage> so your problem has something to do with gmp. [13:24] <dmharvey> i guess i might have accidentally overwritten something in there [13:24] <dmharvey> but I can't remember ever touching it [13:24] <sage> you didn't change it recently. [13:25] <sage> weird. [13:25] <sage> the mod time is aug 31. [13:25] <dmharvey> i'll try rebuilding the usual gmp package to see if that helps [13:25] <jbmohler_> dmharvey: Do you have gmp outside your sage tree? [13:25] <dmharvey> yes I have multiples GMPs outside the sage tree [13:25] <dmharvey> i mess around with GMP all the time [13:25] <jbmohler_> Which the scons build is finding for some reason... [13:25] <sage> wait -- on my sage.math gmp I also don't have stack_chk. [13:26] <dmharvey> well that's no good [13:26] <sage> It's only my my laptop gmp that I have it. [13:26] <sage> and libcsage doesn't link it in for me on sage.math. [13:26] <dmharvey> im' rebuilding from gmp-4.2.1.p9.spkg now [13:26] <sage> I.e., it doesnt have that symbol. [13:26] <mabshoff> dmharvey: you have a procedure called patch() in spkg-install, but you want to invoke the external patch command. [13:26] <mabshoff> Instand inifinte loop :) [13:27] <dmharvey> mabshoff!!!!!!!! thanks [13:27] <mabshoff> I am here to serve [13:27] <dmharvey> i should have my programming license taken away [13:27] <sage> dmharvey -- don't use patch. [13:27] <sage> it's not a dependency of SAGE [13:27] <mabshoff> Don't worry. I have had more than enough "brown paperbag over my head" moments [13:27] <dmharvey> oh [13:27] <mabshoff> In fact, once was just last week, got scooled by malb. [13:28] <mabshoff> schooled [13:28] <sage> i prefer that prepatched versions of files be put in the patches directory, [13:28] <sage> since otherwise people have to install patch to build SAGE, which is annoying. [13:28] <sage> stack_chk_fail is part of libc: http://www.fabbrication.net/pro/indexed-source/glibc24/html/stack__chk__fail_8c-source.html [13:28] <dmharvey> well it starts getting a little dangerous when you have all these patches interacting [13:28] <sage> maybe. [13:29] <dmharvey> especially since my patch touches all the auto/config related fiels [13:29] <dmharvey> can hg patch things? [13:31] <sage> jbmohler -- how do you force scons to rebuild everything? [13:31] <dmharvey> ok, well i suppose as long as my patch doesn't touch the same files as the AMD64 or core duo patches, we should be okay (for now) [13:32] <sage> got it -- just scons -c [13:32] <sage> then scons install [13:32] <dmharvey> wstein: I'm going to leave that sage-2.8.3 alone for the moment, in case you want to play with it. [13:32] <sage> i'm stuck on it. you should try reinstalling ntl too [13:33] <jbmohler_> sage: right, they don't have a force option like make does [13:34] <sage> dmharvey -- i rebuild your libcsage.so and now it doesn't have any stack_* stuff in it. [13:34] --> craigcitro has joined this channel ([email protected]). [13:34] <mabshoff> Hey Craig [13:34] <craigcitro> hey michael [13:34] <dmharvey> wstein: sage still doesn't start though [13:34] <craigcitro> how goes the bug squash? i just got back from climbing, gonna eat and shower real quick [13:35] <mabshoff> Check out the roadmap .) [13:35] <mabshoff> Is anybody around here familiar with bober's partition code? [13:35] <mabshoff> I have an off linking issue at runtime on Solaris [13:36] <mabshoff> off->odd [13:36] <craigcitro> >mabshoff: where's the roadmap? [13:36] <sage> scons is a pain in the ass. [13:36] <sage> how do I get it to *actually* copy libcsage.so over? [13:36] <syazdani> craig: http://sagemath.org:9002/sage_trac/roadmap [13:36] <sage> It just refuses... [13:37] <syazdani> (Hi Craig!) [13:37] <sage> dmharvey -- i fixed your problem! [13:37] <sage> With 1 line: [13:37] <sage> ~/sage-2.8.3/devel/sage/c_lib [13:37] <sage> sage$ cp libcsage.so ../../../local/lib/libcsage.so [13:37] <sage> That this was needed is deeply annoying. [13:37] <jbmohler_> yes, you need to specify the actual install directory as a target [13:37] <sage> i see. [13:37] <sage> so dmharvey -- your sage now works on sage.math [13:37] <dmharvey> ok thanks [13:37] <jbmohler_> or, we often alias with Alias [13:38] <dmharvey> i hope you guys understand what actually happened [13:38] <sage> too bad that wasn't a ticket... [13:38] <jbmohler_> The default target is '.' -- the current directory [13:38] <sage> syazdani -- are you up to speed? [13:38] <sage> if not i built a mandriva binary. [13:38] <syazdani> I think so. [13:38] <sage> it's in sagemath.org under linux 32-bit binaries... [13:39] <syazdani> I'm running the tests one directory at a time, [13:39] <jbmohler_> sage: Was there a scons issue, or a confusion? [13:39] <syazdani> and it seems to work fine. [13:39] <sage> syazdani -- did you do "sage -t" from the SAGE_ROOT? [13:39] <sage> 'cause if so, that makes no sense. [13:39] <sage> YOu have to do "make test" [13:39] <sage> Or cd into devel/sage/sage and do "sage -t". [13:39] <syazdani> yes, I did... [13:40] <syazdani> that explains why it was running so many tests, I guess. [13:40] <craigcitro> (hey soroosh!) [13:41] <mabshoff> "partitions.so: symbol _Z4cosle: referenced symbol not found" is the Solaris problem. [13:41] <mabshoff> Any ideas? [13:42] <sage> mabshoff -- still. ick. [13:42] <mabshoff> I never looked at it. [13:42] <mabshoff> So I was hoping that somebody in here would pay it forward ;) [13:43] <mabshoff> sage: How about another try about the other Solaris fixes? [13:44] <mabshoff> Okay, I see the trouble with the last bundle. [13:45] <craigcitro> sage: i'm just coming into this in the middle, but where are you having the scons copy problem? [13:46] <sage> mabshoff -- on it regarding solaris. [13:46] <sage> craigcitro -- "scons install" doesn't know the target, which confused me. [13:47] <craigcitro> yeah, it only copies it over to $SAGE_ROOT/local/lib if it actually does something to update it [13:47] <craigcitro> that's exactly the problem we were having with branch switching [13:47] <craigcitro> in fact, if you do scons branch_switch [13:47] <craigcitro> it'll force the copy [13:47] <mabshoff> sage: the bundle was only the last uncomitted workaround to avoid doctesting the singulat interface. [13:49] <sage> mabshoff -- yeah, it sucks. [13:49] <sage> it hardcodes your paths for CC. [13:49] <sage> chick in something good and send it to me. [13:49] <sage> or? [13:49] <mabshoff> Yeah, that bit sucked. [13:50] <mabshoff> I got a better fix for scons that switches the preferred compiler on Solaris to gcc vs. SunPro [13:50] <wstein> hard coding it to your home directory always isn't good :-) [13:51] <mabshoff> That was after about 10 hours, I didn't care anymore, I just wanted to make it compile. [13:51] <sage> :-) [13:51] <jbmohler_> craigcitro: Why did you have to hard-code the copies? [13:51] <mabshoff> An hour later I found the real workaround, but I never reverted the earlier "fix" [13:52] <jbmohler_> Scons should check the actual file contents to see if things are out of date ... or is this more complicated? [13:52] <mabshoff> wstein: I can export the two relevant fixes and send them to you. [13:52] <sage> ok. [13:52] <mabshoff> At least they are hg patches ;) [13:54] <-- mhansen has left this server (Remote closed the connection). [13:55] <craigcitro> >jbmohler_: i didn't know how to tell scons that it should check to see if $SAGE_ROOT/local/lib was up to date. [13:55] <craigcitro> so when we'd switch branches, it would see sage-branch/c_lib/libcsage.dylib was up to date [13:55] <craigcitro> and not do the Install [13:56] <craigcitro> i asked in the scons-dev channel, and they suggested the forced copy. [13:56] <craigcitro> i'm just curious where you guys ran into a situation that it was updated but not copied, so i can fix it. ;) [13:57] <wstein> jbmohler -- did you see Kiran's email? [13:57] <wstein> I want to do: [13:57] <wstein> env = Environment(ENV = os.environ) [13:57] <mabshoff> That is quite interesting [13:57] <mabshoff> He should post his "env" [13:58] <jbmohler_> wstein: Feel free, it feels like the right thing in our context. In general, scons devs don't copy the environment so that funny user environment variables don't corrupt the build. [13:59] <jbmohler_> However, the whole sage "chroot" relies on funny user environment variables [13:59] <jbmohler_> craigcitro: was there a situation when it didn't copy and should have? It seems like a bug in sage [13:59] <craigcitro> no, it wasn't a bug in sage. it was just whenever you do sage -b [13:59] <jbmohler_> oops, not sage scons [13:59] <craigcitro> the issue is this [14:00] <craigcitro> whenever you switch branches, you don't care about file timestamps or anything [14:00] <jbmohler_> right, scons actually hashes the file contents [14:00] <craigcitro> you just *always* need to make sure that the $SAGE_ROOT/local/lib is a copy of sage-branch/c_lib/libcsage.dylib [14:00] <mabshoff> wstein: check out http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/Sage-2.8.3-roundf%2Bisinf_workaround_on_Solaris.patch [14:00] <craigcitro> but scons doesn't know to check the install target [14:00] <craigcitro> it only knows to check the local target [14:01] <craigcitro> or, at least, this is what it always does [14:01] <jbmohler_> What if you called 'scons install'? [14:01] <craigcitro> it says sage-branch/c_lib/libcsage.dylib looks up to date, i must be done [14:01] <craigcitro> even if you call scons install [14:01] <craigcitro> because it decides to run commands based on seeing that sage-branch/c_lib/libcsage.dylib does or does not need updating [14:02] <jbmohler_> but, that's not true ... or, I'm confused [14:02] <craigcitro> at least, this is what i found by experimenting with scons [14:02] <mabshoff> Craig: who "maintains" the scons package? [14:02] <mabshoff> (in Sage) [14:02] <wstein> mhansen #396 -- are you around? [14:03] <craigcitro> oh, i have no idea ... i've never played with it. i had assumed joel did. ;) [14:03] <wstein> applying /home/was/Desktop/Sage-2.8.3-roundf+isinf_workaround_on_Solaris.patch [14:03] <wstein> /usr/bin/patch: **** malformed patch at line 37: --- a/sage/rings/rqdf_fix.h Tue Sep 04 08:51:32 2007 -0400 [14:03] <wstein> sage/modular/modsym/solaris_fix.h: No such file or directory [14:03] <wstein> mabshoff -- your patch doesn't work... [14:03] <mabshoff> Arrg, damn mercurial [14:04] <mabshoff> Wait one second, I removed one hunk. [14:04] <wstein> #396 -- i'm working on it. [14:04] <jbmohler_> mabshoff: What do you mean by "maintains"? Google for scons and you'll get their main page [14:04] <jbmohler_> The scons spkg is pretty much vanilla [14:05] <wstein> jbmohler_ is the official scons spkg maintainer. [14:05] <mabshoff> I wanted to add a patch that switched the default Compiler on Solaris to g++ [14:05] <mabshoff> away fom sun's cc & CC [14:05] <mabshoff> On neron there is a "dummy" cc which just says: please install the real cc [14:05] <jbmohler_> I hope we could do that in the SConstruct [14:06] <mabshoff> And since we cannot build with Sun's CC anyway. [14:06] <jbmohler_> We already have exceptions for darwin there [14:06] <mabshoff> I tried, it worked for C, but not for C++ [14:06] <mabshoff> I imported CXX from env, no dice. [14:06] <mabshoff> But you might get it to work. [14:07] <craigcitro> jbmohler_: what was the error that sage & dmharvey ran into above? i came in just as they working around it, so i didn't see what the problem was [14:07] <jbmohler_> let me look at the docs a bit for cc switch [14:07] <mabshoff> ok, np. [14:08] <jbmohler_> I didn't quite understand sage & dmharvey's problem ever [14:08] <mabshoff> I have a local workaround that I can just patch into "my" scons on Solaris package for now. [14:08] <-- pdehaye has left this server. [14:08] <dmharvey> and I don't understand it at all :-( [14:08] <craigcitro> hahahah [14:08] <craigcitro> hey david [14:08] <craigcitro> so what was happening? [14:10] <dmharvey> my sage broke [14:10] <dmharvey> i would run it and weird error messages came up [14:10] <mabshoff> wstein: I got the original patch up on fsmath. [14:10] <mabshoff> But there is one hung in there which shouldn't go in. [14:10] <dmharvey> william logged in as me and fixed it [14:10] <craigcitro> by just recopying c_lib/libcsage.so into place? [14:10] <mabshoff> The bit about "b/sage/rings/real_rqdf.pyx" [14:10] <mabshoff> was a mismerge. [14:11] --> mhansen has joined this channel ([email protected]). [14:11] <craigcitro> dmharvey: had you done a sage -b or anything recently? do you maintain multiple branches? [14:12] <dmharvey> i've forgotten [14:12] <dmharvey> it's all way too complicated [14:12] <craigcitro> grin ok [14:12] <wstein> off for lunch (with Robertwb and boothby) [14:12] <dmharvey> sorry craig, i'm planning to ignore the problem for now [14:12] <craigcitro> hah, it's all good [14:14] <jbmohler_> mabshoff: Environment( CC='<desired compiler>', CXX='<your desired compiler>' ) would appear the correct thing to me [14:15] <dmharvey> hmmmm.... now when I do sage -i gmp-4.2.1.p9.spkg, it doesn't seem to be applying the AMD64 patches correctly [14:15] <dmharvey> it's sending them to entirely the wrong directory, whcih doesn't even exist [14:15] <mabshoff> odd, got an update spkg-install? [14:16] <mabshoff> jbmoehler_: I will try that. [14:16] <dmharvey> no I mean even with the original gmp-4.2.1.p9.spkg [14:16] <dmharvey> not with my modifications [14:16] <mabshoff> jbmoehler_: I did something very similar, but it might be that the shell on William's Solaris box if fubar [14:16] <jbmohler_> craigcitro: Where is scons actually called from now? [14:17] <dmharvey> crap my build is such a mess, maybe I should start from scratch [14:17] <jbmohler_> found it -- sage-build [14:18] <craigcitro> jbmohler_: $SAGE_ROOT/local/bin ... [14:18] <craigcitro> i moved it there so that i didn't have to pass flags around about whether or not we were switching branches [14:18] <craigcitro> because it's where you know whether or not you're switching [14:18] <craigcitro> ok, i'm afk for a few to shower, and then i'll be back and ready to work [14:19] <mabshoff> Is anybody working on the Lie.spkg? [14:19] <mabshoff> I want to fix the curses vs. ncurese issue. [14:20] <-- mhansen has left this server (Remote closed the connection). [14:23] --> mhansen has joined this channel ([email protected]). [14:27] <syazdani> Ok, after several hours, I finally got sage to build, and run bunch of tests. [14:28] <syazdani> I mean, run "make test" [14:28] <mabshoff> And, how is it going? [14:28] <syazdani> All of the tests, except for 7 of them passed: [14:28] <syazdani> sage -t devel/sage-main/sage/modular/modform/ambient_g1.py [14:28] <syazdani> sage -t devel/sage-main/sage/modular/modform/eisenstein_submodule.py [14:28] <syazdani> sage -t devel/sage-main/sage/modular/modform/submodule.py [14:28] <syazdani> sage -t devel/sage-main/sage/rings/number_field/number_field.py [14:28] <syazdani> sage -t devel/sage-main/sage/rings/number_field/number_field_ideal.py [14:28] <syazdani> sage -t devel/sage-main/sage/rings/morphism.py [14:28] <syazdani> These ones failed. [14:28] <mabshoff> Did you do a "sage -upgrade" [14:29] <syazdani> I did "sage -upgrade" few hours ago. [14:29] <mabshoff> I believe those were issues with 32 bit only and fixed in the meantime. [14:29] <syazdani> I'm doing it again. [14:29] <mabshoff> try again :) [14:29] <syazdani> Ok, I just did sage upgrade. [14:29] <syazdani> Let me check. [14:29] <mabshoff> Bug Day is special, rapid progress. [14:29] *** dmharvey is now known as dmharvey|away. [14:29] *** dmharvey|away is now known as dmharvey. [14:30] <mabshoff> With the upgrade from about 30 minutes ago I have a failure in "sage -t coding/guava.py2 [14:30] <burcin> is anybody looking at the memleaks in linear algebra? [14:30] <burcin> #533? [14:30] <mabshoff> In a while. [14:30] <mabshoff> ------------------------------------------------------------ [14:30] <syazdani> no, I just did "./sage upgrade", and ran these tests, and they still fail. [14:30] <mabshoff> Unhandled SIGSEGV: A segmentation fault occured in SAGE. [14:30] <mabshoff> This probably occured because a *compiled* component [14:30] <mabshoff> of SAGE has a bug in it (typically accessing invalid memory) [14:30] <mabshoff> or is not properly wrapped with _sig_on, _sig_off. [14:30] <mabshoff> You might want to run SAGE under gdb with 'sage -gdb' to debug this. [14:30] <mabshoff> SAGE will now terminate (sorry). [14:30] <mabshoff> ------------------------------------------------------------ [14:30] <mabshoff> Okay, interesting. [14:31] <mabshoff> wstein is at lunch, and he added a lot of doctest in that area. [14:31] <syazdani> make there are some packages that I need to force it to upgrade again? [14:31] <syazdani> well, I looked at the one in morphism.py just now, [14:31] <mabshoff> Try a hg_sage.pull() [14:31] <syazdani> and the the doctest is correct, and sage is returning the incorrect value. [14:32] <mabshoff> If there are any updates exit sage and do a ./sage -b [14:32] <syazdani> hmm, there were 21 changes.... [14:32] <mabshoff> You can rerun those failed tests. [14:33] <syazdani> ok, I will wait for it to recompile, and then try again. :) [14:33] <mabshoff> okay [14:34] <mabshoff> Phew, adding -t the failed test with guave no longer makes it segfault, [14:34] <mabshoff> but there are failed tests. [14:35] <mabshoff> burcin: #533 is quite hard. [14:35] <mabshoff> William and I looked at it for about 2 hours and he fixed two leaks. But there is still one more. [14:36] <burcin> mabshoff: I think #563 is caused by something similar.. [14:38] <burcin> mabshoff: anyway.. I'm looking at sparse matricies now.. [14:38] <mabshoff> ok [14:38] <mabshoff> the guava issue goes away once you nuke the gap workspace. [14:38] <mabshoff> I though that was fixed. Damn it. [14:39] <mabshoff> Hehe, #563 is deep in LinBox. [14:39] <mabshoff> I reported that one and another one to LinBox-use in the hope that they would fix it. [14:42] <syazdani> Ok, out of those seven, the first six now pass, [14:42] <syazdani> but the morphism bug is still there. [14:42] <mabshoff> Interesting. [14:44] <syazdani> Hmm, running the same commands on sage gives the right answer. [14:44] <syazdani> Let me try the tests again... [14:44] <mabshoff> :) [14:45] <syazdani> I'm very confused... [14:46] <syazdani> it still fails when I run "sage -t .../morphism.py", [14:46] <syazdani> but running the tests inside sage works fine. [14:47] <mabshoff> Hmm, definitely very odd. [14:47] <mabshoff> That is with mandriva or whatever it is called these days. [14:47] <mabshoff> Which doctest fails? Is it always the same? [14:48] <craigcitro> hey soroosh -- which test is it that's failing? [14:48] <syazdani> Yes, it's always the same. It fails on line 514 [14:48] <syazdani> Also, when I ask for verbose output, it passes. [14:48] <craigcitro> it's sage/modular/morphism.py ? [14:48] <craigcitro> err, probably not, since that doesn't exist ;) [14:49] <mabshoff> +devel [14:49] <craigcitro> oh, sage/ring/morphism.py [14:49] <syazdani> devel/sage-main/sage/rings/morphism.py [14:49] <syazdani> :) [14:52] <syazdani> I'm heading out right now [14:53] <syazdani> I will be back in few hours though. [14:53] <syazdani> quit [14:53] <syazdani> :) [14:53] <syazdani> \quit [14:53] <syazdani> Ok, how does one quit from the irc channel? :) [14:54] <craigcitro> forward slash quit [14:54] <mabshoff> "/" instead of \ [14:54] <dmharvey> I could tell you but I would have to kill myself [14:54] <syazdani> thanks [14:54] <mabshoff> :) [14:54] <craigcitro> hah [14:54] <syazdani> :) bye for now. [14:54] <-- syazdani has left this server ("leaving"). [14:54] <craigcitro> i think it would have been funny if mabshoff and i had logged out in response, since we'd typed the right command. [14:54] <dmharvey> that's what I almost did [14:54] <craigcitro> grin [14:54] <craigcitro> then come back in and say "just like that!" [14:55] <mabshoff> Hey, this isn't bash.org [14:55] <jbmohler_> The moebius function used to accept polynomial arguments, but now it only takes integer arguments -- is that a good change? [14:55] <mabshoff> And you can play games with noobies so they log themselves out. [14:56] <mabshoff> classic line: How do I install X [14:56] <jbmohler_> The polynomials I was using it for where over a finite field ... if that makes a difference [14:56] <mabshoff> answer: First quit all programs. [14:56] <mabshoff> Then user who asked question drops out of channel - brilliant. [14:56] <dmharvey> Moving .asm files that are to be replaced to .asm.disabled ... [14:56] <dmharvey> mv: cannot stat `/home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp/mpn/x8\ [14:56] <dmharvey> 6_64/addmul_1.asm': No such file or directory [14:57] <dmharvey> mv: cannot stat `/home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp/mpn/x8\ [14:57] <dmharvey> 6_64/submul_1.asm': No such file or directory [14:57] <dmharvey> mv: cannot stat `/home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp/mpn/x8\ [14:57] <dmharvey> 6_64/add_n.asm': No such file or directory [14:57] <dmharvey> mv: cannot stat `/home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp/mpn/x8\ [14:57] <dmharvey> 6_64/sub_n.asm': No such file or directory [14:57] <dmharvey> mv: cannot stat `/home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp/mpn/x8\ [14:57] <dmharvey> 6_64/x86_64-defs.m4': No such file or directory [14:57] <craigcitro> did anyone else run into soroosh's problem? [14:57] <dmharvey> Copying new .asm and x86_64-defs.m4 files ... [14:57] <dmharvey> cp: target `/home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp/mpn/x86_64/\ [14:57] <dmharvey> ' is not a directory: No such file or directory [14:57] <dmharvey> cp: target `/home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp/mpn/x86_64/\ [14:57] <dmharvey> ' is not a directory: No such file or directory [14:57] <dmharvey> Copying new gmp-mparam.h... [14:57] <dmharvey> cp: target `/home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp/mpn/x86_64/\ [14:57] <wstein> hi -- we're back. [14:57] <dmharvey> ' is not a directory: No such file or directory [14:57] <dmharvey> Done. [14:57] <dmharvey> You can now go to /home/dmharvey/sage-2.8.3.6/spkg/build/gmp-4.2.1.p9/gmp and c\ [14:57] <mabshoff> Nope, cannot reproduce it (the doctest failure) [14:57] <dmharvey> onfigure/make/make_check as usual. [14:57] <dmharvey> oops [14:57] <dmharvey> well, what I was trying to say was: [14:57] <dmharvey> I don't think the AMD64 patch is being applied properly [14:57] <dmharvey> in 2.8.3.6 [14:57] <mabshoff> Does it work mannually? [14:58] <mabshoff> maybe the "-pX" level is wrong. i.e. X=2 [14:57] <mabshoff> Does it work mannually? [14:58] <mabshoff> maybe the "-pX" level is wrong. i.e. X=2 [15:00] <malb> #566 -- fixed, see trac [15:00] <dmharvey> yeah, and magma is now faster than sage at basic arithmetic, where it should just be using GMP [15:01] <dmharvey> so why should AMD64 patches have become broken? [15:01] <jbmohler_> mabshoff: Did you notice Kiran's latest post on sage-devel where he says that passing the environment straight through fixes his LONG_BIT? [15:01] <dmharvey> does anyone have a pre-2.8 build available on sage.math? [15:02] <mabshoff> yep, that is very odd. [15:02] <mabshoff> dmharvey: you might have to patch with a different directory depth. [15:02] <mabshoff> Do you have the spkg around somewhere? [15:03] <mabshoff> Have you checked in /home/was? [15:03] --> pdehaye has joined this channel ([email protected]). [15:03] <-- pdehaye has left this server (Client Quit). [15:03] <mabshoff> malb: I found another issue with valgrind: sage -t -valgrind doesn't work properly yet. [15:03] <mabshoff> Will fix that next. [15:03] <mabshoff> it spews the log files all over the place. [15:05] <dmharvey> mabshoff: yeah I think I see what's going wrong. I just don't understand why something like that broke and why no-one noticed. That's really annoying. Who knows how long it's been like that. [15:05] --> pdehaye has joined this channel ([email protected]). [15:06] <mabshoff> Well, external patches have a tendancy to break, and the gmp project is reluctant to merge stuff like the better AMD64 assembly. [15:06] <mabshoff> gmp 4.1.4 just sucked on Opterons. [15:06] <-- pdehaye has left this server (Client Quit). [15:07] <wstein> dmharvey -- locate sage-2.7 finds many [15:07] <dmharvey> well what must have happened is that someone rearranged the gmp spkg and didn't bother reading the warning messages that bash was spitting out [15:07] <mabshoff> malb: your patch also fixes #519, I believe. [15:07] <wstein> what's up with gmp? [15:07] <wstein> warning -- the gmp spkg pre 2.8 is bad bad bad. [15:07] <dmharvey> it's not applying the AMD64 patches [15:07] <wstein> ah [15:08] <dmharvey> probably not the core 2 duo either [15:08] <mabshoff> wstein: a little time for that Solaris patch again? [15:08] <wstein> this wouldn't have mattered pre 2.8, since they were pre-applied to the src/ directory. [15:08] <wstein> mabshoff - sure, what's the latest? [15:08] <mabshoff> This is the original, with one file merged that shouldn't [15:08] <mabshoff> same url [15:08] <mabshoff> http://fsmath.mathematik.uni-dortmund.de/~mabshoff/patches/Sage-2.8.3-roundf+isinf_workaround_on_Solaris.patch [15:09] <mabshoff> I am working on more fixes for -valgrinf [15:09] <mabshoff> d [15:09] <mabshoff> the doc-test case needs the same fixes as the sage-sage case. [15:09] <dmharvey> wstein: right, for sage 2.7 we have: [15:10] <dmharvey> sage: a = ZZ.random_element(2^100000) [15:10] <dmharvey> sage: b = ZZ.random_element(2^100000) [15:10] <dmharvey> sage: timeit c = a * b [15:10] <dmharvey> 1000 loops, best of 3: 872 µs per loop [15:10] <dmharvey> for sage 2.8.3.6 we have: [15:10] <dmharvey> 1000 loops, best of 3: 1.18 ms per loop [15:10] <wstein> dmharvey -- ok. [15:10] <wstein> we can fix that. [15:10] <dmharvey> they were pre-applied?? [15:10] <wstein> yes. [15:11] <dmharvey> even on the wrong system? [15:11] <wstein> this caused some major problems. [15:11] <wstein> YES. [15:11] <dmharvey> since both of them touched x86_64? [15:11] <wstein> It meant, e.g., that binaries built on one system would not work on others. [15:11] <wstein> In some cases. [15:11] <wstein> So now I test that src is exactly identical to the vanilla gmp distro. [15:12] <dmharvey> so what's the right way to fix this? [15:12] <malb> mabshoff: it probably also fixes this one [15:13] <wstein> dmharvey -- which trac ticket is this? [15:13] <jbmohler_> mabshoff: Did you get your scons compiler selection issue resolved in a nice way? [15:13] <dmharvey> doesn't have one yet, should I make one? [15:13] <dmharvey> i only just noticed it while working on #424 [15:13] <wstein> i'll make one now. [15:13] <dmharvey> ok [15:14] <dmharvey> if you have time to do that now, I can do the stupid monsky-washnitzer one, and come back for #424 when you're done with that [15:14] <wstein> it's now http://trac.sagemath.org/sage_trac/ticket/605 [15:15] <mabshoff> malb: you mean #519 - it believe so because the rand_state_init() was moved. [15:15] <malb> yes, but it's not free'd on clear yet [15:15] <mabshoff> jbmohler_: haven't gotten around to it. Want to get the Solaris patches merged first before I start building again. [15:15] <malb> but only leaks one instance now [15:15] <mabshoff> malb: exactly. [15:16] <mabshoff> instead of about 40! [15:16] --> pdehaye has joined this channel ([email protected]). [15:16] <mabshoff> Once your patch is in for the gmp issues I will rerun some tests just to see how much of the noise has disappeared. [15:17] <malb> also you might consider a python suppression file [15:17] <malb> I've added one at it's much easier on the eyes [15:17] <burcin> malb: where can I get your gmp patch? [15:18] <wstein> I want to finish up #396 since I was halfway through it. [15:18] <wstein> mabshoff -- your patch is applied and pushed. [15:18] <mabshoff> Yeah about that supression, I have also thought about using --pydebug. [15:18] <mabshoff> Cool, did you revert the one "Blah" bit? [15:18] <malb> its not a gmp patch, its for c_lib and gmp.pxi, but you can get it at http://www.sagemath.org:9002/sage_trac/ticket/566 [15:18] <wstein> dmharvey -- i should be able to do #396 in about 15 minutes. Then I'll work on gmp with you. [15:19] <dmharvey> wstein: ok [15:19] <burcin> malb: thanks.. I got that.. the linear algebra leaks seem to point to __gmpz_realloc [15:19] <burcin> malb: so I want to run a test with your patch too [15:19] <-- pdehaye has left this server (Client Quit). [15:19] <mabshoff> malb: There is some old docs at the python site that show how to use pydebug macros to look at reference counts and so on. [15:19] <mabshoff> I think we should add those as a debug option to the Cython generated code, but this is a long term issue. [15:20] <malb> burcin: the __gmpz_realloc thing should be unrelated [15:20] <mabshoff> doesn't sage "hook" gmp_alloc? [15:20] <malb> somehow module level ZZs are not deallocated properly sometimes I guess [15:20] <malb> yeah, but we seldomly realloc by hand only in the integer_pool [15:20] <mabshoff> Then I assume we would also have to hook realloc. [15:21] <mabshoff> ok. [15:21] <mabshoff> where is the integer_pool? (codewise) [15:21] <boothby> patch up for #602 [15:21] <malb> integer.pyx [15:21] <mabshoff> ok, thanks [15:21] <mabshoff> wstein needs to patch faster ;) [15:21] <wstein> :-) [15:22] <mabshoff> And he doesn't scale past one core *ducks* [15:23] <wstein> hey, how many people are subscribed to sage-devel :-) [15:23] <mabshoff> About 197, but 40 are banned spammers. [15:24] <burcin> malb: do you have time to look at modules/vector_rational_sparse_c.pxi [15:25] <burcin> I can't understand what's happening with add_mpq_vector_init [15:25] <malb> ytes [15:25] <malb> which ticket is that [15:25] <sage> burcin -- if you can't figure it out, I might be able to, since I wrote that... [15:25] <sage> at least you can blame me. [15:25] <malb> by the way: burcin nice to meet you in real time [15:26] <burcin> we free only the entries of z at the end of the function [15:26] <burcin> malb: yes.. how's london? [15:27] <malb> good, well, 1:30h to and from uni sucks big time but besides that, it's great [15:27] <dmharvey> wstein: I think I can manage both #424 and #605 myself [15:28] <sage> cool -- #396 is more involved than I expected. [15:28] <dmharvey> but i'll need a linux core 2 duo to try it out on [15:28] <sage> dmharvey -- would a xeon mac running linux work? [15:28] <malb> so what exactly is the problem ith ad_mpq_vector_init? [15:28] <dmharvey> ummmm I don't know, I can see [15:28] <dmharvey> you mean bsd? [15:29] <dmharvey> wait a second, that's not linux [15:29] <burcin> malb: we do mpq_vector_init(z), but no mpq_vector_clear [15:29] <dmharvey> all I mean is, we don't have any 64-bit support on mac OS's as far as I know [15:30] <malb> and you wonder where that should happen? [15:30] <sage> dmharvey -- i have about 10 vmware linux's running on bsd under vmware. [15:30] <burcin> but I don't get why we're clearing the entries anyway.. isn't z the sum? [15:30] <mabshoff> burcin: That is partially by design, but there is one ticket which I thought it needed a clear at the end. [15:30] <mabshoff> Which ticket are you looking at? [15:31] <malb> okay, will read source now [15:31] <dmharvey> wstein: how do I log into one of those? [15:31] <burcin> mabshoff: I saw #564.. I also don't have a test case.. [15:32] <mabshoff> one second .. checking [15:33] <mabshoff> "for n in range(10,100): a=ModularSymbols(n,sign=1).decomposition(); print n, get_memory_usage()" [15:33] <dmharvey> #424: I just got the fast gcd code running in SAGE on my laptop :-) [15:33] <mabshoff> it is right at the top of the ticket. [15:33] <mabshoff> It had two out of three leaks closed. [15:33] <craigcitro> >dmharvey: do you have sage on your laptop? did you get a new laptop? [15:33] <mabshoff> And #533 seemed to trigger the other issue. [15:33] <craigcitro> i thought you were still working remotely ... [15:34] <dmharvey> craig: yes! about two weeks old I think [15:34] <malb> burcin: did you test the code actually works? [15:34] <mabshoff> Those leaks all hit similar code paths, so it might be a good idea to rerun the tests and see which ones are left/the bif ones. [15:34] <mabshoff> bif->big [15:35] <burcin> mabshoff: i'm still tracking that one.. echelonize is leaking.. [15:35] <mabshoff> burcin: For the test case under valrgind reduce the range() thingy. [15:35] <mabshoff> cool. [15:35] <burcin> mabshoff: will try to narrow it down further [15:36] --> bobmoretti has joined this channel ([email protected]). [15:36] <bobmoretti> hello bug squashers [15:36] <malb> hi [15:37] <mabshoff> Yeah, try to create a specific test case for say echelonize [15:38] <wstein> hi bobmoretti. [15:38] <mabshoff> Hello [15:38] <malb> burcin: "but I don't get why we're clearing the entries anyway.. isn't z the sum?" we are only clearing the entries > k [15:38] <wstein> bobmoretti -- when using screen, how do you go to the beginning of the line in bash without going nuts? [15:38] <mabshoff> CTRL-A + escape [15:39] <wstein> that switches to scroll mode. [15:39] <wstein> I just want to do what "ctrl-a" does when not using screen. [15:39] <mabshoff> okay, I misunderstood. [15:39] <bobmoretti> CTRL-A A [15:39] <bobmoretti> I think [15:39] <mabshoff> lol [15:39] <wstein> bobmoretti ctrl-a a goes to the previous screen window. [15:39] <malb> burcin: we definitely don't want to clear that vector at the end of the function call it is our result [15:39] <bobmoretti> yeah, it's \C-a a [15:39] <bobmoretti> not \C-a \C-a [15:40] <burcin> malb: ok.. I got it now.. thanks.. [15:40] <wstein> ah! thanks! [15:40] <bobmoretti> no problem. Are seattle people meeting somewhere physically? [15:40] <dropdrive> wstein: You can also use C-something-else for the escape in screen. Handy if you use C-a a lot. [15:41] <wstein> dropdrive -- i couldn't figure out how to change that to something I liked. [15:41] <wstein> The man page explains how to change it, but the "something-else" uses a very strange [15:41] <wstein> notation, which isn't explained at all. So I had no clue how to actually do it. [15:41] <dropdrive> wstein: I personally use C-\ which I like a lot. [15:41] <wstein> how do you change to that? [15:42] <dropdrive> wstein: Put "escape ^\\\" in ~/.screenrc [15:42] <dropdrive> wstein: It's a bit disconcerting if you use keyboards with "\" in different positions though :) [15:43] <bobmoretti> wstein: are you folks in your office or the SAGE lab or somewhere else? [15:43] <wstein> bobmoretti -- we're at my house. [15:43] <wstein> feel free to come by [15:43] <bobmoretti> doh! I just biked back from capitol hill [15:44] <wstein> doh! [15:44] <mabshoff> In a Nelson voice: ha ha [15:44] <bobmoretti> how late will you guys be going at this tonight? [15:44] <sage> don't know.... probably 8pm ? [15:45] <bobmoretti> well, it's probably not worth it for me to come by then [15:45] <mabshoff> wstein: "sage -valgring -t blah" works but not "sage -t -valgring blah" doesn't [15:45] <bobmoretti> I can just work over IRC [15:45] <wstein> ok. [15:45] <mabshoff> Would you consider that a problem? [15:45] <wstein> mabshoff: sage-sage would do well to be rewritten to parse args better... [15:46] <mabshoff> Oh well, somebody elses problem then I guess ;) [15:46] <mabshoff> I also found out that "--help" was broken for ./sage - fix is coming. [15:48] <dmharvey> arrggggh. I just did a totally clean build of sage-2.8.3.6, and it's having that same import error from before, with libcsage or whatever it was. [15:48] <wstein> you have this in your default path: [15:48] <wstein> declare -x LD_LIBRARY_PATH="/home/dmharvey/gmp/install/lib/" [15:48] <wstein> This could cause trouble... [15:49] <dmharvey> ah [15:49] <jbmohler_> sage-sage rewritten to parse args .... that would make me utterly ecstatic! [15:49] <sage> jbmohler -- we could rewrite it in python... [15:49] <sage> that would be much nicer. [15:49] <malb> I am looking into #532 (memleak I caused) [15:49] <dmharvey> wstein: oh and that explains some totally weird stuff I noticed a few weeks ago too..... [15:50] <jbmohler_> yes, I think it will be necessary to write it in python to handle the gnu long-options correctly (optparse is a wonderful module and would make it quite easy to write) [15:51] <mhansen> wstein: #230/#236 can be closed. I can add an enhancement ticket to allow for the loading of spyx/pyx files. [15:51] <dmharvey> oh does that mean I have to rebuild AGAIN???? [15:51] <mhansen> wstein: #387 can be closed [15:52] <mhansen> wstein: I attached patches for #334 and #553 [15:53] <wstein> mhansent -- I'm working on #396 [15:53] <mhansen> wstein: I have a patch for #396 which throws an error when multiplying two vectors. Instead, I moved all that functionality to .pairwise_product(). [15:53] <wstein> mhansen -- ok, make it an enhancement. [15:54] <wstein> dmharvey -- just rebuild your libcsage. [15:54] <mhansen> wstein: sage -testall passes with my patch for #396. [15:54] <wstein> maybe ntl too [15:54] <wstein> mhansen -- * should be defined. [15:55] <wstein> Also, there are 6 places where vector * vector is implemented. [15:55] <mhansen> wstein: I changed all of those. [15:55] <wstein> These need to all be changed to componentwise_product. [15:55] <wstein> to what? [15:55] <mhansen> _pairwise_product_c_impl [15:55] <wstein> there is nothing attached to ticket #396. [15:56] <wstein> did you implement dot products though, and leave _vector_times_vector_c_impl as dot product? [15:56] <wstein> _vector_times_vector_c_impl should return the dot product [15:57] <wstein> #396 -- i think we just replicated work in different directions for #396. [15:57] <mhansen> didn't implement the dot products [15:58] <wstein> can you send me your patch for #396. [15:58] <wstein> I'll take your _pairwise_product_c_impl code. [15:58] <wstein> But I'll keep the _vector_time_vector_c_impl dot product code I've written. [15:58] <wstein> That will work well together. [15:59] <mabshoff> wstein: I send you additional support for valgrind with sage-doctest [16:00] <mhansen> wstein: I attached it to #396. I changed all the doctests to show my error when doing v*v, but there are relatively few of them. [16:01] <wstein> ok, i'll merge it in. [16:03] <mabshoff> #396, my patch or both? [16:04] <dmharvey> wstein: I'm going out for some dinner. I'll be back in < 2 hours probably, I'm planning to finish off #424, #605, and probably #518 tonight. I think I've got #424 and #605 covered, I've just got to wait for some things to finish building. [16:04] <wstein> cu [16:04] <mabshoff> cu [16:09] <malb> mhh, are module level variables (e.g. "RR = RealField()") free'd at the end or does Python just not bother? [16:09] <mabshoff> Might be a reference count issue, we haven't really gotten that deep into the code. [16:10] <malb> I see [16:10] <mabshoff> Or is that are of the code just missing deallocation routines? [16:10] <malb> nope [16:10] <mabshoff> Well, reference counts in python is an advanced topic. At least for me. [16:11] <malb> Pyrex doesn't seem to clean them up [16:11] <malb> robertwb are you around -- oh Cython guru [16:11] <robertwb> hi [16:11] <mabshoff> come speak with is mortals. [16:12] <robertwb> so, let me get up to speed [16:12] <malb> module level PyObjects in Cython [16:12] <robertwb> yes [16:12] <mabshoff> Some of us might buy you some real beer in England, st SD6 [16:12] <mabshoff> at [16:12] <malb> i.e. real_mpfr.pyx [16:12] <malb> RR = RealField() [16:12] <robertwb> uh huh [16:13] <malb> any hook to clean it up again? [16:13] <robertwb> oh, this is probably related to that dict issue that we were seeing before [16:13] <robertwb> RR lives in the dict that was never garbage collected [16:13] <malb> Pyx_InternTabEntry? [16:14] <malb> that's an array [16:14] <malb> I am looking at the C code [16:14] <malb> there are three occurences of "RR" [16:14] <robertwb> The dict that belongs to the module [16:14] <malb> cannot find where it is added to it [16:15] <robertwb> It's being created in Py_InitModule4 [16:16] <robertwb> see line 14700 or real_mpfr.c [16:17] <malb> so basically, if we manage to garbage collect that dictionary we get rid of most of the noise valgrind produces right now for a clean start-up and close? [16:17] <robertwb> a lot of it [16:17] <robertwb> if there are cdef module level objects, those would probably still be hanging around [16:17] <malb> sure [16:17] <robertwb> but those are rare [16:18] <malb> can you estimate how difficult this would be: the garbage collecting? [16:20] <robertwb> I have no idea... [16:20] <mabshoff> It might be very interesting to try this on a small stand alone cython module as robert suggested. [16:20] <robertwb> can you instruct me on how to run valgrind? [16:20] <mabshoff> plus --pydebug & reference count macros. [16:20] <robertwb> yeah [16:20] <mabshoff> ./sage -valgrind [16:20] <malb> first, you'll need valgrind [16:20] <mabshoff> spkg -i ... [16:20] <malb> mabshoff has an optional SAGE package [16:20] <robertwb> ah [16:21] <mabshoff> Yeah, but somebody needs to upload it to the official repo. [16:21] <mabshoff> You can get it from [16:21] <malb> if you quit sage right away you'll get the import memleaks only [16:21] <malb> they are written to $SAGE_LOCAL/bin right now as sage.$PID [16:21] <mabshoff> http://fsmath.mathematik.uni-dortmund.de/~mabshoff/sage/valgrind-3.3.0svn-r1787.spkg [16:21] <mhansen> Is the documentation in a separate repository? [16:22] <robertwb> on exit, we could always decref the dict until its count is 0, but bad things might happen if you ever need to use it again [16:22] <malb> mhansen: yes [16:22] <dmharvey> how do I rebuild libcsage? [16:22] <mabshoff> if you upgrade they do get written to $HOME/.sage [16:22] <mabshoff> wstein merged that patch already. [16:22] <craigcitro> dmharvey: scons install in c_lib [16:22] <mabshoff> including massif and cachegrind support. [16:23] <craigcitro> or, first, rm -f c_lib/libcsage.* [16:23] <craigcitro> then scons install [16:23] <dmharvey> scons is installed in the sage tree somewhere? [16:23] <craigcitro> oh, yeah, sorry [16:23] <craigcitro> source $SAGE_ROOT/local/bin first [16:23] <craigcitro> er [16:23] <craigcitro> $SAGE_ROOT/local/bin/sage-env [16:23] <mabshoff> the above valgrind spkg needs automake-1.9 installed, haven't corrected that I believe. [16:24] <craigcitro> it's just sage_root/local/bin/scons i believe [16:24] <mabshoff> (the external dependency. [16:24] <mabshoff> ) [16:24] <craigcitro> how was dinner? [16:24] <dmharvey> this is driving me so crazy. I've spent like 6 hours on this gcd thing, just because I'm a unix idiot [16:24] <dmharvey> haven't had dinner yet [16:24] <dmharvey> still fighting unix [16:24] <craigcitro> grin [16:24] <craigcitro> unix is mighty [16:25] <mabshoff> it gives you enough rope to hang yourself [16:25] <robertwb> sage: An error occurred while installing valgrind-3.3.0svn-r1787 [16:25] <mabshoff> That is its strength and weakness at once. [16:25] <robertwb> configure: error: cannot find install-sh or install.sh in . ./.. ./../.. [16:25] <robertwb> error configuring valgrind 3.3.0svn [16:25] <mabshoff> Yep, that is the automake problem. [16:26] <mabshoff> You can rerun autogen.sh in src [16:26] <malb> mabshoff how to I produce pictures with massif? [16:26] <sage-log> c [16:31] [Nick] Nickname already in use. Trying wstein. [16:31] [error] Closing Link: 127.0.0.1 (Connection Timed Out) [16:31] --> You have joined the channel #sage-devel ([email protected]). [16:31] [Error] sage-dev: No such channel. [16:31] <mabshoff> There goes UW [16:31] <craigcitro> is sage-log our new logging bot? [16:31] *** Channel modes: secret, no messages from outside [16:31] *** This channel was created on 08/17/2007 01:03:33 PM. [16:32] <mabshoff> Nope, just another irssi session. [16:32] <craigcitro> ah, ok [16:32] <burcin> well.. you got dropped.. not us :) [16:32] <mabshoff> trac has a pretty cool irc log extesion. [16:32] <mabshoff> 8) [16:32] <mabshoff> your 4 vs, us 8, I guess not. [16:33] <mabshoff> anyway: [16:33] <mabshoff> malb: the ps output still ends up in local/bin, that seems to be a bug in valgrind. [16:33] <mabshoff> in case you didn't get it. [16:33] <mabshoff> I will report that bug. [16:33] <mabshoff> The same happens with cachegrind. [16:35] <malb> which filename? [16:35] <malb> got it [16:35] <mabshoff> massif$PID.ps [16:35] <malb> sorry for the noise [16:35] <mabshoff> np [16:36] <mabshoff> malb: you migth want to increase "--depth=<number> [default: 3]" [16:36] <mabshoff> I set it to 6 in sage for now. [16:37] <malb> the number of heaps watched? [16:37] <malb> this ps stuff is really cool [16:37] <mabshoff> depth of the call chain. [16:37] <mabshoff> The deeper the more detail, but the slower it gets. [16:38] [CTCP] Received Version request from freenode-connect. [16:38] <mabshoff> The svn build I package is substancially faster for code with lots of allocs. [16:38] <mabshoff> And for our gmp on Core Duo we need some SS2/3 fixes that are not in 3.2.3 [16:39] <malb> that's why I use your package instead of the debian one [16:39] <mabshoff> :) [16:40] --> bobmoretti has joined this channel ([email protected]). [16:40] <malb> robertwb are you looking into that module dict deallocation thing? [16:40] <robertwb> upgrading my copy of SAGE on sage.math (which I presume has valgrind installed) [16:41] <malb> cool, so I stop working on memleaks involving module loading for now [16:41] <robertwb> ok [16:41] <mabshoff> Add /usr/local/valgrind-3.3.0svn-r6793/bin/ to $PATH on sage.math [16:41] <mabshoff> w00000t [16:41] <mabshoff> Nice. [16:44] <mabshoff> hehe, we can also add callgrind support to sage for profiling. [16:44] <malb> definitely! [16:44] <malb> I used it before, its quite valueable [16:45] <malb> I used it before *with* SAGE [16:45] <mabshoff> Sage, more debugging/profiling tools than any other CAS. [16:45] <mabshoff> Good. [16:45] <mabshoff> I put it on my list. [16:45] <mabshoff> Once my last patch is merged. [16:45] <malb> that's the beauty of not reinventing-the-wheel [16:46] <mabshoff> Oh, I can't even express how much I agree with that point. [16:47] <sage> :-) [16:47] <mabshoff> wb [16:48] <malb> strange, just debugging a function I've -- apparently -- written (solve_iml) [16:48] <mabshoff> :) [16:48] <malb> forgot about it, that was in a coffee shop in Seattle [16:48] <mhansen> sage: I attached a patch for #544. [16:48] <sage> thanks. [16:48] <sage> i'm *still* working on #396. [16:48] <sage> that was a very painful merge. [16:49] <sage> almost there. [16:49] <sage> then I can apply everything else. [16:49] <mabshoff> Good [16:49] <mhansen> Cool. [16:51] <robertwb> where is the valgrind output? [16:51] <mabshoff> What did you run? [16:51] <robertwb> sage -valgrind [16:51] <mabshoff> If you upgrade it is in $HOME/.sage [16:51] <mabshoff> otherweis in $SAGE_LOCAL/bin [16:51] <robertwb> what's it called? [16:52] <mabshoff> sage.$PID[.$THREAD] [16:52] <mabshoff> ls -altr [16:52] <mabshoff> then it is at the end of the listing [16:53] <mabshoff> There are usually at least three logs from one run. [16:53] <mabshoff> The big one is Sage's python process itself [16:53] <mabshoff> Skip over the first 3rd or so, that is from pymalloc being active. [16:54] <mabshoff> There are some small issues in there, but those are not related to the dictionary issue. [16:54] <mabshoff> search for ini$NAME_OF_CYTHON_CLASS and you should find the dictionary leak. [16:54] <mabshoff> init$NAME_OF_CYTHON, sorry [16:57] <-- bobmoretti has left this server (Read error: 110 (Connection timed out)). [16:58] <mabshoff> robertwb: One more fun fact: before the first valgrind cleanup patches the start up & quit default valgrind log was about 5.5MB, now it is less than 2.5MB [16:59] <robertwb> wow [16:59] <mabshoff> I can show you some before and after output for LinBox some time. [16:59] <mabshoff> Pretty scary. [16:59] <mabshoff> There is still one example in LinBox that leaks 8MB in about 3 seconds. [17:01] <sage> hi -- i finished and pushed out #396 [17:01] <mhansen> Nice work! [17:01] <sage> now I'm applying patches. [17:01] <boothby> does anybody use power_series_mpoly? the file says that it should be deleted. [17:02] <sage> mhansen -- you may want to revert your then pull. [17:02] <sage> I copied a lot of your work in manually. [17:02] <sage> leave it. [17:03] <sage> don't delete. [17:03] <mhansen> I have it in a separate branch. [17:03] <sage> good. [17:03] <sage> #602 -- i'm applying this. [17:05] <burcin> I still can't find where echelonize leaks, can anybody help? [17:06] <mabshoff> We should wait for malb's patch to be applied and have another look. [17:06] <malb> which echelonize? [17:06] <mabshoff> Do you have a simple exmaple that does just echelonize? [17:06] <mabshoff> Sparse or dense? [17:06] <malb> I am looking into solve_iml right now, and actually it doesn't leak [17:07] <burcin> matrix2.pyx echelonize.. [17:07] <mabshoff> isn't that the "abstract" class= [17:07] <mabshoff> ? [17:07] <malb> over which field are you working? [17:07] <malb> but abstract in a sense that it is implemented but slow [17:07] <mabshoff> ok [17:08] <burcin> over integers, or mod p.. doesn't seem to make a difference [17:08] <mabshoff> Has anybody ever tested the IML itself? [17:08] <malb> they all have their own implementations [17:08] <burcin> matricies are sparse in my case.. [17:08] <malb> ah, okay [17:08] <malb> they don't have their own implementations [17:08] <malb> I'll have a look [17:09] <malb> the solve_iml stuff DOES NOT leak [17:09] <mabshoff> Did you tests? [17:09] <malb> yes [17:09] <mabshoff> ok [17:09] <burcin> yes.. it uses _echelon_in_place_classical in matrix2.pyx [17:09] <malb> its just that the result has a reference from the prompt which doesn't get cleared for some reason [17:10] <mabshoff> Okay, but even if you create a bunch of object in python they get destroyed at exit if the reference count is zero. [17:10] <malb> if C is the result from _solve_iml then [17:11] <malb> if you "del C" right away ==> No leak [17:11] <mabshoff> So there might be (another) reference count issue around there somewhere. [17:11] <mabshoff> But C gets passed into python? [17:11] <malb> if tou print C, and del afterwards ==> leak [17:11] <malb> sure, C prompt [17:11] <malb> I'll write it down in the ticket [17:11] <mabshoff> How is C printed? Python? [17:11] <mabshoff> Cython? [17:13] <malb> Cython [17:13] <malb> I'll look at it [17:13] <-- jbmohler_ has left this server ("using sirc version 2.211+KSIRC/1.3.12"). [17:15] <malb> if I do c = str(C); del c, del C it also doesn't leak [17:15] <mabshoff> mmh, robertwb - any input on this? [17:16] <robertwb> so, you have something that doesn't leak if you delete it right away, but does if you leave it laying around? [17:17] <malb> if I print it [17:17] <malb> i.e. sage: C [17:17] <malb> ipython maybe? [17:17] <robertwb> oh, if you print it [17:17] <robertwb> yeah, I've run into this too, I think [17:18] <robertwb> I think it affects the notebook too though [17:18] <malb> burcin: GF(p) has its own sparse implementation [17:18] <malb> robertwb: okay so the problem seems to be deeper [17:18] <mhansen> sage: #606 replaces #236 [17:19] <malb> I think we'll need to assign someone to reading Python source :-) [17:19] <burcin> malb: it's Zmod(p) [17:19] <robertwb> FYI, a very simple cython module, loaded with "load simple_c.spyx" does not seem to leak [17:19] <wstein> mhansen -- closed #236 [17:19] <mabshoff> python startup+quit leaks about 500kb. [17:20] <mabshoff> So there are definitely issues there, too. [17:20] <malb> burcin: but that's GF(p)? [17:20] <mabshoff> Also the parser: some doctests just segfault when python is compiled without pymalloc. [17:22] <burcin> malb: ok.. Zmod(n) then.. the library doesn't detect that p is prime, and use a GF(p) instead [17:22] <malb> I see [17:22] <malb> so you are working over rings instead of fields and then it leaks [17:23] <burcin> yes.. I think it is just the function _echelon_in_place_classical, nothing special about the domain [17:26] <malb> so if we are working with say ZZ we are actually working over QQ [17:26] <-- robertwb has left this server (Read error: 104 (Connection reset by peer)). [17:26] --> robertwb has joined this channel ([email protected]). [17:28] <malb> burcin: ZZ --> QQ (special implementation), GF(p) --> special implementation, Z/modN --> Exception [17:29] <malb> what are you using as base ring/field? [17:29] <burcin> I use _mod_int to get the matrix.. I didn't tried generating one directly [17:29] <mabshoff> wstein: around? [17:30] <mabshoff> I have a fixed lie.spkg which now links against ncurses except for Solaris. [17:30] <mabshoff> See http://fsmath.mathematik.uni-dortmund.de/~mabshoff/sage/lie-2.2.2.p3.spkg [17:30] <mhansen> wstein: patch added for #606 [17:31] <mabshoff> The Lie problem is #595. [17:31] <malb> you are actually working with mod_n_sparse (which only works for mod_p sparse) [17:31] <malb> matrix2.spyx is not involved as far as I can see [17:31] <malb> and there is a leak in matrix_modn_sparse.pyx [17:34] <burcin> the implementation of the echelonize is in matrix2.pyx.. but that doesn't matter... [17:35] <-- boothby has left this server (Read error: 104 (Connection reset by peer)). [17:35] <burcin> so what do you mean by a leak in matrix_modn_sparse.pyx? [17:36] <malb> Let's agree on an example first: [17:36] <malb> sage: A = random_matrix(ZZ,10,10) [17:36] <malb> sage: B = A._mod_int(7) [17:37] <malb> now B is of type: Matrix_modn_sparse [17:37] --> soroosh has joined this channel ([email protected]). [17:37] <mabshoff> welcome back [17:37] <soroosh> thanks [17:37] <malb> A.echelonize is in matrix2.spyx you are right [17:37] <malb> it calls A._echelon_in_place_classical in matrix_modn_sparse.pyx [17:38] <malb> and there seems to be at least one leak (according to valgrind) [17:38] <burcin> yes.. we're on the same example.. [17:39] <malb> so we should look at echelon_in_place_classical in matrix_modn_sparse [17:39] <burcin> ModularSymbols(n,sign=1) calls this, so I'm hoping this will get rid of some of the leaks there [17:40] <malb> also at modules/vector_modn_sparse_c.pxi [17:41] <burcin> ?? but verbose doesn't produce the output I see in that function.. [17:41] <burcin> hmm.. just a sec [17:42] <soroosh> wstein: you told me you made a binary for Mandrake. Where is it again? [17:43] <burcin> ok.. you're right.. [17:47] <malb> the leak should be related to add_c_vector_modint_init ? [17:47] <wstein> on sagemath.org in the linux 32-bit binaries. [17:48] <mabshoff> wstein: I will be working on a new M2 spkg next, this might take a while. [17:48] <burcin> I can only reproduce it without the _mod_int now.. I don't know where I messed up my example code [17:48] <sage> does sage have any bugs left? [17:48] <mabshoff> Well, I am sure. [17:49] <mabshoff> Do you really mean sage by the way? [17:49] <burcin> sage: I get a memory leak besides an exception.. it's very useful [17:49] <sage> yes. :-) [17:49] <malb> reproduce the leak you were working on in somethign != GF(p)? [17:49] <sage> I'm trying to figure out what to do next.. [17:49] <burcin> malb: not it leaks if I echelonize over the integer ring [17:50] <mabshoff> close #595, apply the patch for #606 [17:50] <sage> jbmohler found a nice bug -- trac #608 -- core dump. [17:50] <sage> I'm going to work on that now. [17:50] <mabshoff> or is there even more outstanding/with patch/ready to go in. [17:50] <sage> oh, I'll look at 595 and 606 first. [17:50] <soroosh> There is a bit of problem with rings/morphisms on my build. [17:50] <mabshoff> I see if valgrind says anything about #608, or gdb [17:50] --> dmharvey_ has joined this channel ([email protected]). [17:51] <soroosh> I'm checking to see if it exists in the build you have on sagemath as well. [17:51] <dmharvey_> back [17:51] <mabshoff> #wb [17:52] <sage> #595 -- posted and closed. [17:52] <sage> it would be good if he could test it though... [17:52] <mabshoff> it goes boom in libpari (#608) [17:52] <sage> on sagemath.org when I try to install lie I get: [17:52] <sage> /usr/bin/ld: cannot find -lncurses [17:52] <sage> collect2: ld returned 1 exit status [17:52] <sage> make[1]: *** [Lie.exe] Error 1 [17:52] <sage> so I will reopen #595. [17:53] <mabshoff> it is still open. [17:53] <mabshoff> I can do something a little bit more sophisticated then. [17:53] <mabshoff> i.e. test to link against each lib, but pick ncurses over curses. [17:53] <sage> is it supposed to build without curses? [17:53] <sage> is curses a dependency? [17:53] <mabshoff> Damn Debian people. [17:54] <sage> I don't have that installed on sagemath.org. [17:54] <mabshoff> Yep, cannot be build without [n]curses [17:54] <mabshoff> readline depends on it. [17:54] <mabshoff> at least the current version. [17:54] <sage> i didn't have any curses installed with or without an n. [17:54] <sage> readline depends on it??? [17:54] <mabshoff> ncurses is pretty small, so we could make it a standard package. [17:55] <sage> readline doesn't. [17:55] <malb> burcin, maybe it doesn't even leak? e.g. the modn_sparse leak I was look into: If I delete "A" right away, it doesn't leak [17:55] <mabshoff> maybe you are right, but lie does need [n]curses. [17:55] <malb> the interpreter seems to hold on to global stuff [17:55] <sage> so it's a bug in the build that it requires ncurses or curses?! [17:55] <burcin> malb: let me see.. [17:55] <mabshoff> Nope, lie is just a little old. [17:56] <sage> ok. [17:56] <mabshoff> I couldn't even get it to build on neron without readline and curses. [17:56] <sage> it installed fine for me once I installed ncurses. [17:56] <mabshoff> It might be that lie has some magic defined to avoid readline & libcurses. [17:56] <mabshoff> Haven't looked at the sources in great detail. [17:57] <sage> I'll open a new ticket for moving lie to standard, which involves either removing [17:57] <burcin> malb: over the integers I still get a leak, even if I delete A right away [17:57] <sage> the curses dependency, or packaging curses for SAGE. [17:57] <malb> okay, so at least you got a real leak [17:57] <malb> that's good, I guess [17:57] <mabshoff> Couldn't we reuse the old ticket? [17:58] <sage> different though. [17:58] <sage> it's different. [17:58] <sage> getting it to build is different than moving it into standard. [17:58] <mabshoff> So we use ncurses for now, but once it becomes standard we should remove the dependency. [17:58] <sage> moving into standard presupposes removing dependencies, worrying about longterm quality and stability, etc. [17:58] <soroosh> sage: I can't run the binary version I downloaded off of sagemath.org (gives me floating point exceptions) Maybe the mandrive I'm running on is too old (2006.0)? [17:59] <mabshoff> Do we use lie via pexpect or as a library? [17:59] <sage> pexpect [17:59] <mabshoff> Okay, so that makes it likely that we need at least readline. [18:00] <mabshoff> Haha, read http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/185359 [18:00] <sage> soroosh -- your processor is probably too different, and the mandriva too old. [18:00] <sage> oh well. [18:00] <sage> You could try http://sagemath.org/SAGEbin/linux/32bit/sage-2.8.2-OLD-32bit-i686-Linux.tar.gz [18:00] <sage> bit O dpm [18:00] <sage> It'll likely run, but I'm not sure what the point will be. [18:00] <mabshoff> Well, I meant not to be gloating. Getting a litle tired, making some tea [18:00] <sage> sage includes readline. [18:00] <sage> pexpect hates readline. [18:01] <mabshoff> I hate pexpect :) [18:01] <mabshoff> I am invariant about readline, though [18:01] <sage> ok -- see trac #609 [18:01] <mabshoff> the bt for #608 looks very odd by the way. [18:02] <mabshoff> Damn, why me? But for sage-3 I have some time :) [18:02] <soroosh> oh well. Then my build has the funny feature that when I run "sage -t sage/rings/morphism.py" it fails on line 514, but running the same code in sage prompt gives the right answer. Any ideas what I should do about it? [18:03] <mabshoff> Does it actually crash or "just" fail? [18:03] <soroosh> It just fails. Returns (a-b+1) instead of (a-b) [18:04] <mabshoff> mmh, this is another odd one, just like janwil's issue. Sorry, no clue. [18:04] <sage> soroosh -- i saw that before. [18:04] <sage> Did you do an upgrade? [18:05] <sage> I saw that after an upgrade on an osx machine recently. [18:05] <sage> That same input even gives the right result on the command line. [18:05] <soroosh> I did an upgrade before joining the chat room [18:05] <sage> Too bad you didn't start a clean build. [18:05] <sage> It would be fine. [18:05] <soroosh> so, if I was starting from a clean build, this should be fine? [18:05] <sage> yes. [18:06] <-- dmharvey has left this server (Read error: 110 (Connection timed out)). [18:06] <soroosh> ok, so maybe we can just ignore it. :) [18:06] <sage> perhaps. [18:06] <malb> I'm out [18:06] <sage> Doing "sage -ba" might fixing it... [18:07] <sage> see you later malb. [18:07] <sage> thanks. [18:07] <burcin> thanks malb, now I'm lost with my leaks :) [18:07] <robertwb> malb: I added a function to get the refcount of and object [18:07] <malb> cool, any results yet? [18:08] <robertwb> no, but it might help with the issue you've been looking at above [18:08] <robertwb> the module function seems to be an exiting issue [18:08] <soroosh> ok, I'm doing that now. It is going to take a while though... [18:09] <robertwb> I'm making a ticket for the patch [18:09] <mabshoff> cu malb, [18:12] <sage> mhansen -- your patch for #606 is bogus. [18:12] <robertwb> ticket #611 [18:12] <robertwb> is the refcount patch [18:13] <mhansen> sage: What arch does it fail on? [18:13] <mabshoff> Hey wstein - wanna participate in a LinBox devel conference call? [18:13] <wstein> mabshoff -- sure. [18:14] <mabshoff> You should have gotten the LinBox-devel email, too. [18:14] <wstein> #606 --mhansen -- loading/attaching spyx files in the notebook is not so trivial as a one line patch. [18:14] <mabshoff> saunders likes the idea of switching LinBox's buildsystem to SCons :) [18:14] <mabshoff> weeeee [18:16] <dmharvey_> #424: patch attached. Also addresses #605 I hope. See comments on ticket #424. Only tested on OSX so far, I'm still trying to fix my sage.math build. [18:18] *** dmharvey_ is now known as dmharvey. [18:18] *** dmharvey is now known as dmharvey_. [18:18] *** dmharvey_ is now known as dmharvey. [18:21] <mabshoff> re 608: nothing jumps out, but there are a couple "invalid read of size 4" reports from within the coercion model. [18:21] <mabshoff> I have seen those before, but they never cause a crash as far I can tell. [18:21] <mabshoff> Does " *** not an integer argument in an arithmetic function" come from within Sage or is that pari already? [18:26] <mabshoff> strings on libpari didn't turn up anything at all, so it must be in Sage's code? [18:27] <sage> I just posted #611 -- [18:27] <mabshoff> Can anybody decode " [18:27] <mabshoff> find_module (fullname=0x7fffa6400e60 "c", subname=0xac6d140 "", path=<value optimized out>, [18:27] <mabshoff> buf=0x7fffa63ffde1 ".pyc", buflen=4097, p_fp=0x7fffa6400da0, p_loader=0xacce908) at Python/import.c:1427 [18:27] <mabshoff> " [18:27] <mabshoff> You mean you merge it? [18:27] <sage> yes. [18:28] <mabshoff> Cool, one more tool in our arsenal :) [18:28] <mabshoff> I will be off for 30 minutes, getting some air. [18:28] <mabshoff> You guys in Seattle have to leave soon? Going camping tomorrow or something? [18:29] <sage> i can fix #608 [18:29] <mabshoff> :) [18:29] <sage> i caused #608 --- the mobius function was *insanely* slow before, and I needed it to [18:29] <sage> be fast for the course I was teaching on the Riemann Hypothesis. [18:29] <sage> But I didn't correctly deal with the non-integer case. [18:29] <dmharvey> #518: new patch attached (monsky-washnitzer indentation) [18:29] <mabshoff> Well, that is different. If you broke it you usually know where to look . [18:29] <sage> I didn't realize it even made sense then. [18:30] <mabshoff> ok, cu in about 30 [18:30] *** mabshoff is now known as mabshoff|away. [18:30] <sage> cu [18:30] <dmharvey> wstein: please get #518 in soon if possible, I don't want to have to indent that file a third time :-) [18:34] <craigcitro> so apparently i don't understand something ... [18:34] <craigcitro> if i have class Foo [18:34] <craigcitro> and someone does Foo(3) [18:34] <craigcitro> that calls Foo.__call__, right? [18:34] <craigcitro> so if Foo.__call__?? shows "print 'hi'" as the first line [18:35] <craigcitro> Foo(3) should print "hi" ? [18:35] <sage> ok, #608 is fixed. [18:35] <dmharvey> craig: I would think so [18:35] <craigcitro> k [18:36] <dmharvey> no hang on [18:36] <dmharvey> craig: if X is an *instance* of a Foo [18:36] <dmharvey> Foo(3) calls __init__ [18:36] <craigcitro> ohh [18:36] <craigcitro> right, k [18:36] <craigcitro> thank you. ;) [18:37] <soroosh> well, finished with "sage -ba", but still has the same error. [18:37] <soroosh> It also got an error regarding (1/2)^(2^100) [18:38] <soroosh> For some odd reason my sage is returning 1. [18:38] <soroosh> this is true for command prompt as well. [18:38] <sage> soroosh -- that's because I just added a doctest to expose a bug. [18:38] <soroosh> right... [18:38] <sage> it has been that way for years due to an overflow. [18:38] <soroosh> thats #602. [18:38] <sage> if you did hg_sage.pull() it fixes it. [18:38] <sage> however, you might have to wait a while to rebuild if you do that... [18:39] <sage> note, of course, that (1/2)^(2^100) would not fit in your memory -- it's supposed to give an error. [18:39] <dmharvey> ok this makes no sense. I unpacked a fully built copy of sage 2.8.3 that works perfectly well. Then I upgrade using sage -upgrade. And I get all those crazy import errors now whenever I try to run it. [18:39] <sage> is there anything i need to apply anybody? [18:39] <dmharvey> i'm going to have to keep working with only sage-2.8.3 for the moment, since I can't get 2.8.3.6 working. [18:39] <dmharvey> wstein: yes, try #518 now [18:40] <sage> dmharvey. where? [18:40] <dmharvey> on the ticket [18:40] <sage> And does "all those crazy import errors" mean exactly that one error involving libcsage.so? [18:40] <dmharvey> yes [18:40] <sage> on what system? [18:40] <sage> sage.math? [18:40] <dmharvey> sage.math [18:40] <sage> your laptop? [18:40] <dmharvey> no, my laptop is fine, as is my desktop [18:40] <sage> let me check your environment. [18:41] <sage> which directory is your build in? [18:41] <dmharvey> ~/sage-2.8.3 [18:41] <sage> I'll fix it again. [18:41] <dmharvey> but why does it keep doing this? I don't understand what's going on. [18:42] <dmharvey> is there still something wrong in my environment? [18:43] <sage> Ok, fixed. [18:43] <sage> no. [18:43] <sage> I think there was when you first built. [18:43] <sage> Doing "sage -ba", etc., doesn't redo the scons stuff. [18:43] <sage> All I did was: (1) . local/bin/sage-env [18:43] <dmharvey> Here's what I just did: [18:43] <sage> (2) 515 scons -c ../../../local/lib/ 516 scons install ../../../local/lib/ [18:43] <sage> I just did a clean scons in c_lib, and all was immediately fixed. [18:43] <dmharvey> I don't understand what all that means [18:44] <sage> That isn't in sage -ba, but I'll add it right now. [18:44] <sage> OK -- (1) cd SAGE_ROOT [18:44] <sage> (2) . local/bin/sage-env # setup the sage environment [18:44] <sage> (3) cd devel/sage/ [18:44] <sage> (4) cd c_lib [18:44] <sage> (5) scons -c $SAGE_LOCAL/lib/ # delete target [18:44] <sage> (6) scons install $SAGE_LOCAL/lib/ # rebuild all c_lib stuff and install it in target. [18:45] <dmharvey> but why do I get this problem whenever I do sage -upgrade? Does anyone else get this problem? [18:45] <sage> Nobody else got that. [18:45] <dmharvey> maybe my old sage-2.8.3 build was screwed [18:45] <sage> I'm sure it has to do with your LD_LIBRARY_PATH grabbing the wrong gmp. [18:45] <sage> or something else like that. [18:45] <dmharvey> probably my LD_LIBRARY_PATH was wrong for my *old* build [18:45] <dmharvey> which I just upgraded [18:45] <dmharvey> anyway, [18:46] <sage> That said, I think "sage -ba" should be changed so it would fix your problem, hence "sage -upgrade" [18:46] <dmharvey> I'm going to ignore this now, since I'll build from scratch again in a day or two once all the patches are in [18:46] <sage> would fix your problem. I'll make that chagne right now. [18:46] <dmharvey> I just want to test the gcd thing now [18:46] <dmharvey> thanks for your help [18:46] <sage> I can't wait! [18:46] <sage> I can help as soon as I fix "sage -ba". [18:50] <dmharvey> it's building now.... seems to be okay so far..... [18:51] <burcin> what does _pari_ do exactly? [18:51] <craigcitro> returns the pari version of your object [18:52] <burcin> is there a specific implementation for matricies? dense integer matricies.. [18:52] <burcin> where is it defined? [18:52] <dmharvey> #424: BINGO. Check this out: [18:53] <dmharvey> Magma V2.13-5 Thu Sep 6 2007 18:49:13 on sage [Seed = 2094699641] [18:53] <dmharvey> > a := Random(2^10000000); b := Random(2^10000000); [18:53] <dmharvey> > time t := XGCD(a, b); [18:53] <dmharvey> Time: 16.550 [18:53] <dmharvey> sage: a = ZZ.random_element(2^10000000); b = ZZ.random_element(2^10000000); [18:53] <dmharvey> sage: time t = XGCD(a, b) [18:53] <dmharvey> CPU times: user 16.03 s, sys: 0.39 s, total: 16.42 s [18:53] <dmharvey> Wall time: 16.41 [18:53] <dmharvey> sage: t[0] == t[1]*a + t[2]*b [18:53] <dmharvey> True [18:53] <craigcitro> burcin: it's defined in each class. do M._pari_?? to see, if your obj is M [18:54] <dmharvey> wstein: how do I log into the vmware thing on bsd? [18:54] <burcin> craigcitro: I didn't know about the ?? trick.. that's very useful [18:54] <burcin> craigcitro: thanks a lot :) [18:54] <craigcitro> ? and ?? are both good [18:54] <dmharvey> wstein: actually.... maybe I'm done for tonight. I've got patches for #424, #518, and probably #605 read to go. [18:54] <craigcitro> no sweat [18:57] <dmharvey> bye guys, I'm spent [18:57] <-- dmharvey has left this channel. [19:00] <burcin> I'm also leaving.. [19:00] <burcin> At the moment, A = random_matrix(ZZ, 100, 120); leaks.. [19:00] <burcin> A._pari_() also does.. and that's why echelonize (or echelon_form) is leaking.. [19:00] <sage> burcin -- just creating it. [19:01] <sage> anyidea why? [19:01] <burcin> I have no experience about what the function pari does.. [19:02] <burcin> I got to look at the linear algebra code a lot today though.. [19:02] <burcin> do you still need a fast hermite normal form implementation? or is pari good enough? [19:02] <burcin> I was thinking of doing that as homework for a symbolic linear algebra course.. [19:03] <burcin> i.e., bug #174 [19:03] <sage> burcin -- i'm not sure. i think a certain student in canada is actually working on that. [19:04] <sage> also, i think linbox is going to get one soon. [19:04] <sage> But honestly I've been waiting a very long time for one and don't have anything yet. [19:04] <sage> if you want to try, that would be good. [19:05] <burcin> I didn't think of it so seriously.. I'll see what I can do.. [19:06] <burcin> I'm a bad student, just trying to get around solving exercises for homework.. [19:06] <burcin> anyway.. I'll try to get back to the leaks tomorrow.. [19:06] <burcin> bye for now.. [19:07] <craigcitro> see ya burcin [19:07] <mhansen> sage: I put a real patch for #606 ;) [19:12] <-- burcin has left this server ("Leaving"). [19:16] <sage> mhanse -- i'm looking at #606 now. [19:20] <sage> I just tried David's xgcd in sage on the same machine, but without his patch: [19:20] <sage> CPU times: user 954.37 s, sys: 0.08 s, total: 954.46 s [19:21] <sage> It's very very curious that magma is the same speed as GPL-only patched GMP. I wonder if [19:21] <sage> they are violating the GPL... [19:22] <craigcitro> that's some crazy good code that GMP has [19:22] <craigcitro> it would be pretty interesting if magma was violating the gpl ... [19:22] <craigcitro> so i just fixed ticket #376 [19:23] <craigcitro> it took me an inordinate amount of time to figure out *what* to fix ... i suppose this is always the case. [19:26] <mabshoff|away> Magma has allegedly written some arbitrary precision code on their own. [19:26] <mabshoff|away> And then they put out some special benchmarks claiming superiority over the gmp. [19:26] <mabshoff|away> That went over really well on the gmp mailing list as you can imagine,. [19:28] *** mabshoff|away is now known as mabshoff. [19:28] <craigcitro> sage -- you around? [19:28] <craigcitro> or soroosh -- you here? [19:29] <wstein> I'm around. [19:29] <craigcitro> hey [19:29] <craigcitro> can you try out the patch for 376 when you get a chance? i'm pretty sure it's solid. [19:29] <wstein> mabshoff -- maybe the gmp people are aiming to beat magma's timings, which would explain [19:29] <craigcitro> i even added doctests! ;) [19:29] <wstein> why they are so close. [19:30] <wstein> i'm working on mhansen's patch for loading spyx files in the notebook. [19:30] <wstein> it sort of worked but was too broad and didn't work when the file contained an error message. [19:30] <craigcitro> ah, ok [19:30] <craigcitro> well, put it in your queue of patches to check out. ;) [19:31] <sage> it'll only be a minute.. [19:31] <soroosh> Hey Craig, I'm around. [19:31] <soroosh> I can try doing it. [19:31] <soroosh> Is the patch on the trac? [19:32] <craigcitro> yep [19:32] <craigcitro> just try out some various finite field homomorphisms [19:32] <craigcitro> let me know if they fail or succeed [19:32] <craigcitro> (or, if they do correctly, that is) [19:32] <mabshoff> Okay, caught uo. [19:32] <mabshoff> up [19:32] <soroosh> ok, first let me see if I can apply the patch. [19:33] <craigcitro> grin ... if you can't, i might cry. [19:33] <craigcitro> because i think i've finally stopped making broken patches. [19:33] <mabshoff> wstein: At least some of the INRIA people release their code that is GPLed for gmp 5 at the moment also under a BSD license [19:33] <wstein> interesting. [19:33] <mabshoff> So it might be the same code in Magma, but I seriously doubt that they violate the GPL. [19:34] <mabshoff> They are pretty adament in listing the LGPLed bits they use like ATLAS and gmp. [19:35] <wstein> they build magma statically, so you can't drop in your own gmp, which is annoying. [19:36] <mabshoff> Well, I can understand that. [19:36] <sage> maple and mathematica don't do that. [19:36] <craigcitro> ooh ... i just found a bug that my fix exposed: the homomorphisms can be defined just fine, and their definition looks good ... but they don't work. [19:36] <sage> and the lgpl requires one to make available a version that doesn't do that. [19:36] <mabshoff> Back during 4.1.4 the default alloc was alloca. So you could pretty much smash the stack at will with anything that linked dynamically. [19:36] <sage> mhansen -- #606 is closed. [19:37] <mhansen> Thanks for cleaning up my stuff. [19:37] <sage> welcome. [19:37] <sage> Thanks for finally writing that -- it's absense was a problem for a long long time. [19:37] <sage> #376 -- i'm checking it out right now. [19:37] <mabshoff> They habe to make changes available to people who request it, and depending on one's interpretation that might only inlucde customers. [19:39] <wstein> They don't say they will make the modified version of GMP available anywhere. [19:39] <wstein> They only say they will make a version of magma that can link against GMP so [19:40] <wstein> This is the code specifically under discussion " This is Niels Möller's sub-quadratic GCD code, implementing both plain gcd and extended gcd. It is believed to be quite stable at this point." [19:40] <wstein> as listed on http://gmplib.org/devel/ [19:40] <mabshoff> Is the gmp an official gnu project, i.e. with copyright assignment to the FSF? [19:40] <sage> i think so.. [19:40] <mabshoff> I don't think so, but in that case I think Granlund would have done something about that by now if he intended to do so. [19:41] <sage> maybe not. [19:41] <sage> looking at random code it does have FSF copyrights... [19:41] <mabshoff> I think people like Zimmermann and Granlund were very possed. [19:41] <mabshoff> ok [19:41] <mabshoff> maybe it is time to write RMS an email :) [19:42] <craigcitro> hey william -- here's another question [19:42] <craigcitro> a lot of this morphism code has functions named with underscores before and after the name [19:42] <craigcitro> _internal_func_ instead of _internal_func [19:42] <craigcitro> is this just an old habit? or is it someone else's code? [19:43] <sage> This is for functions that are supposed to be viewed like Python __*__ functions... [19:43] <sage> E.g., _add_ [19:44] <craigcitro> ahh, ok [19:44] <soroosh> Craig: I applied your patch. It is a bit late for me to think properly, but running the example on the ticket, what should I get back? [19:44] <soroosh> I get "Not valid homomorphism" exception. [19:44] <craigcitro> ok, so that's bad [19:44] <craigcitro> you should get back two valid homomorphisms [19:45] <soroosh> hmm, maybe I haven't quite applied that patches yet. [19:45] <sage> I'm trying too. [19:45] <mabshoff> Did burcin open another ticket for the leak in echelonize? It seems like a pretty good isolated leak to look at. [19:45] <sage> it works! [19:45] <sage> I don't know. [19:45] <mabshoff> Ok, will check [19:45] <soroosh> I ran, hg_sage.apply, heads, merge, and then commit [19:46] <craigcitro> yeah, but you can't yet *apply* morphisms [19:46] <craigcitro> does hg heads tell you that you only have one head? [19:46] <sage> I added that one as a doctest. [19:46] <sage> to apply morphisms you have to implement a function on elements. See number_field_element.pyx for [19:46] <sage> an example. [19:47] <craigcitro> k ... i'm working on doing that right now. [19:47] <craigcitro> ah, i can probably just copy-paste that code. :P [19:47] <soroosh> Oh, it works now. [19:48] <soroosh> I forgot to rebuild it. :P [19:48] <craigcitro> awesome [19:48] <craigcitro> hahah [19:48] <craigcitro> that'll get you every time. ;) [19:48] <soroosh> :) [19:48] <sage> i've closed this ticket and pushed out the patch. [19:48] <mabshoff> wstein: could you apply the patch by malb for #566 [19:49] <sage> 25 tickets closed today so far. [19:49] <mabshoff> That one also fixes most of #519, i.e. we leak only one rand_state in total. [19:49] <sage> #566 -- looking into it now. [19:49] <mabshoff> Yep, pretty good night so fat. [19:49] <mabshoff> far [19:49] <soroosh> Wow! That's impressive. [19:50] <mabshoff> The last bug Day + the next day closed a totol of 70 tickets. [19:50] <mabshoff> But there were many worksforme [19:50] <mabshoff> but today has been very impressive, because many of the bugs were harder. [19:50] <mabshoff> (in my humble opinion= [19:50] <mabshoff> ) [19:59] --> boothby has joined this channel ([email protected]). [19:59] <sage> and those are just closed tickets. that doesn't count, e.g., #566 [19:59] <sage> I couldn't apply the patch since it depends on another. [19:59] <sage> but I'll track that down. [19:59] <sage> #558 [20:00] <mabshoff> So there is also a patch fir #558? malb was very busy. [20:00] <sage> yep! [20:01] <mabshoff> Just answered Saunder's linbox-devel email. Mentioned the problem with Solaris vs. that __SunOS_5_9 broken fix. [20:05] <mabshoff> Wow, #33 closed, that is a rather old one. [20:06] <mhansen> sage: Do you want some more patches at the moment? [20:08] <sage> i've applied and pushed 558 and 560. [20:08] <mabshoff> #566? [20:08] <sage> yes. that's what I'm doing now is applying patche.s [20:09] <mhansen> There's one for 544. [20:10] <sage> but I'm also cooking spaghetti right now :-) [20:10] <mhansen> Mmm... [20:10] <mhansen> I made a curry that was way spicier than I intended. [20:10] <mabshoff> I am getting near the end. [20:10] <sage> mhansen -- thanks for fixing #544!!!! [20:10] <sage> that was driving me crazy forever. [20:10] <sage> mabshoff -- of all sage bugs :-) [20:11] <mabshoff> ? [20:11] <mabshoff> Oh, I think I got it now. [20:11] <mabshoff> My brain is getting tired. [20:11] <mabshoff> I think I will do some more work on M2. [20:11] <mabshoff> Just to get something compiling out the door. [20:12] <mabshoff> Dan is subscribed to sage-devel by the way. [20:12] <mhansen> There's also ones for 553, but I feel kind of iffy about the solution. I couldn't think of anything better to do though. [20:12] <mabshoff> Good that I never wrote anything bad about M2 :) [20:13] <boothby> dammit, timothy's never around when you need him. [20:13] <mhansen> There is also one for #334. [20:13] <craigcitro> hey sage ... i have another patch that makes it so you can apply finite field morphisms [20:13] <craigcitro> should i make a ticket just to post it? [20:13] <craigcitro> or tag it on 376? [20:14] <sage> mabshoff -- did I accidently close #560 thinkingit was #566?!?! [20:14] <sage> pasta calls... [20:14] <mabshoff> ok [20:15] <mabshoff> I reopened #560 [20:17] <craigcitro> so i think 539 is a dead ticket [20:17] <craigcitro> i'm pretty sure i fixed that when i fixed up the c_lib install stuff [20:17] <mabshoff> sage: there is a patch attached to #604 that fixes a memleak. [20:17] <craigcitro> can someone check that for me? [20:17] <craigcitro> x = 3 [20:18] <craigcitro> x.__int__?? [20:18] <craigcitro> make sure you see pyintlong ;) [20:18] <mabshoff> Yeah, that problem sounds familiar. [20:18] <craigcitro> it was causing a weird issue -- actually, i think on kiran's machine [20:18] <craigcitro> man, we need to get an account and do tests on kiran's machine [20:18] <craigcitro> oh, no, that's not right [20:18] <craigcitro> it was the one on 64 bit linux [20:19] <craigcitro> because there was code duplication with c_lib and sage/ext/ [20:19] <mabshoff> That issue got solved with the LONG_BIT problem or whatever. [20:19] <mabshoff> Or which issue are you talking about? [20:19] <mabshoff> I am currently rebuilding, will take a little while. [20:20] <mabshoff> With malb's gmp.pxi changes a lot of code has to be recompiled. [20:20] <craigcitro> nah, it was something else [20:20] <craigcitro> grin nods [20:20] <mabshoff> ticket? [20:20] <craigcitro> 539 [20:20] <mabshoff> But that code duplication was fixed after 2.8.3.x? [20:21] <mabshoff> Okay, never mind. [20:21] <craigcitro> yeah, i got rid of it a while back [20:21] <mabshoff> Read the ticket in details. [20:21] <craigcitro> i forget what version ... too many versions. ;) [20:21] <mabshoff> well, let was decide. [20:21] <mabshoff> it is just one blurry continuum for me. [20:21] <sage> craig -- #539 isn't dead. it's still commented out. [20:22] <craigcitro> hmm ... it's not on my machine. [20:22] <sage> look at __int__ integer [20:23] <craigcitro> yeah, this is apparently a fix i never pushed back your way. [20:23] <craigcitro> but that made it into my sage-main ... *shrugs* [20:23] <craigcitro> what should i do with this other finite field patch? add it to 376? [20:23] <sage> no -- unless you *open* 376. [20:23] <craigcitro> make a new ticket then? [20:24] <sage> regarding #539 -- i just fixed that, so good. [20:24] <sage> yes, a new ticket. [20:24] <craigcitro> k, good times. [20:26] <sage> i'm now building the latest hg_sage.pull() on 3 machines and doing a full doctest. [20:26] <sage> dinner... [20:26] <mabshoff> ok [20:26] <craigcitro> k, 612 made and ready to be closed. ;) [20:26] <sage> back in 20 or 30 minutes. [20:26] <sage> ... [20:26] <craigcitro> cool [20:26] <mabshoff> I did a build about 10 minutes ago and running doctest before I revisit the valgrind issues. [20:26] <sage> ok. [20:30] <soroosh> I am looking at #252, regarding creating number fiels when polynomial not integral, and I was wondering, is there a danger of modifying polynomial in __init__ function, or should I be a bit more careful? [20:30] <soroosh> I have a small patch that modifies the polynomial to be monic. [20:31] <craigcitro> william is the person to ask about this -- he's just spent the last two days combing the number fields code [20:33] <soroosh> ok, then I should wait a bit. [20:33] <soroosh> How does one make a patch, btw? [20:33] <craigcitro> so the right way is within sage : [20:33] <craigcitro> hg_sage.send('new_bundle.hg') [20:34] <craigcitro> that will look at the main sage repo, pack up everything it needs, and ask you to edit a description [20:34] <craigcitro> some monkeys like me tend to do it with hg from the command line, and annoy william to death with our hg bundles that can't be applied. ;) [20:35] <craigcitro> but hg_sage.send?? tells all: [20:35] <soroosh> cool. [20:35] <soroosh> thanks [20:35] <craigcitro> hg bundle name.hg http://www.sagemath.org/hg/sage-main/ [20:35] <craigcitro> that works from the command line, and does the same thing [20:38] <craigcitro> hey, so ticket 461 also seems to be fixed. [20:38] <craigcitro> can you guys look at that and tell me if it works for you? [20:38] <craigcitro> M = ModularForms(17,4) ; N = M.new_subspace() [20:38] <craigcitro> that's what you need to run ... working means not throwing an error in this case. ;) [20:40] <mhansen> No error for me. [20:40] <craigcitro> k [20:40] <craigcitro> william has also finished 585 [20:41] <craigcitro> 585 612 461 all ready to go [20:41] <sage> hi [20:41] <soroosh> craig: it works for me too. [20:41] <sage> now suffering from memory leak fixes.. [20:41] <sage> sage -t devel/sage-main/sage/coding/linear_code.py *** glibc detected *** /home2/sage/s/local/bin/python: double free or corruption (out): 0x00000000017d7c50 *** [20:41] <craigcitro> grin [20:42] <soroosh> :) [20:42] <craigcitro> yeah, when you have time william -- 585 612 461 ready to go, soroosh has a number field question [20:42] <soroosh> oh yeah, I was looking at #252, regarding non-monic polynomials, [20:42] <sage> craigeciro -- i already did 585 a day or 2 ago... [20:42] <sage> oops. [20:42] <sage> it should be in hg_sage.pull() [20:43] <craigcitro> oh, well, the ticket is ready to be closed. ;) [20:43] <craigcitro> yeah, that was the one you did the other day while we were talking -- but the ticket was open [20:43] <soroosh> and I was wondering if I should add another variable in the class, defining_polynomial, [20:43] <craigcitro> how was the pasta? [20:43] <sage> we even chose the same examples, but I got rid of the numerical parts. [20:43] <sage> i also put a warning about denominators. [20:43] <soroosh> and have polynomial be a monic, integral polynomial all the time. [20:43] <sage> pasta was good. [20:44] <sage> soroosh -- we're going to do a major rewrite of number fields... [20:44] <sage> that's one of the plans. [20:44] <sage> but it should be transparent to the user. [20:45] <soroosh> oh, so I shouldn't worry too much about this fix. [20:47] <soroosh> ok, it's getting late in here. [20:48] <soroosh> I think I'm going to go to sleep. [20:48] <soroosh> Cheers guys. [20:48] <-- soroosh has left this channel. [20:49] <sage> goodnight soroosh. [20:49] <sage> the crash above was caused by the integer freeing memleak "fix". [20:50] <craigcitro> grin [20:54] <-- robertwb has left this server. [20:54] <sage> #461? [20:55] <mhansen> Craig nor I were able to reproduce 461. [21:00] <sage> maybe I just fixed it. [21:01] <sage> i fixed some things just like this recently when adding doctests. [21:01] <sage> cool -- taht can be closed. [21:01] <mhansen> Surprise bug fixes are always fun. [21:03] <sage> ok. is anything else left for me to close... [21:03] <sage> ? [21:03] <mhansen> Could you look at 553 and 334? [21:03] <sage> #503 -- robertwb just finished that with tom b. [21:04] <sage> i'm going to check out #503. [21:04] <sage> it would be great if somebody else could too. [21:04] <sage> hey, i already applied that. [21:04] <sage> never mind. [21:05] <craigcitro> grin [21:05] <sage> ok, on to #553. [21:05] <craigcitro> so 461 also worked for you? [21:05] <mhansen> #553: The solution in that patch was the most reasonable thing I could come up with. [21:05] <sage> mhansen -- what if a variable name happens to be "substitute" ? :-) [21:06] <sage> yes #461 works. [21:06] --> mabshoff_ has joined this channel ([email protected]). [21:07] <mhansen> sage: Then they have more problems than I know what to do with ;-] [21:07] <sage> no seriously. [21:08] <mhansen> I guess you could also add a check that subtitute==True [21:08] <sage> yes, that's reasonable. [21:08] <sage> i'll add that. [21:08] <mhansen> Thanks [21:10] <mhansen> It's still possible to get the unexpected behavior, but this takes out a few of the cases where it could happen. [21:10] <-- boothby has left this server (Read error: 110 (Connection timed out)). [21:10] <sage> this segfaults: sage -t devel/sage-main/sage/modular/abvar/torsion_subgroup.py [21:10] <sage> ouch. [21:11] <sage> i've pushed the change out. [21:11] <sage> and closed the ticket #553. [21:11] <sage> now looking at #334 [21:12] <sage> with the current bugfixes (do hg_sage.pull()) the following doctests all fail: [21:12] <sage> sage -t devel/sage-main/sage/modular/modsym/space.py [21:12] <sage> sage -t devel/sage-main/sage/modular/modsym/subspace.py [21:12] <sage> sage -t devel/sage-main/sage/modular/abvar/abvar.py [21:12] <sage> sage -t devel/sage-main/sage/modular/abvar/cuspidal_subgroup.py [21:12] <sage> sage -t devel/sage-main/sage/modular/hecke/submodule.py [21:12] <sage> sage -t devel/sage-main/sage/modular/hecke/module.py [21:12] <sage> sage -t devel/sage-main/sage/modular/hecke/ambient_module.py [21:12] <sage> sage -t devel/sage-main/sage/modular/modform/cuspidal_submodule.py [21:12] <sage> sage -t devel/sage-main/sage/structure/element.pyx [21:12] <sage> sage -t devel/sage-main/sage/combinat/sloane_functions.py [21:12] <sage> ouch. [21:12] <craigcitro> whoa [21:12] <sage> #334 -- looks good. [21:12] <mhansen> Yikes -- hopefully it's all for the same underlying reason. [21:12] <craigcitro> i'll start looking at the modform stuff [21:12] <sage> some will be because of 0^0. [21:13] <sage> Others will be because of memleak cleanups, I bet. [21:13] <sage> I'm going to see what I can do about them now. [21:13] <sage> help would be appreciated. [21:13] <sage> ? [21:13] <craigcitro> well, i'm familiar with the modular/modform code right now [21:13] <craigcitro> so i'll get on those. [21:13] <sage> if you do hg_sage.pull() [21:13] <sage> then doctest something about, see what happens. [21:13] <craigcitro> nod [21:14] <mhansen> Will do. [21:14] <sage> is anybody else working on anything? [21:15] <mhansen> #387 can be closed [21:15] <sage> sure? [21:15] <sage> it could be a 64 or 32-bit only problem. [21:16] <mhansen> Hmm... both mabshoff and I tested it out a few days ago, and I did today as well. [21:16] <sage> it works on my 64-bit laptop. [21:16] <sage> it works on my 32-bit os x box. [21:16] <sage> ok, closing it. [21:17] <sage> #607 -- looks fixed. [21:17] <sage> I'll apply that. [21:18] <mhansen> sloane_functions is just 0^0, I'll do a ticket and patch for that. [21:18] <sage> mhansen go. [21:18] <sage> go go. [21:18] <sage> thanks. [21:18] --> robertwb has joined this channel ([email protected]). [21:18] <-- mabshoff has left this server (Read error: 110 (Connection timed out)). [21:22] <sage> robertwb -- we're trying to fix all the errors caused by the 0^0 patch and other bug fixes. [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/modular/modsym/space.py [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/modular/modsym/subspace.py [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/modular/abvar/abvar.py [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/modular/abvar/cuspidal_subgroup.py [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/modular/hecke/submodule.py [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/modular/hecke/module.py [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/modular/hecke/ambient_module.py [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/modular/modform/cuspidal_submodule.py [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/structure/element.pyx [21:22] <sage> after applying your hyperelliptic_padic_field patch, it also crashes on exit. [21:22] <robertwb> ok [21:22] <sage> 21:15 < sage> sage -t devel/sage-main/sage/combinat/sloane_functions.py [21:22] <sage> these fail [21:23] <mhansen> patch attached for #613 [21:23] <robertwb> pull to get the latest? [21:23] <sage> this is a bad interaction -- it's becaue you actually have examples.. [21:23] <sage> yes hg_sage.pull() [21:23] <sage> mhansen -- thanks. [21:23] <sage> craigcitro, me, mhansen, and you are working on this. [21:24] <sage> all other doctests pass except those listed above. [21:24] <mhansen> I'll do element.pyx. [21:25] <robertwb> I'll look at modsym/* [21:25] <sage> I'm going to apply a few more very easy patches. [21:25] <sage> i.e., the indentation fix of monsky_washnitzer. [21:25] <sage> i'll apply your #613 first. [21:26] <craigcitro> is the system-wide sage on sage.math up to date? [21:26] <sage> ok, #613 is good. [21:26] <craigcitro> i was trying doctests there while i wait for my sage -br [21:26] <sage> craigcitro -- no. [21:26] <craigcitro> k [21:29] --> boothby has joined this channel ([email protected]). [21:29] <sage> #570 -- robertwb -- I'm applying your patch for that now. [21:29] <robertwb> ok [21:29] <sage> I guess I already got it with the 0^0 stuff. [21:30] <robertwb> that makes sense [21:30] <mhansen> sage: #614 (element.pyx) patch is up. [21:30] <sage> thanks! [21:31] <sage> applying it... [21:31] <craigcitro> geez ... i'm still waiting on my sage -br. do you guys just have faster systems? ;) [21:32] <sage> we've been doing it all along. [21:32] <sage> you maybe hadn't pulled in a while [21:32] <mhansen> I'm running the tests on the modular stuff. [21:33] <sage> robertwb -- did you fix #573 [21:33] <robertwb> let's see [21:33] <robertwb> yes [21:34] <sage> looks good. i'll close it now. [21:34] --> pdehaye has joined this channel ([email protected]). [21:37] <robertwb> having trouble getting an error for /sage/modular/modsym/space.py [21:37] <mhansen> I segfault on space.py [21:37] <-- pdehaye has left this server (Client Quit). [21:38] <sage> robertwb -- it doesn't segfault on osx intel. [21:38] <sage> weird. [21:38] <robertwb> ok [21:38] <robertwb> someone else better take those ones then [21:38] <sage> these all fail on osx in intel: [21:38] <sage> sage -t devel/sage-main/sage/modular/abvar/torsion_subgroup.py [21:38] <sage> sage -t devel/sage-main/sage/modular/hecke/ambient_module.py [21:38] <sage> sage -t devel/sage-main/sage/modular/hecke/hecke_operator.py [21:38] <sage> sage -t devel/sage-main/sage/modular/modsym/space.py [21:39] <craigcitro> oh, we're down to just those four? [21:39] <craigcitro> or just on a diff arch? [21:39] <sage> no -- on just x86 os x it's those four. [21:39] <mhansen> I'm looking at modsym/subspace.py and failures are not being consistently reproducible. [21:40] <sage> it must be a memory leak cleanup causes hell issue then. [21:40] <sage> dang. [21:42] <mhansen> For example, on space.py, sometimes I get the sage segfault message, and sometimes I get this: [21:42] <mhansen> fatal error: [21:42] <mhansen> Internal error: can't free this _ntl_gbigint [21:42] <mhansen> exit... [21:43] <robertwb> ok, I was able to get a segfault on modsym/space.py once, though nothing by piping it into sage -gdb [21:44] <mhansen> I got subspace.py to pass on one of the attempts ;) [21:45] <sage> hi. [21:45] <sage> I've applied every patch for sage-2.8.4 and moved all tickets not for sage-2.8.4 to sage-2.9. [21:45] <sage> If you look at http://trac.sagemath.org/sage_trac/milestone/sage-2.8.4 [21:45] <sage> you'll see that everything (all 60 tickets) are closed, except 1, which is David Harvey's [21:46] <sage> GMP patches, which vastly speed up big rational number arithmetic. [21:46] <sage> If you do hg_sage.pull() you'll get this version. [21:46] <sage> It has the fixes of mhansen from a few minutes ago too. [21:46] <sage> It'll take a few minutes to compile though. [21:46] <sage> Then to release sage-2.8.4, all that we need to do is fix the above doctest failures. [21:46] <sage> what is _ntl_gbigint? [21:48] <mhansen> No idea -- I've never looked at the NTL code before. [21:48] <craigcitro> where does it say it's appearing? or does it? [21:49] <mhansen> That was an error I had on one of the crashes of modsym/space.py [21:49] <sage> ah. [21:49] <craigcitro> k [21:49] <sage> the error happens on exit/cleanup for me. [21:50] <craigcitro> the only references to "bigint" i could find in the sage source tree are all in mwrank [21:51] <craigcitro> does that get called at all in your modular symbols doctests? weight two spaces? [21:52] <sage> gmp gives this on crash: [21:52] <sage> Program received signal SIGSEGV, Segmentation fault. [21:52] <sage> [Switching to Thread 47729433847536 (LWP 12470)] [21:52] <sage> 0x00002b68e0b88070 in __gmpn_submul_1 () from /home/was/s/local/lib/libgmp.so.3 [21:52] <sage> (gdb) Hangup detected on fd 0 [21:52] <sage> no [21:52] <sage> mwrank is not used. [21:52] <craigcitro> k [21:53] <sage> i made a cutdown version of the input doctest, and get a serious hang. [21:53] <sage> let me see if it is reproducible. [21:53] <sage> it's a double free. [21:53] <robertwb> try commenting out the code that frees the integer pool (patch 7284d5caf725 is mis-labeled) [21:53] <sage> it's not reproducible. [21:53] <sage> i did -- that doesn't help. [21:54] <sage> this time I got this: [21:54] <sage> Program received signal SIGSEGV, Segmentation fault. [21:54] <sage> [Switching to Thread 47931549828848 (LWP 12567)] [21:54] <sage> visit_decref (op=0x1, data=0x0) at Modules/gcmodule.c:270 [21:54] <sage> 270 Modules/gcmodule.c: No such file or directory. [21:54] <robertwb> the pool, not just the mpz_globals? [21:54] <sage> yes, but I'll try again just in case. [21:55] <sage> no, that doesn't fix the problem. [21:55] <craigcitro> what machine had the larger set of failures? is it one we can log into? [21:56] <sage> sometime free_module.py fails. [21:56] <sage> sometimes not. [21:57] <mhansen> This is fun :) [21:57] <craigcitro> hey, so here's a good question: when sage -t with a sigsegv, is there an easy way to find out which doctest did it? [21:57] <sage> free_module.py crashes about 10% of the time. [21:57] <craigcitro> or a quick way to run it interactively or the like? [21:57] <sage> sage -t --verbose [21:57] <sage> sage -t --gdb [21:58] <sage> these are your friends. [21:58] <craigcitro> grin ... indeed [21:58] <robertwb> ooooh, I've been wanting sage -t --gdb for a long time [21:59] <sage> i suspect matrix_integer_dense.pyx is a problem. [21:59] <sage> I'll try reverting it to an old version. [22:00] <sage> that didn't help. [22:01] <sage> doing this a few times always leads to problems: [22:01] <sage> sage -t --verbose free_module.py [22:01] <sage> mhansen -- by the way your subst fix breaks piecewise.py [22:02] <sage> matrix_integer_dense.pyx hasn't changed recently. [22:03] <robertwb> no, the only change in the 6000's is a comment [22:03] <mhansen> I'll look at piecewise now. [22:03] <sage> maybe martin's gmp.pxi changes got us? [22:03] <sage> that move to libcsage.so [22:04] <robertwb> that'd be my guess... [22:05] <robertwb> too bad we're not using darcs [22:05] <sage> robertwb -- do you see any problems, by the way? [22:05] <sage> on osx? [22:05] <sage> robertwb -- i can record the inverse of a changeset, e.g., of 6207, to undo [22:05] <robertwb> yes, I got free_module.py to crash now [22:05] <sage> martin's thing. [22:05] <robertwb> nothing regular though [22:06] <sage> record ==> apply. [22:06] <craigcitro> i've got inconsistent crashes in modular/modsym/space.py on osx ppc [22:07] <sage> craigcitro -- subspacepy now fails. [22:07] <sage> what happend? [22:07] <sage> it's not a crash issue at all. [22:07] <sage> it's never mind -- it is a crash issue. [22:08] <craigcitro> so i've had space.py have one crash, then work fine for a while, and now a different crash elsewhere in the file [22:08] <mhansen> I have like 4 logs of different "flavors" of subspace.py crashes. [22:08] <sage> hg backup. [22:09] <craigcitro> sage: S = ModularSymbols(389,sign=1)[3]; S [22:09] <craigcitro> File "/sage/local/lib/python/site-packages/sage/modular/hecke/module.py", line 305, in __getitem__ [22:09] <craigcitro> D = self.decomposition() [22:09] <craigcitro> File "/sage/local/lib/python/site-packages/sage/modular/hecke/module.py", line 560, in decomposition [22:09] <craigcitro> height_guess=height_guess, proof=proof) [22:09] <craigcitro> File "matrix2.pyx", line 1682, in matrix2.Matrix.decomposition_of_subspace [22:09] <craigcitro> File "matrix_rational_dense.pyx", line 1158, in matrix_rational_dense.Matrix_rational_dense.decomposition [22:09] <craigcitro> File "matrix_rational_dense.pyx", line 1250, in matrix_rational_dense.Matrix_rational_dense._decomposition_rational [22:09] <craigcitro> File "/sage/local/lib/python/site-packages/sage/rings/polynomial/polynomial_element_generic.py", line 1142, in __floordiv__ [22:09] <craigcitro> return Polynomial.__floordiv__(self, right) [22:09] <craigcitro> File "polynomial_element.pyx", line 855, in polynomial_element.Polynomial.__floordiv__ [22:09] <craigcitro> File "/sage/local/lib/python/site-packages/sage/rings/polynomial/polynomial_element_generic.py", line 1042, in quo_rem [22:09] <craigcitro> v = self.__poly.quo_rem(right.__poly) [22:09] <craigcitro> RuntimeError [22:09] <craigcitro> ********************************************************************** [22:09] <craigcitro> ooh, i feared that would boot me. sorry about the spam. [22:10] <mhansen> sage: for piecewise.py, do you want me to change the doctests to use substitute=True? [22:10] <sage> sure. [22:11] <robertwb> oh, I got something with gdb in free_module.py [22:11] <sage> i'm waiting for the backup of martin's patch to finish building. it takes a while. [22:11] <robertwb> (I think you've seen it before) [22:11] <robertwb> visit_decref (op=0x1, data=0x0) at Modules/gcmodule.c:270 [22:11] <sage> yep. [22:12] <sage> there's definitely a lesson here. [22:13] <sage> any time anything purports to address a memleak, it has to be fully tested in isolation on the [22:13] <sage> entire doctest suite. [22:13] <mhansen> That sounds like a good plan. [22:13] <craigcitro> yeah, seriously. [22:13] <robertwb> I concur [22:14] <craigcitro> so the thing i posted above, i just did with sage -gdb [22:14] <craigcitro> and it's actually throwing the error in an NTL function [22:14] <craigcitro> so assuming it's not really an NTL issue, does that mean we're calling into NTL with something we accidentally freed? [22:14] <sage> craig -- is it sporadic? [22:15] <sage> was it from subspace.py? [22:15] <sage> i backed out martin's patch and the problem vanishes with space.py!!!! [22:16] <mhansen> Excellent news! [22:16] <craigcitro> this is modsym/space.py, and yep, it's sporadic [22:16] <sage> that's probably the cause of the all the problems. [22:16] <sage> robertwb -- thoughts? [22:16] <mhansen> sage: patch for #615 up [22:16] <sage> what should I do. [22:17] <sage> thanks. [22:17] <sage> hmmm. [22:17] <sage> (1) just leave it backed out. [22:17] <sage> (2) try to fix the problem by understanding what he did. [22:17] <sage> hmmm. [22:18] <robertwb> so, how sure are you that you didn't have a lucky run? [22:18] <robertwb> If it is, I bet that's all our issues [22:18] <sage> space.py failed for me every single time. [22:18] <sage> now it passes every single time. [22:18] <sage> so 100% [22:18] <robertwb> excellent [22:18] <sage> i'll doctest modsym directory, to be surer. [22:19] <sage> all tests pass. [22:19] <robertwb> so, I'd say release without that patch, and ask him to take a closer look at it/work with him [22:20] <sage> except I applied 25 patches after it and hg has no extract patch from the past command. [22:20] <sage> so it's a little werid. [22:20] <sage> actually maybe just recording the inverse is fine. [22:21] <sage> but then how does he undo that. [22:21] <robertwb> Yeah, I'd just record the inverse. [22:21] <robertwb> He can extract the patch as a diff to play with it. [22:21] <sage> good point. [22:22] <sage> he can probably backout my backout, actually! [22:22] <robertwb> it's not a patch that merges into a lot of other stuff... [22:23] <sage> interestingly, if i remove it, then anybody who pull from me would not have it removed from theirs. [22:24] <sage> i'm very very curious though what was going wrong... [22:25] <robertwb> me too [22:25] <sage> i'm going to try for a few minutes to fix his code. [22:25] <robertwb> ok [22:26] <robertwb> I wonder if one of the global variables leaked out into a sage object... [22:26] <robertwb> that would mean its not really his patch's fault, but it just exposed another bug [22:26] <sage> interesting. [22:27] <robertwb> brb [22:32] <sage> very interesting -- there is a libcsage.a in $SAGE_LOCAL/lib/ [22:32] <sage> that is bad news waiting to happen. [22:32] <sage> if anything links that in, then there are multiple copies of "global unique data", [22:32] <sage> and only one copy is initialized!!!!! [22:33] <sage> weird -- on one of my build machines getting rid of libcsage*a seems to have fixed the problem... [22:33] <sage> nope. [22:33] <sage> false alarm [22:40] <craigcitro> but that is a good point ... maybe the sage install should try to clean those up? [22:40] <wstein> they were left from the pre-scons days on that install, I think. [22:43] <craigcitro> nods ... but it might be that way on several machines in the world [22:43] <wstein> it doesn't really cause a problerm. [22:43] <craigcitro> k [22:45] <boothby> sage -- python has trademarked their logo + the word python. debian has a wierd license on their logo. [22:45] <wstein> we should. [22:45] --> boothby_ has joined this channel ([email protected]). [22:46] <boothby_> wstein / sage -- python has trademarked their logo + the word python. debian has a wierd license on their logo. [22:46] <-- boothby has left this server ("leaving"). [22:46] <-- boothby_ has left this server (Client Quit). [22:47] --> boothby has joined this channel ([email protected]). [22:47] <wstein> robertwb -- i've made a slight modification to gmp.pxi that restores the old behavior, [22:48] <wstein> but makes it easy to switch to the new behavior. [22:48] <wstein> I pushed it out. [22:54] --> janwil has joined this channel ([email protected]). [22:55] <craigcitro> hey william -- i added the functionality we were talking about to sage -coverage [22:55] <craigcitro> so the way i have it working is this [22:56] <craigcitro> if the doctests for a function don't contain the name of the function, it adds it to another list [22:56] <wstein> great! [22:56] <craigcitro> and then prints that list at the end in a set called "possibly wrong (missing name of function in doctests)" [22:56] <craigcitro> but then if you have an environment variable called "SAGE_IGNORE_NAMEFREE_DOCTESTS" [22:56] <craigcitro> then it doesn't do that printing [22:56] <craigcitro> is that reasonable? [22:56] <sage> i don't like the enviro variable thing. [22:56] <sage> nobody will want to use that. [22:57] <janwil> good morning everyone [22:57] <craigcitro> well, you want to be able to ignore it sometimes [22:57] <craigcitro> morning janwil [22:57] <sage> it's too long, and if you go to the trouble of defining it just to cheat... [22:57] <sage> it would be better to have a notation, e.g., [22:57] <sage> def foo(...): # doctest doesn't involve foo [22:57] <sage> or [22:57] <craigcitro> ah, ok [22:57] <sage> def foo(...): # indirect doctest [22:57] <sage> then it's clear what's up when you look at the code. [22:57] <craigcitro> that works [22:57] <sage> and it works the same for everybody. [22:58] <craigcitro> sure, i just wanted some way of overriding the extra output [22:58] <craigcitro> so where does that comment have to go? in one of the doctests? [22:58] <craigcitro> (i'm just figuring out where to put the search for it.) [22:59] <sage> that's a good idea. [22:59] <sage> if the word "indirect" is anywhere in the docstring, then just [22:59] <craigcitro> so i'll search for it at the same time i search for the function name? [22:59] <sage> don't knock the function for not doctesting exactly that name of function. [22:59] <sage> simple. [22:59] <craigcitro> well, we might want something less likely to occur than just that word [22:59] <craigcitro> because i could imagine that occurring anyway [22:59] <craigcitro> doctest_indirect ? [23:00] <sage> "indirect doctest". [23:00] <craigcitro> indirect_doctests [23:00] <sage> NO -- it should be english. [23:00] <craigcitro> k [23:00] <sage> and if it happened accidently it isn't a problem really. [23:00] <craigcitro> i'll look for the string 'indirect doctest' [23:00] <craigcitro> oh, sure, as long as it's pretty unlikely [23:00] <craigcitro> a single english word seems to likely, though [23:01] <craigcitro> too, rather [23:02] <craigcitro> k, that's good to go. i'll make a ticket and submit a patch. [23:04] <craigcitro> and i'm going to tag the scons -Q onto that same patch, unless you tell me you've recently decided against it. [23:05] <sage> From somebody using sage.math for serious work: " Anyway, I do want to say thanks for letting [23:05] <sage> me use the machine. I'ts a huge improvement ovver trying to [23:05] <sage> use the Westgrid machine where you have to submit your job [23:05] <sage> to a queue and then, well, I've been waiting 6 dayws now for [23:05] <sage> craigcitro -- good. [23:05] <sage> one job to start. It's just hopeless to try to develope [23:05] <sage> code on that network when you have to wait days for a job to start."" [23:05] <craigcitro> hah that's awesome [23:06] <robertwb> hi [23:06] <robertwb> I like the indirect doctest thing [23:06] <robertwb> special functions (e.g. __add__) should all be indirect by default [23:06] <sage> robertwb -- hyperellipic_padic still crashes for me. [23:07] <robertwb> william: I'm trying to understand your gmp_globals patch [23:07] <sage> All I did was comment out what was added, and put back what was there before in gmp.pxi. [23:07] <sage> I didn't touch anything else (hopefully). [23:08] <robertwb> what about the "add gmp_globals" patch? [23:08] <craigcitro> ooh, good point robert [23:08] <craigcitro> so do we have a list of what functions i should totally skip? or everything wrapped in __ ? [23:08] <robertwb> that still uses gmp_globals.c, right? [23:09] <robertwb> everything wrapped in __ is probably safe [23:09] <craigcitro> k [23:09] <robertwb> oh, but _add_c_impl and stuff too... hmm... maybe there should be a big list [23:09] <sage> cdef methods are all skipped. [23:10] <robertwb> looking at hyperelliptic_padic ... sage -t --gdb brings you to a gdb prompt, how do you go from there? [23:10] <sage> r [23:10] <sage> type "r" [23:10] <robertwb> ah [23:11] <robertwb> stuff like _add_c_impl should still have a doctest (to test it), right? [23:14] <robertwb> hyperelliptic_padic looks like it has nothing to do with my patch... [23:15] <wstein> your doctests expose the problem. [23:15] <robertwb> some memory error in free modules over Q, still looking into it [23:15] <robertwb> lesson: doctests are bad :) [23:15] <wstein> when i use gmp i get an error in GCD in doing arithmetic over QQ. [23:15] <wstein> maybe you should delete teh doctests... [23:16] <robertwb> yep, same here, but at least its reproducible and in the same spot every time [23:16] <robertwb> it worked on the previous version of SAGE
