NetTalk Central

Author Topic: GPF in _SetView method's OnDefault Routine  (Read 2143 times)

Larry Sand

  • Full Member
  • ***
  • Posts: 101
    • View Profile
GPF in _SetView method's OnDefault Routine
« on: April 07, 2013, 11:10:18 AM »
I traced a GPF using NTWS 7.07 to the NetWebServerWorker._SetView method in the OnDefault Routine's call to the SetPrevDis routine. 

This only happens where there are a number of threads concurrently accessing the code.  This happened with a View and the view must also take some time to process the previous() call.  In my test case there is an IMDD table with about 13000 records and the view is joined with another IMDD that has a result set of 20 records. The threads were started by holding down the F5 key to refresh the page.

However, by wrapping OnDefault's calls in the critical section the code executes normally.

If pos <> '' and (loc:sortOrderChanged = 0 or p_file{prop:sqldriver} = 0)   
  self._Wait()
  do SetPrevDis ! check to see if there are any _earlier_ records. If not then disable Previous button.
  self.ResetPosition(p_View,pos)
  self._Release()
Else
  ...


That's as far as I got in tracking it down.

Thanks,
Larry Sand

Larry Sand

  • Full Member
  • ***
  • Posts: 101
    • View Profile
Re: GPF in _SetView method's OnDefault Routine
« Reply #1 on: June 26, 2013, 01:52:09 PM »
Comments?

Bruce

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 11193
    • View Profile
Re: GPF in _SetView method's OnDefault Routine
« Reply #2 on: June 26, 2013, 09:08:12 PM »
There's not a whole lot to go on here Larry. From the description I think you're saying that all the tables are IMDD tables?
Do you have a GPF Report I can see? Or perhaps an example I can run?

At a guess it looks like you've found something in the IMDD driver which is not thread-safe, but without an example it's very hard to confirm that - or to test with various versions of the driver, or to create (and test) a work-around.

There's not explicitly wrong with your tweak to the code, and indeed that may be the best option in the long term, but it may, or may not, be the best solution to the problem. From this side it's hard to say.

cheers
Bruce

Larry Sand

  • Full Member
  • ***
  • Posts: 101
    • View Profile
Re: GPF in _SetView method's OnDefault Routine
« Reply #3 on: June 27, 2013, 03:23:22 AM »
Thanks for the information Bruce, It might be the IMDD driver, I don't know yet and was trying to isolate the cause.  It's good to know that you think that wrapping that bit in the critical section doesn't cause a problem.

cheers,
Larry Sand