[haiku-bugs] [Haiku] #6916: [USBTransport] BUSBRoster pure virtual method called on destruction

  • From: "korli" <trac@xxxxxxxxxxxx>
  • Date: Thu, 25 Nov 2010 23:30:22 -0000

#6916: [USBTransport] BUSBRoster pure virtual method called on destruction
-------------------------------+-----------------------------
   Reporter:  korli            |       Owner:  nobody
       Type:  bug              |      Status:  new
   Priority:  normal           |   Milestone:  R1
  Component:  Kits/Device Kit  |     Version:  R1/Development
   Keywords:  usb_transport    |  Blocked By:
Has a Patch:  0                |    Platform:  All
   Blocking:                   |
-------------------------------+-----------------------------
 WatchedEntry::~WatchedEntry () calls a method in BUSBRoster which is being
 destroyed, hence the pure virtual method call.

 {{{
 Thread 137 called debugger(): pure virtual method called

 [Switching to team /boot/system/servers/print_server (137) thread
 print_server (137)]
 0xffff0114 in ?? ()
 (gdb) bt
 #0  0xffff0114 in ?? ()
 #1  0x0024f7fe in debugger () from /boot/system/lib/libroot.so
 #2  0x0024bb7a in __pure_virtual () from /boot/system/lib/libroot.so
 #3  0x01ab2d77 in WatchedEntry::~WatchedEntry ()
    from /boot/system/lib/libdevice.so
 #4  0x01ab2d52 in WatchedEntry::~WatchedEntry ()
    from /boot/system/lib/libdevice.so
 #5  0x01ab2d52 in WatchedEntry::~WatchedEntry ()
    from /boot/system/lib/libdevice.so
 #6  0x01ab3314 in RosterLooper::Stop () from /boot/system/lib/libdevice.so
 #7  0x01ab3632 in BUSBRoster::Stop () from /boot/system/lib/libdevice.so
 #8  0x01ab350d in BUSBRoster::~BUSBRoster () from
 /boot/system/lib/libdevice.so
 #9  0x01aa56fb in __static_initialization_and_destruction_0 ()
    from /boot/system/add-ons/Print/transport/USB Port
 #10 0x01aa5752 in global destructors keyed to transport_features ()
    from /boot/system/add-ons/Print/transport/USB Port
 #11 0x01aa4637 in __do_global_dtors_aux ()
    from /boot/system/add-ons/Print/transport/USB Port
 #12 0x01aa6830 in _fini () from /boot/system/add-ons/Print/transport/USB
 Port
 #13 0x0010183f in terminate_program () from /boot/system/runtime_loader
 #14 0x002be0fc in exit () from /boot/system/lib/libroot.so
 #15 0x0020ea3c in _start ()
 #16 0x00105d56 in runtime_loader () from /boot/system/runtime_loader
 #17 0x7ffeefec in ?? ()
 }}}

 BUSBRoster::Stop() should only be called before destruction.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/6916>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: