[haiku-bugs] Re: [Haiku] #15016: KDL (network related) when booting on a Hades Canyon NUC8.

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 19 May 2019 15:03:25 -0000

#15016: KDL (network related) when booting on a Hades Canyon NUC8.
----------------------------------------+----------------------------
   Reporter:  bga                       |      Owner:  nobody
       Type:  bug                       |     Status:  new
   Priority:  normal                    |  Milestone:  Unscheduled
  Component:  Drivers/Network/ipro1000  |    Version:  R1/Development
 Resolution:                            |   Keywords:
 Blocked By:                            |   Blocking:
Has a Patch:  0                         |   Platform:  All
----------------------------------------+----------------------------

Comment (by bga):

 I switched back to a single card just because it goes further (and also, a
 crash tends to be easier to track than a hang.

 I added some debug and confirmed that the problem is simply that the data
 the code is trying to access is either not initialized or has been deleted
 under the hood. Basically the process seems to be something like this:

 1 - Device is setup and added to gDevices. At this point, everything that
 is needed is there.
 2 - compat_open() is called for the device in question (by iterating
 through gDevices and obtaining the device that was setup above).
 3 - At this point, the required data is not there anymore. For one thing,
 the spinlock it tries to acquire in iflib_if_init() has trash (confirmed
 by trying to print the spinlock name and getting a segment violation).

 My current theory is that at some point between 1 and 2, data is being
 deleted/overwritten for some reason. The data in question must be
 gDevices[n]->if_softc, which is supposed to be the driver state. Any
 insights?

-- 
Ticket URL: <https://dev.haiku-os.org/ticket/15016#comment:37>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: