TechSpot

Blue Screen memory dump from JS on asps page?

By DIltron3000
Aug 15, 2007
  1. On my development machine, dell m90 running xp pro sp2, I run .aspx scripts trough iis 6.0 using sql server 2005 for a DB. I ran a simple script to register event attendees and my system crashed. The crash occurs as follows.

    If a user is in the DB, a javascript alert notifies them that they are already in the db. When they click 'ok' they are sent back to the form. This was working fine until yesterday. I noticed that the users were still being re-added to the DB. So, i was debugging and i ran it several times real fast (submit, ok, submit, ok etc) and after 7 times it went to a blue screen with a memory sharing violation notice. Now, after reboot the same thing happens every time i run the script.

    So, the JS fires for the user, they click 'ok' and the DB is updated (even thouggh I dont want it to be) by the rest of the aspx script and they are kicked back to the form at the same time.

    Can someone help pinpoint the problem and should I have dell send me a new machine, as I just got it a few weeks ago?

    CheckDSK and memtest come back clean.

    Below is all the info I have.


    The Script (some info omitted and the JS causing the problem in bold.)

    __________________________________________

    <%@ Page Language="VB" Debug="true" %>

    <%@ Import Namespace="System.Data.SqlClient" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.IO" %>
    <%@ Import Namespace="System.Web" %>

    <%

    'this is our connection string to the SQL server Db
    'This should be moved to an include function.
    Dim ConnString as String = "..conn string...;"

    'we do not have events in the events table yet wo we set this to 1 for ...
    Dim eventId as integer = 1
    'dim all the request vars from the form as strings
    Dim jobTitle as String = trim(request.form("jobTitle"))

    blah blah get the form vars


    'we are diming the var for the timestamp
    Dim regDate as DateTime = DateTime.Now()
    'dim the connection sting and open the conn to the DB
    Dim userConn As New SqlConnection(ConnString)
    userConn.Open()
    'We need a boolean var to trak the loop to search for users in the db, set to false from git go
    Dim blnRecords as Boolean = false
    'this var will be the sql statement
    Dim userSQL as String = "SELECT * FROM tableName WHERE first = '" & first & "' AND last = '" & last & "';"
    'execute the command
    Dim userCheck as New SqlCommand(userSQL, userConn)
    Dim userDataReader As SqlDataReader = userCheck.ExecuteReader
    'if the reader sees any users with criteria, flip the boolean to true
    WHILE userDataReader.read()
    blnRecords = true
    END WHILE
    'always close your datareader
    userDataReader.CLOSE
    'if we true then we need to alert the user and throw them back to the reg form
    IF blnRecords = true THEN
    %>
    <script language="javascript">
    alert("User has already been registered. Please check first and last name.")
    return.false
    history.go(-1)
    </script>
    <%ELSE

    END IF
    'if they are a unique user then add them to the db
    userSQL = "insert into tableName(vars) " & _
    "values(values);"


    Dim userCommand as New SqlCommand(userSQL, userConn)
    userCommand.ExecuteNonQuery()

    'close the connection to the db after execution
    userConn.close()
    'thank them for coming and close form window
    %>
    <script language="javascript">
    alert("Thank you for registering for blah blah!")
    window.close()
    </script>


    _______________________________________________

    The Error

    _______________________________________________

    BSOD with error code 1000008e, memory sharing violation.

    _______________________________________________

    The Event Log

    _________________________________________________


    The computer has rebooted from a bugcheck. The bugcheck was: 0x1000008e (0xc0000005, 0xbf8e5f91, 0xb60c2868, 0x00000000). A dump was saved in: C:\WINDOWS\Minidump\Mini081407-01.dmp.


    The windbg Analysis

    __________________________________________________

    Microsoft (R) Windows Debugger Version 6.7.0005.1
    Copyright (c) Microsoft Corporation. All rights reserved.


    Loading Dump File [C:\WINDOWS\Minidump\Mini081407-02.dmp]
    Mini Kernel Dump File: Only registers and stack trace are available

    Symbol search path is: C:\WINDOWS\Symbols
    Executable search path is:
    Unable to load image ntoskrnl.exe, Win32 error 0n2
    *** WARNING: Unable to verify timestamp for ntoskrnl.exe
    Windows XP Kernel Version 2600 (Service Pack 2) MP (2 procs) Free x86 compatible
    Product: WinNt, suite: TerminalServer SingleUserTS
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055c700
    Debug session time: Tue Aug 14 15:36:07.234 2007 (GMT-5)
    System Uptime: 0 days 0:14:10.960
    Unable to load image ntoskrnl.exe, Win32 error 0n2
    *** WARNING: Unable to verify timestamp for ntoskrnl.exe
    Loading Kernel Symbols
    ....................................................................................................................................................
    Loading User Symbols
    Loading unloaded module list
    ........
    Unable to load image win32k.sys, Win32 error 0n2
    *** WARNING: Unable to verify timestamp for win32k.sys
    *******************************************************************************
    * *
    * Bugcheck Analysis *
    * *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 1000008E, {c0000005, bf8e5f91, b511a868, 0}

    Probably caused by : win32k.sys ( win32k!NtGdiQueryFontAssocInfo+a5 )

    Followup: MachineOwner
    ---------

    0: kd> !analyze -v
    *******************************************************************************
    * *
    * Bugcheck Analysis *
    * *
    *******************************************************************************

    KERNEL_MODE_EXCEPTION_NOT_HANDLED_M (1000008e)
    This is a very common bugcheck. Usually the exception address pinpoints
    the driver/function that caused the problem. Always note this address
    as well as the link date of the driver/image that contains this address.
    Some common problems are exception code 0x80000003. This means a hard
    coded breakpoint or assertion was hit, but this system was booted
    /NODEBUG. This is not supposed to happen as developers should never have
    hardcoded breakpoints in retail code, but ...
    If this happens, make sure a debugger gets connected, and the
    system is booted /DEBUG. This will let us see why this breakpoint is
    happening.
    Arguments:
    Arg1: c0000005, The exception code that was not handled
    Arg2: bf8e5f91, The address that the exception occurred at
    Arg3: b511a868, Trap Frame
    Arg4: 00000000

    Debugging Details:
    ------------------


    EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s".

    FAULTING_IP:
    win32k!NtGdiQueryFontAssocInfo+a5
    bf8e5f91 8b5040 mov edx,dword ptr [eax+40h]

    TRAP_FRAME: b511a868 -- (.trap 0xffffffffb511a868)
    ErrCode = 00000000
    eax=00000000 ebx=00000001 ecx=00000b20 edx=0000000b esi=e10e7258 edi=00000005
    eip=bf8e5f91 esp=b511a8dc ebp=b511a8dc iopl=0 nv up ei pl zr na pe nc
    cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010246
    win32k!NtGdiQueryFontAssocInfo+0xa5:
    bf8e5f91 8b5040 mov edx,dword ptr [eax+40h] ds:0023:00000040=????????
    Resetting default scope

    CUSTOMER_CRASH_COUNT: 2

    DEFAULT_BUCKET_ID: DRIVER_FAULT

    BUGCHECK_STR: 0x8E

    PROCESS_NAME: SqlWb.exe

    LAST_CONTROL_TRANSFER: from bf816719 to bf8e5f91

    STACK_TEXT:
    b511a8dc bf816719 1c0110c8 b511a910 0012ea78 win32k!NtGdiQueryFontAssocInfo+0xa5
    b511a920 805409ac 1c0110c8 e10e7258 00000004 win32k!DefSetText+0xa1
    b511a934 7c90eb94 badb0d00 0012ea6c 00b4b4b4 nt!RtlIpv6StringToAddressW+0xe9
    WARNING: Frame IP not in any known module. Following frames may be wrong.
    b511a944 00000000 00000000 00000000 00000000 0x7c90eb94


    STACK_COMMAND: kb

    FOLLOWUP_IP:
    win32k!NtGdiQueryFontAssocInfo+a5
    bf8e5f91 8b5040 mov edx,dword ptr [eax+40h]

    SYMBOL_STACK_INDEX: 0

    FOLLOWUP_NAME: MachineOwner

    MODULE_NAME: win32k

    IMAGE_NAME: win32k.sys

    DEBUG_FLR_IMAGE_TIMESTAMP: 45f013f6

    SYMBOL_NAME: win32k!NtGdiQueryFontAssocInfo+a5

    FAILURE_BUCKET_ID: 0x8E_win32k!NtGdiQueryFontAssocInfo+a5

    BUCKET_ID: 0x8E_win32k!NtGdiQueryFontAssocInfo+a5

    Followup: MachineOwner
     
  2. DIltron3000

    DIltron3000 TS Rookie Topic Starter

    opps title should be aspx but you prob figured that out. THanks
     
Topic Status:
Not open for further replies.

Similar Topics

Add New Comment

You need to be a member to leave a comment. Join thousands of tech enthusiasts and participate.
TechSpot Account You may also...