Window Mouse crash.

From: William Love (love@bnl.gov)
Date: Thu Feb 25 1999 - 20:12:31 MET


  Fons
   Valery suggested you'd see where this problem is in a moment.
 I open my own canvas and plot an event (polylines and polymarkers
 and a small pad with text).  If, when I have returned to the root
 prompt, I move the mouse over this canvas I get a Bus error,
 apparently because EnterLeave is called with a prevSelObj which
 is non-zero but is not a legitimate object.

                                                Bill


 Track #36 33 hits
TPCtest   : Real Time =  20.65 seconds Cpu Time =   9.00 seconds
NULL
root [1] signal BUS (invalid address alignment) in TCanvas::EnterLeave at
line 638 in file "GPAD_Canvas.cxx"
  638         prevSelObj->ExecuteEvent(kMouseLeave, 0, 0);
(dbx) where
=>[1] TCanvas::EnterLeave(this = 0x29719d8, prevSelPad = 0x8000b0,
prevSelObj = 0x1e0011), line 638 in "GPAD_Canvas.cxx"
  [2] TCanvas::HandleInput(this = 0x29719d8, event = kMouseMotion, px = 549,
py = 571), line 791 in "GPAD_Canvas.cxx"
  [3] TRootCanvas::HandleContainerMotion(this = 0x2971bc0, event =
0xefffe51c), line 947 in "GUI_RootCanvas.cxx"
  [4] TRootContainer::HandleMotion(this = 0x2975bc0, ev = 0xefffe51c), line
181 in "GUI_RootCanvas.cxx"
  [5] TGFrame::HandleEvent(this = 0x2975bc0, event = 0xefffe51c), line 310
in "GUI_GFrame.cxx"
  [6] TGClient::HandleEvent(this = 0x13c2000, event = 0xefffe51c), line 826
in "GUI_GClient.cxx"
  [7] TGClient::ProcessOneEvent(this = 0x13c2000), line 728 in
"GUI_GClient.cxx"
  [8] TGClient::HandleInput(this = 0x13c2000), line 752 in "GUI_GClient.cxx"
  [9] TGInputHandler::Notify(this = 0x10d30b8), line 261 in
"GUI_GClient.cxx"
  [10] TUnixSystem::DispatchOneEvent(this = 0xf7aa10, pendingOnly = '\0'),
line 434 in "UNIX_UnixSystem.cxx"
  [11] TSystem::InnerLoop(this = 0xf7aa10), line 257 in "BASE_System.cxx"
  [12] TSystem::Run(this = 0xf7aa10), line 235 in "BASE_System.cxx"
  [13] TApplication::Run(this = 0x13c1f38, retrn = '\0'), line 609 in
"BASE_Application.cxx"
  [14] TRint::Run(this = 0x13c1f38, retrn = '\0'), line 237 in
"RINT_Rint.cxx"
  [15] main(argc = 1, argv = 0xefffeb6c), line 63 in "MAIN_rmain.cxx"
(dbx) p prevSelObj
prevSelObj = 0x1e0011
(dbx) l
  638         prevSelObj->ExecuteEvent(kMouseLeave, 0, 0);
  639      }
  640
  641      gPad = fSelectedPad;
  642
  643      if (fSelected)
  644         fSelected->ExecuteEvent(kMouseEnter, 0, 0);
  645
  646      gPad = padsav;
  647   }
(dbx) p gPad
gPad = 0x8000b0
(dbx) p gPad->GetName()
dbx: fetch at 0xa0 failed -- I/O error
dbx: cannot access address 0xa0 looking up virtual function
(dbx) l 630,650
  630      // selected object does not change.
  631
  632      if (prevSelObj == fSelected) return;
  633
  634      TPad *padsav = (TPad *)gPad;
  635
  636      if (prevSelObj) {
  637         gPad = prevSelPad;
  638         prevSelObj->ExecuteEvent(kMouseLeave, 0, 0);
  639      }
  640
  641      gPad = fSelectedPad;
  642
  643      if (fSelected)
  644         fSelected->ExecuteEvent(kMouseEnter, 0, 0);
  645
  646      gPad = padsav;
  647   }
  648
  649
//__________________________________________________________________________
____
  650   void TCanvas::ExecuteEvent(Int_t event, Int_t px, Int_t py)
(dbx) p padsav
padsav = 0x29719d8
(dbx) p padsav->GetName()
padsav->GetName() = 0x2973aac "m_TreeD"
(dbx) p fSelected
fSelected = 0x29719d8
(dbx) p fSelected->GetName()
fSelected->GetName() = 0x2973aac "m_TreeD"
(dbx)



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:29 MET