Re: Re: How to debug init.m?
- To: mathgroup at smc.vnet.net
- Subject: [mg92367] Re: [mg92349] Re: How to debug init.m?
- From: "Curtis F. Osterhoudt" <cfo at lanl.gov>
- Date: Mon, 29 Sep 2008 07:07:40 -0400 (EDT)
- References: <gbmps7$i91$1@smc.vnet.net>
- Reply-to: cfo at lanl.gov
> On Sep 27, 8:24 pm, John Fultz <jfu... at wolfram.com> wrote: >> I agree that Tech Support is being a little onerous here. Here's a tec= > hnique >> which ought to make debugging things much easier... >> >> First, with all of your settings in place, evaluate the following... >> >> Put[Options[$FrontEnd], >> ToFileName[{$HomeDirectory}, "OldSettings.m"]]; >> >> Then restart the FE with clean preferences. And evaluate the following= > ... >> >> TestOption[opt_] := ( >> Print["Testing option ", First[opt]]; >> Pause[3]; >> SetOptions[$FrontEnd, opt]; >> FrontEndTokenExecute["OpenHelpLink"]; >> Pause[2]; >> MathLink`CallFrontEnd[ >> FrontEnd`NotebookClose[FrontEnd`DefaultHelpViewerNotebook[]]]); >> Scan[TestOption, Get[ToFileName[{$HomeDirectory}, "OldSettings.m"]]]; >> >> This will iterate through each option one at a time, telling you which >> on= > e it's >> trying. Presumably, after one of the settings, it will crash. Just = > keep an eye >> on it and see which one it is. Feel free to reduce the time in the fir= > st call >> to Pause[] if you're an attentive and fast reader. >> >> Once finished, you can run the following to reset your settings to the >> wa= > y they >> were. >> >> SetOptions[$FrontEnd, >> Get[ToFileName[{$HomeDirectory}, "OldSettings.m"]]] >> >> Or you could send me your init.m file and I can do it for you. >> >> Sincerely, >> >> John Fultz >> jfu... at wolfram.com >> User Interface Group >> Wolfram Research, Inc. >> > > Well, I did what John suggested and no luck. The funny thing is that > after doing the shift-option_start_Mathematica, and running John's > program, then exiting, the init.m file is exactly what it was before > deleting the init.m file, but no crash during the running of John's > program. But I exited Mathematica and restarted and now with the > "rebuilt" init.m file from John's program, it crashes like it always > has. > > I am suspecting that it is some combination of the lines in the init.m > file, not just a single one. But the puzzling thing is why does it not > crash after completing all the steps in John's program? I looked at > the init.m file after John's program ran and it is the same before > exiting Mathematica as it is when starting Mathematica and it > crashing. So there seems to be something extra that happens during > startup that is not done when running this program like this. > > One other tidbit that seems odd -- if I delete the init.m file > entirely and startup Mathematica I get two errors (same thing repeated > twice) about > > ToExpression::notstrbox: > FEPrivate`FrontEndResourceString[GetFEKernelInit] > is not a string or a box. ToExpression can only interpret strings > or > boxes as Mathematica input. > > Is this pertinent? They go away with the problematic init.m file in > place. I don't recall ever seeing this error before. I do have a > couple of kernel configurations in the problematic init.m file, but > with deleting the init.m file, they are gone, so not sure why this > error would be here, as with the empty init.m file there are none > listed than the default "Local" and there does not seem to be anything > bogus there (only thing set is "Kernel name" of "Local", > "Automatically launch on front end startup" is checked, and "Basic > Options" has "Local Machine" set and "Kernel program:" set to > "MathKernel", and all other boxes are unchecked). > > Any other suggestions? -- nevermind -- Well, I think I have figured it > out partly. The problem seems to occur even without my init.m file > (just removed it entirely) and then start up Mathematica, then open > the Option Inspector and set the "View" to "as text" (default is > "alphabetically"), then open the Documentation Center and the > "Internal self-test error" pops up but no crash. Will now give this > info to Wolfram and see if they can tell me why that it would matter > what mode Option Inspector was running in. Would people try this out > and see if you also get an "Internal self-test" error or a crash?? If > you do please let me know and I will pass this along to Wolfram as > well. > > Thanks everyone -- will let you know what I find out from Wolfram. And > thanks very much to John Fultz -- without his program would not have > wandered into the real clue. One minor change I did make to his > program was to print a number in addition to the option so I could > quickly read the screen and know where it would crash, even though it > never did. Here is the revised program if anyone is interested... > > ii = 1; > TestOption[opt_] := (Print["Option #", ii, " -- Testing option ", > First[opt]]; > ii = ii + 1; > Pause[1]; > SetOptions[$FrontEnd, opt]; > FrontEndTokenExecute["OpenHelpLink"]; > Pause[1]; > MathLink`CallFrontEnd[ > FrontEnd`NotebookClose[FrontEnd`DefaultHelpViewerNotebook[]]]); > Scan[TestOption, Get[ToFileName[{$HomeDirectory}, "Old-init.m"]]]; > > By the way, the 217 line init.m file ended up being 38 different > options, so obviously several lines were needed for some options. > > -Bob > Hi, Bob, I've just tried what you suggested (Option Inspector -> View as Text, then Documentation Center open). Instant crash. This is with v. 6.0.3 in a Windows XP SP3 installation. -- Curtis O.