After building johntheripper with the "linux-x86-64-mmx" option and then trying to bring it up in the source window NPE's are generated almost perpetually. The machine is an x86_64 dual cpu machine running FC6. This was done with a fresh checkout of Frysk on the morning of 07-12-2006. Here is the NPE: java.lang.NullPointerException at frysk.gui.srcwin.CurrentStackView.buildTree(CurrentStackView.java:152) at frysk.gui.srcwin.CurrentStackView.<init>(CurrentStackView.java:102) at frysk.gui.srcwin.SourceWindow.populateStackBrowser(SourceWindow.java:370) at frysk.gui.srcwin.SourceWindow.finishSourceWin(SourceWindow.java:319) at frysk.gui.srcwin.SourceWindow$LockObserver$25.run(SourceWindow.java:2196) at org.gnu.glib.CustomEvents.runEvents(libgtkjava-2.8.so) at org.gnu.gtk.Gtk.gtk_main(libgtkjava-2.8.so) This behaviour does not occur on my x86 single cpu with a fresh frysk checkout running FC5. The window comes up but says there is no debug info available.
I've narrowed this down to null StackFrames coming in to the function, which shouldn't happen. This is bad news because the reason they are null is as follows: Error generating stack trace null java.lang.NullPointerException at frysk.rt.StackCallbacks.accessReg(FryskGui) at lib.unwind.StackTraceCreator.unwind_setup(FryskGui) at lib.unwind.StackTraceCreator.createStackTrace(FryskGui) at frysk.rt.StackFactory.createStackFrame(FryskGui) at frysk.rt.StackFactory.createStackFrame(FryskGui) at frysk.gui.srcwin.SourceWindow.generateProcStackTrace(FryskGui) at frysk.gui.srcwin.SourceWindow.finishSourceWin(FryskGui) at frysk.gui.srcwin.SourceWindow$LockObserver$25.run(FryskGui) at org.gnu.glib.CustomEvents.runEvents(libgtkjava-2.8.so) at org.gnu.gtk.Gtk.gtk_main(libgtkjava-2.8.so) at frysk.gui.Gui.gui(FryskGui) at frysk.gui.FryskGui.main(FryskGui)
Added blocker.
Once again, the program is looking for register 'st5' in accessReg. The line: long value = isa.getRegisterByName(registerName).get(myTask); blows up because isa.getRegisterByName("st5") returns null.
So what's going on here is that there is no "st" series register in LinuxIa32On64.java, and that is where Frysk is looking for the register, since the build target "linux-x86-64-mmx" is actually building for i386 + mmx registers, and Rick built this on a 64-bit system. Looks like these just need to be added to that class.
I've verified that Tim's latest patches to linuxIa32On64 fix this problem - re- assigning to Tim to close this bug.
ping?
Fixed by Tim ages ago.