Stepping the DisassemblyWindow on an Intel 64 machine with the Disassembly and Memory windows enabled (not by default) and open, along with the RegisterWindow, aborted with the following. Looks like it might be a bad JG pointer? java.lang.Exception: gtk_list_store_set_value: assertion `VALID_ITER (iter, list_store)' failed at org.gnu.glib.GObject.printStackTrace(libgtkjava-2.8.so) at org.gnu.gtk.ListStore.gtk_list_store_set_value(libgtkjava-2.8.so) at frysk.gui.disassembler.DisassemblyWindow.refreshList(FryskGui) at frysk.gui.disassembler.DisassemblyWindow.handleFromSpin(FryskGui) at frysk.gui.disassembler.DisassemblyWindow$4.spinEvent(FryskGui) at org.gnu.gtk.SpinButton.fireSpinEvent(libgtkjava-2.8.so) at org.gnu.gtk.SpinButton.handleValueChanged(libgtkjava-2.8.so) at org.gnu.gtk.SpinButton.gtk_spin_button_set_value(libgtkjava-2.8.so) at frysk.gui.disassembler.DisassemblyWindow.resetPCAndList(FryskGui) at frysk.gui.disassembler.DisassemblyWindow$LockObserver$9.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) java.lang.NullPointerException at org.gnu.gtk.TreeIter.gtk_tree_model_iter_next(libgtkjava-2.8.so) at org.gnu.gtk.TreeIter.getNextIter(libgtkjava-2.8.so) at frysk.gui.disassembler.DisassemblyWindow.refreshList(FryskGui) at frysk.gui.disassembler.DisassemblyWindow.handleFromSpin(FryskGui) at frysk.gui.disassembler.DisassemblyWindow$4.spinEvent(FryskGui) at org.gnu.gtk.SpinButton.fireSpinEvent(libgtkjava-2.8.so) at org.gnu.gtk.SpinButton.handleValueChanged(libgtkjava-2.8.so) at org.gnu.gtk.SpinButton.gtk_spin_button_set_value(libgtkjava-2.8.so) at frysk.gui.disassembler.DisassemblyWindow.resetPCAndList(FryskGui) at frysk.gui.disassembler.DisassemblyWindow$LockObserver$9.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) *** glibc detected *** frysk-gui/frysk/gui/FryskGui: free(): invalid next size (fast): 0x000000000155c0f0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x2aaab1f2aa30] /lib64/libc.so.6(cfree+0x8c)[0x2aaab1f2e14c] /usr/lib64/libgcj.so.7rh[0x2aaab027f42f] /usr/lib64/libgcj.so.7rh[0x2aaab09b6b9a] /usr/lib64/ libgcj.so.7rh(_ZN3gnu3gcj7runtime15FinalizerThread3runEJvv+0x49)[0x2aaab026f829] /usr/lib64/ libgcj.so.7rh(_Z13_Jv_ThreadRunPN4java4lang6ThreadE+0x18)[0x2aaab027e738] /usr/lib64/libgcj.so.7rh[0x2aaab0284f77] /usr/lib64/libgcj.so.7rh[0x2aaab09c2a66] /lib64/libpthread.so.0[0x2aaab188a305] /lib64/libc.so.6(clone+0x6d)[0x2aaab1f8950d] ======= Memory map: ======== 00400000-0098f000 r-xp 00000000 08:06 518503 /home/ mcvet/workspace/build/frysk-gui/frysk/gui/FryskGui 00b8f000-00e46000 rw-p 0058f000 08:06 518503 /home/ mcvet/workspace/build/frysk-gui/frysk/gui/FryskGui 00e46000-01969000 rw-p 00e46000 00:00 0 [heap] 40000000-40001000 ---p 40000000 00:00 0 40001000-40a01000 rw-p 40001000 00:00 0 40a01000-40a02000 ---p 40a01000 00:00 0 40a02000-41402000 rw-p 40a02000 00:00 0 41402000-41403000 ---p 41402000 00:00 0 41403000-41e03000 rw-p 41403000 00:00 0 41e03000-41e06000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 41e06000-41e09000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 41e09000-41e0c000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 41e0c000-41e0f000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 41e0f000-41e12000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 41e12000-41e15000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 41e15000-41e18000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 41e18000-41e1b000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 41e1b000-41e1e000 r--p 00000000 08:06 159285 /home/ mcvet/stepper 2aaaaaaab000-2aaaaaac5000 r-xp 00000000 08:02 18223 /lib64/ ld-2.5.so 2aaaaaac5000-2aaaaaac7000 rw-p 2aaaaaac5000 00:00 0 2aaaaaac7000-2aaaaaad5000 r--p 00000000 08:02 189333 /usr/ share/icons/Clearlooks/icon-theme.cache 2aaaaaae6000-2aaaaaae7000 rw-p 2aaaaaae6000 00:00 0 2aaaaaae7000-2aaaaabe7000 rwxp 2aaaaaae7000 00:00 0 2aaaaac83000-2aaaaacbd000 r--p 00000000 08:02 238826 /usr/ share/fonts/dejavu-lgc/DejaVuLGCSansMono.ttf 2aaaaacc4000-2aaaaacc5000 r--p 00019000 08:02 18223 /lib64/ ld-2.5.so 2aaaaacc5000-2aaaaacc6000 rw-p 0001a000 08:02 18223 /lib64/ ld-2.5.so 2aaaaacc6000-2aaaaadac000 r-xp 00000000 08:02 20903 /usr/ lib64/libstdc++.so.6.0.8 2aaaaadac000-2aaaaafab000 ---p 000e6000 08:02 20903 /usr/ lib64/libstdc++.so.6.0.8 2aaaaafab000-2aaaaafb1000 r--p 000e5000 08:02 20903 /usr/ lib64/libstdc++.so.6.0.8 2aaaaafb1000-2aaaaafb4000 rw-p 000eb000 08:02 20903 /usr/ lib64/libstdc++.so.6.0.8 2aaaaafb4000-2aaaaafc6000 rw-p 2aaaaafb4000 00:00 0 2aaaaafc6000-2aaaaafe2000 r-xp 00000000 08:02 340908 /usr/ lib64/libgladejava-2.12.so 2aaaaafe2000-2aaaab1e2000 ---p 0001c000 08:02 340908 /usr/ lib64/libgladejava-2.12.so 2aaaab1e2000-2aaaab1eb000 rw-p 0001c000 08:02 340908 /usr/ lib64/libgladejava-2.12.so 2aaaab1eb000-2aaaab203000 r-xp 00000000 08:02 74288 /usr/ lib64/libglade-2.0.so.0.0.7 2aaaab203000-2aaaab402000 ---p 00018000 08:02 74288 /usr/ lib64/libglade-2.0.so.0.0.7 2aaaab402000-2aaaab404000 rw-p 00017000 08:02 74288 /usr/ lib64/libglade-2.0.so.0.0.7 2aaaab404000-2aaaab405000 rw-p 2aaaab404000 00:00 0 2aaaab405000-2aaaab539000 r-xp 00000000 08:02 22145 /usr/ lib64/libxml2.so.2.6.27 2aaaab539000-2aaaab739000 ---p 00134000 08:02 22145 /usr/ lib64/libxml2.so.2.6.27 2aaaab739000-2aaaab742000 rw-p 00134000 08:02 22145 /usr/ lib64/libxml2.so.2.6.27 2aaaab742000-2aaaab743000 rw-p 2aaaab742000 00:00 0 2aaaab743000-2aaaab760000 r-xp 00000000 08:02 83042 /usr/ lib64/libvtejava-0.12.so 2aaaab760000-2aaaab95f000 ---p 0001d000 08:02 83042 /usr/ lib64/libvtejava-0.12.so 2aaaab95f000-2aaaab965000 rw-p 0001c000 08:02 83042 /usr/ lib64/libvtejava-0.12.so 2aaaab965000-2aaaabe8e000 r-xp 00000000 08:02 193390 Aborted
frysk-gui/frysk/gui: 2007-04-27 Mike Cvet <mcvet@redhat.com> * disassembler/DisassemblyWindow.java (refreshLock): Added. Prevents event threads firing refresh requests simultaneously. Fixes #4433. (formatDialog.lifeCycleEvent): Removed refresh call. (fromSpin.spinEvent): Check refreshLock before refreshing. (toSpin.spinEvent): Ditto. (fromBox.entryEvent): Ditto. (toBox.entryEvent): Ditto. (resetTask): Set and unset refreshLock. (resetPCAndList): Ditto. (refreshList): Synchronized. Now uses global ListStore rather than grabbing the Store off of the View each time. Removed a redundant setValue() call. * memory/MemoryWindow.java (refreshLock): Added. Same as above. (formatDialog.lifeCycleEvent): Ditto. (fromSpin.spinEvent): Ditto. (toSpin.spinEvent): Ditto. (fromBox.entryEvent): Ditto. (toBox.entryEvent): Ditto. (resetTask): Ditto. (resetPCAndList): Ditto. (refreshList): Synchronized, uses global ListStore. frysk-gui/frysk/gui/srcwin: 2007-04-27 Mike Cvet <mcvet@redhat.com> * SourceWindow.java (currentStackChanged): Check the State of the new StackFrame's Task before updating any of the other windows.