Hi Som, I met the same panic stack during configuration failure in my driver. But I am not sure if your problem is exactly same as mine. I am curious why it happens occasionally in your case. But I think that's a start point to position/debug the problem. Is it possible the configure routine failed by some reason occasionally?
I thought your implement dynamic enumeration by calling ndi_devi_online previously, but it seems your driver is not. Anyway, I guess before panic in mount root, your tran_bus_configure failed and return DDI_FAILURE. You can verify my guess by watching the return value of your tran_bus_configure by kmdb. If my above guess is correct. So after you invoke ndi_busop_bus_configure(), please trace the return value of your tran_tgt_init() and tran_tgt_probe() routine and watch the return value. Most likely your tran_tgt_probe() failed occasionally due to some werid situation in my mind. If you didn't implement tran_tgt_probe() routine by yourself, the SCSA will set scsi_hba_probe() as default. So you can trace the return value of scsi_hba_probe(). If scsi_hba_probe failed as well. That means at least *this time*, your IO met some problem to send inquiry...So you can do deeper investigation. Cheers Javen Somnath kotur wrote: >Javen, > Thank you once again, but one thing i do not >understand is if that is the case,then why does it >boot fine after the reboot ,i mean everytime there is >a panic ..the subsequent reboot that is initiated by >it always leads to a succesful boot ..(reboot from >this stage again leads to a panic ..alternating) > >my tran_bus_config() implementation just calls >ndi_busop_bus_config(parent, flags,op, arg, childp, 0) > => passing down the rest of the args as it is ..with >timeout of 0, you think that should be changed? > >Thanks >som > > > >--- Javen Wu <[EMAIL PROTECTED]> wrote: > > > >>During the boot phase, system would configure root >>device by >>BUS_CONFIG_ONE with the argument root device path. >>I don't know how you implement your >>tran_bus_config() routine, but you >>can trace or debug your implementation of >>tran_bus_config with >>BUS_CONFIG_ONE by kmdb. I think the panic could be >>caused by >>tran_bus_config failure during configuring root >>device. Another way to >>prove the point is I guess you invoked >>ndi_devi_online() in your >>tran_bus_config(), you can watch the return value of >>ndi_devi_online() >>during boot by kmdb. I suppose you used x86 system, >>%eax or %rax is the >>return value after you jump out the function by ":u" >>command in kmdb. >> >>Javen >> >> >>Javen Wu wrote: >> >> >> >>>Hi Som, >>> >>>I have met similar problem before. The root cause >>> >>> >>of my problem is the >> >> >>>root disk not being configured correctly. >>>Are you sure your boot disk(iSCSI target) was >>> >>> >>enumerated by your iscsi >> >> >>>initiator driver correctly and attached already? >>>You can use -k option to boot your system and when >>> >>> >>panic happen, the >> >> >>>system will enter kmdb directly. >>>Then you can use ::prtconf to check whether the dip >>> >>> >>node of your iSCSI >> >> >>>target under your initiator instance was generated >>> >>> >>and attached correctly. >> >> >>>Cheers >>>Javen >>> >>>Somnath kotur wrote: >>> >>> >>> >>> >>> >>>>Hi Juergen, >>>> I have a strange issue with the iscsi >>>>boot,whenever i do a 'reboot' after the iSCSI LUN >>>> >>>> >>boot >> >> >>>>has come up ,upon reboot ,the kernel panics at the >>>> >>>> >>1st >> >> >>>>stage with dump as below: ... it then >>>> >>>> >>automatically >> >> >>>>reboots and on the 2nd time ,the OS comes up >>>> >>>> >>properly >> >> >>>>without the panic ,am wondering if there is some >>>>simple explanation to this,like making some entry >>>> >>>> >>in a >> >> >>>>system file ? >>>> >>>> >>>> >>>###################################################### >>> >>> >>>>panic[cpu0]/thread=fffffffffbc21d00: cannot mount >>>> >>>> >>root >> >> >>>>path >>>> >>>>fffffffffbc44ab0 genunix:rootconf+0xea() >>>>fffffffffbc44ae0 genunix:vfs_mountroot+0x51() >>>>fffffffffbc44b20 genunix:main+0x86() >>>>0xfe800342(fe800000) >>>>kobj_init + 0x1c3(100ff88,..) >>>> >>>> >>>> >>>>skipping system dump - no dump device configured >>>>rebooting... >>>> >>>> >>>> >>>################################################### >>> >>> >>>>Thanks >>>>Som >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>--- Somnath kotur <[EMAIL PROTECTED]> wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>Hi Juergen/Javen, >>>>> Finally the issue got fixed last >>>>>night,iscsi boot is working !!! >>>>> The problem was that when the SCSA stack was >>>>>doing >>>>>a partial DMA and breaking a request into >>>>> >>>>> >>multiple >> >> >>>>>windows, my driver's pvt structure which has a >>>>> >>>>> >>field >> >> >>>>>called cdb_length was relying on the 'cmdlen' >>>>>parameter passed in tran_init_pkt() ,this >>>>> >>>>> >>parameter >> >> >>>>>happens to be set to '0' for all windows after >>>>> >>>>> >>the >> >> >>>>>first one. I am not sure if they expect us to >>>>> >>>>> >>pick >> >> >>>>>up >>>>>the cmdlen from the first window and use the same >>>>>for >>>>>the rest(which is how i worked around this) or is >>>>> >>>>> >>it >> >> >>>>>a >>>>>genuine bug ? >>>>> >>>>>I know that the opensolaris src code is different >>>>>from >>>>>the OS in the CD release, as the scsi_pkt >>>>> >>>>> >>structure >> >> >>>>>has changed and the cdb length is embedded in >>>>>it,hope >>>>>this behaviour is addressed in that? >>>>> >>>>>FINALLY having got it to work , i STILL see >>>>> >>>>> >>couple >> >> >>>>>of >>>>>issues though that havent gone >>>>> >>>>>the newfs/mkfs still gives the same error as >>>>> >>>>> >>before >> >> >>>>>. >>>>>and my install_log still gives errors as it was >>>>>giving >>>>>before on post installation...any ideas pls? >>>>> >>>>>I also see a strange behaviour in that when i >>>>>reboot,and just when grub is loading the >>>>> >>>>> >>kernel,the >> >> >>>>>system does a warm boot by itself and then the >>>>> >>>>> >>2nd >> >> >>>>>time around the acutal OS is booted into ..???? >>>>> >>>>> >>So >> >> >>>>>the >>>>>actual delta time b/n OS reboot and up time is >>>>>turning >>>>>out to be around 4-5 mins !! >>>>> >>>>>Thanks >>>>>Som >>>>> >>>>> >>>>> >>>>> >>>>>--- Somnath kotur <[EMAIL PROTECTED]> wrote: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>>Hi Juergen, >>>>>> The 2nd expt went fine, the network >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>trace >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>>showed that the i/o's were not really in >>>>>> >>>>>> >>parallel >> >> >>>>>>(rather async) >>>>>> >>>>>>The first expt of creating the ramdisk >>>>>> >>>>>> >>definitely >> >> >>>>>>recreated the issue,(tho there was no amd64 >>>>>>directory >>>>>>under i86pc) >>>>>> >>>>>>Saw some nearly 3200 commands being sent before >>>>>>initiator sent the task mgmt command to the >>>>>> >>>>>> >>target >> >> >>>>>> >>>>>> >>>>>>So definitely there is some problem with this >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>async >>>>> >>>>> >>>>> >>>>> >>>>> >=== message truncated === > > > > > ____________________________________________________________________________________ >Be a better friend, newshound, and >know-it-all with Yahoo! Mobile. Try it now. >http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > > > _______________________________________________ driver-discuss mailing list driver-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/driver-discuss