[haiku-bugs] Re: [Haiku] #12721: "filepanel" crashes on certain key-combos

  • From: "pulkomandy" <trac@xxxxxxxxxxxx>
  • Date: Tue, 18 Oct 2016 07:29:57 -0000

#12721: "filepanel" crashes on certain key-combos
----------------------------------+----------------------------
   Reporter:  humdinger           |      Owner:  nobody
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  R1
  Component:  Kits/libtracker.so  |    Version:  R1/Development
 Resolution:                      |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  All
----------------------------------+----------------------------

Comment (by pulkomandy):

 More precisely, it seems there is an infinite recursion of this sequence:

 {{{
 959             0x7056be40  0x19b5596
 BPrivate::BContainerWindow::MessageReceived(BMessage*) + 0x1ba
 960             0x7056bf90  0x19f4d0b
 BPrivate::TFilePanel::MessageReceived(BMessage*) + 0xa67
 961             0x7056c080  0x1c382b7
 BHandler::MessageReceived(BMessage*) + 0x37b
 962             0x7056c1a0  0x1d1d58f   BView::MessageReceived(BMessage*)
 + 0x33b
 963             0x7056c290  0x1c382b7
 BHandler::MessageReceived(BMessage*) + 0x37b
 964             0x7056c3b0  0x1d1d58f   BView::MessageReceived(BMessage*)
 + 0x33b
 965             0x7056c4a0  0x1c382b7
 BHandler::MessageReceived(BMessage*) + 0x37b
 966             0x7056c5c0  0x1d1d58f   BView::MessageReceived(BMessage*)
 + 0x33b
 967             0x7056c6a0  0x1c81d1c
 BControl::MessageReceived(BMessage*) + 0x300
 968             0x7056c780  0x1cfb71c
 BTextControl::MessageReceived(BMessage*) + 0x290
 969             0x7056c870  0x1c382b7
 BHandler::MessageReceived(BMessage*) + 0x37b
 970             0x7056c990  0x1d1d58f   BView::MessageReceived(BMessage*)
 + 0x33b
 971             0x7056caa0  0x1d00ff7
 BTextView::MessageReceived(BMessage*) + 0x84b
 972             0x7056cc00  0x19b5596
 BPrivate::BContainerWindow::MessageReceived(BMessage*) + 0x1ba
 }}}

 It looks like:
  * Message is dispatched to a BTextView (971)
  * The BTextView does not handle it, so it propagates up to BHandler (965)
  * BHandler tries to propagate the message to the next handler (964)
 [https://www.haiku-os.org/legacy-
 
docs/bebook/TheApplicationKit_Messaging.html#TheApplicationKit_Messaging_Inheritance]
  * After a few hops through the handler chain, we end up in
 BPrivate::TFilePanel::MessageReceived and the message is dispatched to the
 window again, restarting the cycle.

--
Ticket URL: <https://dev.haiku-os.org/ticket/12721#comment:3>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: