Re: Re: Kernel is quitting on me
- To: mathgroup at smc.vnet.net
- Subject: [mg98017] Re: [mg97913] Re: [mg97851] Kernel is quitting on me
- From: Fernando Cucchietti <fernando.cucchietti at icfo.es>
- Date: Sat, 28 Mar 2009 05:41:15 -0500 (EST)
- References: <gq54vc$80f$1@smc.vnet.net> <200903230903.EAA27073@smc.vnet.net> <200903241028.FAA19615@smc.vnet.net> <C51BCA18-5E5C-4F34-B23A-F928705DAB7A@jeol.com> <200903251045.FAA24645@smc.vnet.net>
Thanks everyone for the suggestion. At this point I am totally stuck with two months worth of coding, a boss breathing on my neck, and a program that can crash not only the kernel but now the front end, depending on how I use it. I had to deal with some problems with our Premier Service license, it looks like it will be solved but at bureaucracy speeds, so I give it a month or two until I can send my notebook to Wolfram tech support. In the meantime, I was hoping that if I update the status of the problem here somebody will see something that points to where my problem is. I followed some people's suggestions and I Removed ALL variables that are declared and used in Modules. In order to avoid further problems, for each Module I created a special variable that is assigned the number or list that gets Returned (this variable cannot be Removed). This didn't work. Then, I inserted Print[MemoryInUse[]] commands everywhere in all modules to keep track of the memory usage, hoping to catch a memory leak in action. Not only this didn't give me anything (memory is fine until crash), but this made a full crash of both the kernel and the front end...The only new bit of information is that before shutting down, Mathematica gives an error message: "A Mathlink communication error has occurred which Mathematica is unable to recover from". Funny thing is, I am *not* using Mathlink at all! I thought that maybe this could point to only a few functions that internally use Mathlink... The other new symptom is that the crash has become more stable now. Normally it will crash the *second* time I use my driver Module. I still don't know what this means, but it could be useful. Thanks for your attention, Fernando PS: by the way it feels bad to crash Mathematica at will ! On Mar 25, 2009, at 11:45 AM, Fernando Cucchietti wrote: > Thanks Sseziwa, > > yours was a very useful answer. I was also afraid that there could be > a memory leak somewhere. However, I don't know how to track down the > offending code. Any ideas? > I Remove-d all variables from my modules (which were all properly > defined as local anyway), except the one that gets returned as the > output of the module. How could I do that? There are also "hidden" > variables created inside each Module when computations are made, I > guess I have to pray for those to be disposed of. > Do you think that renaming all variables from all modules so that > there are no two variables named the same could help? I mean, even if > they are local to the module, could they collide and cause the leak? > > Fernando > > On Mar 24, 2009, at 2:17 PM, Sseziwa Mukasa wrote: > >> >> On Mar 24, 2009, at 6:28 AM, Fernando Cucchietti wrote: >> >>> Hi all, >>> >>> I am testing a very long worksheet, and all the pieces seem to be >>> working (separately). When I use the loop that puts them all >>> together, >>> the kernel quits after a few seconds (or at least, the equivalent of >>> the kernel quitting: everything goes undefined and in a weird >>> color). >>> I've tried following the computation step by step and everything >>> seems >>> normal until it just hangs. Also it seems to hang at different >>> places >>> everytime, but that *could* be that I am testing with a different >>> random initial condition every time. >>> I've checked if it is memory usage, it shouldn't be since the >>> MaxMemoryUsed never goes above 15MB. I tried with $HistoryLength=0 >>> just in case. The kernel in Debugger mode also just quits. >>> There is almost no symbolic manipulation either, just operations on >>> lists with numeric values. >>> I can't reproduce the error with simpler algorithms, and submitting >>> the whole worksheet for other to find a bug seems too much. >>> >>> My question is then: What kind of things can cause this behavior?? I >>> have really no clue since there are no error or warning messages, >>> just >>> an ugly quit. I would appreciate at any pointers to where can I >>> start >>> looking at... >> >> I suspect you have a memory leak in a Module. I know Mathematica >> is > >> supposed to be garbage collected but in my experience I have found >> routines that leak, my recommendation is to use Remove on any >> variables created in modules. I don't know what kind of code you >> are writing but I have also been able to cause some Mathematica >> routines to crash on input that doesn't seem particularly special, >> in particular I've seen SingularValueDecomposition fail on >> seemingly = > >> innocuous numeric input. >> >> Hope this helps, >> >> Ssezi > >
- References:
- Re: Selecting left hand sides from assignments
- From: Raffy <raffy@mac.com>
- Kernel is quitting on me
- From: Fernando Cucchietti <fernando.cucchietti@icfo.es>
- Re: Kernel is quitting on me
- From: Fernando Cucchietti <fernando.cucchietti@icfo.es>
- Re: Selecting left hand sides from assignments