Windows 7 – BSOD – Windows 7 x64 nvlddmkm.sys + dxgkrnl.sys + dxgmms1.sys


Updated on: 05th March 2013



Looks like the Nvidia version 311.06 (obtained through Windows update method, WHQL) is the most stable driver as on date on Windows 8

How to?

Uninstall all nvidia software

Using driversweeper in safe mode, remove all possible files for Nvidia from your box

Use CCleaner in safe mode to remove references from the registry

Reboot to normal mode

Go to device manager, right click on the display adaptor and let windows download and install the driver, using driver update node


Most probably you will be asked to restart after the driver update (311.06). Once restarted, do the driver upgrade for HD Audio as well.

Download and install the latest edition of Physx from NVIDIA site (if required)

That’s all folks, we hope you will get rid of 90% of BSOD, “Driver stopped responding and has recovered” from then onwards.


Updated on: 9th February 2013

Good news for few out there! We are on 310.90 from last three days without a single lockout or BSOD

Following exercises were performed

  1. Disabled automatic driver download for devices.
  2. Uninstalled the NVidia drivers from programs and features
  3. Used “DriverSweeper” in safe mode to remove all entries for NVIDIA driver, physx etc. You can restart the Windows 8 box in safe mode through msconfig, have a look at this image. Do not forget to change the boot mode back to Normal once cleaning stuff are done Smile
  4. image
  5. Used CCleaner to remove whatever was left with Registry
  6. Done a clean installation of 310.90

After 72 hours, the box is still intact without experiencing any kind of commonly experienced lockouts(blank screens) or BSOD.

Note: Please do not under estimate the importance of having a strong PSU to support the box.

Cheers guys, we are wrapping up this month long test with definite positive results.


Updated on: 4th February 2013

We tried NVidia driver version 310.90, by custom installing only graphic driver. Within the first 40 minutes, during each wakeup from sleeps, this windows 8 box crashed, causing BSODs



The only version of NVidia driver not causing BSOD after a long sleep/hibernate is 306.97 installed by Windows

The full package of NVidia 306.97 downloaded from NVidia site crashes miserably during the same sleep/hibernate test(s)

Not a very good news for gamers, 3D enthusiastic right?



Updated on: 03rd February 2013

NVidia driver bundle installs a bunch of software like

  1. Physx engine
  2. Update
  3. HD Audio driver (HDMI enabled boards)
  4. Audio driver
  5. 3D Driver

and a BSOD could be caused by one of these, identifying the exact culprit?

Out of curiosity, we updated the driver to 310.90. The clean installation removed the existing 306.97 Display driver and installed the latest and the BSODs returned almost instantly.

Uninstalled all the software installed by NVidia driver package and restarted the box, Windows does a default driver installation, following the prompt, restarted the box.

306.97 version driver installed with control panel. No more additional software and after 8 hours of sleep, box came alive instantly.


Next course of action:

Going to install 310.90 package once again, this time only the graphics driver and see whether the issues were with graphics driver or other drivers installed by the package.


Updated on: 27th January 2013

Never stop experimenting. The major BSODs we experienced were during a wakeup, which exceeds few hours of sleep. The doubts were shifting from faulty GPU to memory sticks to HDDs etc..

We never thought the PSU could be a reason, as the PSU was 600W with a decent +12V/24A rating. Actually for GT 520 2G GPU which was plugged to a computer with following configuration, the PSU was too weak to meet the power demands

4x4GB memory sticks
3 Different sized SATA Drives attached

466GB Seagate ST500DM002-1BD142 (SATA)
1863GB Seagate ST2000DM001-9YN164 (SATA)
75GB Western Digital WDC WD800JD-60LUA0 (SATA)

1 External terra station
3 NICs :D
A Bluetooth adaptor
2 DVD Drives
1 logitech 720P webcam
1 ThermalTake chasis fan
2 USB expanders

Not bad, right? :)

To come to the conclusion that the power supply was not adequate enough, we used the following exercise

  1. Replaced the GT 520 GPU with less power hungry GT 210 (1GB) GPU. Computer was left alone under sleeps exceeding 24 hours and while a wakeup initiated, the responses were instant.
  2. Moved the GT 520 GPU (2GB) to a Windows XP Box, almost bare metal one with single HDD, Motherboard and a DVD Drive. Results were excellent. No BSOD while a wakeup.
  3. Scanning dozens discussions dealing with “nvlddmkm.sys + dxgkrnl.sys + dxgmms1.sys”, hardly any explained anything about inadequate power being a major culprit (besides numerous other reasons), however a guess work and the instinct has forced us to come to an answer that, the power insufficiency could be the reason BSOD in our case.
  4. We are not hardware geeks, however putting stuff in place, we made a sequence for the waking up process for our box from a sleep
  5. Keyboard tap or mouse movement triggers the wakeup process
  6. Motherboard is pumped in with current, followed by HDDs and other attached devices to support the OS and the state of OS while it entered into the sleep mode
  7. Finally, once the OS is ready to send the output to the GPU, GPU doesn’t have adequate amount of power to start, thus causing errors which were interpreted like driver crashes, IRQ errors which are not at all relevant to the actual reasons.


We were able to get rid of those BSODs by replacing the PSU with a higher capacity one and by installing the NVidia drivers provided by Windows updates

Following are the suggested exercises for you, if you are a victim of BSODs caused by NVIDIA GPUs


Check your PSU (Power supply unit). Are you plugging your new GPU to an age old PSU with maximum 240W output?

Whats your +12v AMPS? Is it anywhere above 24Amps? Other than the GPU what else is plugged onto your case? Number of HDDs, Number of NICs?

If your PSU is old, its time for a new one. Go to following link and do a math yourself to find out the approximate Wattage you need for your puter

(Few Geeks suggest Corsair make the best PSUs, we are using XFX one though, whichever, none of them are very cheap)

Whichever brand you choose, please make sure you are going for a PSU which supplies 600W minimum and if you can afford, 850W could be optimum with +12V amps nothing less than 40A

(XFX PRO850W has +12V/70A which should be more than sufficient for a moderate gaming box)


Now, get back to your Windows 7/8. Uninstall the NVIDIA supplied drivers completely.

Restart the box, wait for windows to re-install the WDM 1.2 drivers. Right click and update the drivers using Windows update

Keep the box on for minimum couple of days, giving it sufficient stress by

Gaming for minimum couple of hours

Keep the box idle(sleep) for minimum 6-7 hours (usually after this much of idle time, the box must crash while trying to wake up). Make sure the power settings are configured as “balanced”

Try it, keep us posted :)

Go through this thread if you are eager to see how much time we spent to come to the conclusion that, most of the BSODs related to Nvidia GPUs/drivers are due to lack of sufficient power.



If it doesn’t work, you have near perfect solution forwarded by Michael 


A perfectly working solution: Tested for 4*24hrs already

The following set of instructions were forwarded by a visitor, Michael and the same is tested under following conditions

  1. Windows 8 Pro 64bit
  2. nVidia GT520 2Gb with 310.70

Power settings

power settings

I found 100% working solution for serious after 2 months of searching. Disadvantage – lower performance with 5-10%
My solution :
1. Download Nvidia control panel performance that allows u to change graphic clock speed from official site.
2. Install it
3. Open the new Nvidia Control panel
4. Enter in performance settings
5. Select “I agree” to open overclocking settings.
6. Decrease the GPU clock (Ex from 672 MHZ change to 550 MHZ and memory clock from 800 to 850 MHZ (this are my settings))

Our TEST experience: No BSOD were experienced once after the GPU,Memory clock speed were reduced. However, we didn’t try any gaming scenarios. Now everything is overclocked :), So??? It’s your call.

–Actual Post

You experience regular BSOD (blue screen of death) with your Windows 7 box, with a nVidia display card

BSOD scenarios long idle time, running huge games etc

This link beautifully explains how to resolve this issue (Post #2)

In our case all we needed was to download the “Direct X” components (

Give it a try folks

for Windows7bugs


How to Drill down to Oracle Flexfield details?


Oracle provides the extendibility of it’s e-business suite data capturing through set of attribute columns with seeded tables. according to the business requirements, implementers will use one more more columns for additional data capturing. Registering flexfields could be quite interesting and challenging depending upon the actual scenarios. please find below how one could view the details of already registered/defined/compiled flexfield details.


As Application Developer (N)-> Flexfields->descriptive->Register


And query by table name (eg: PO_HEADERS_ALL)


Once the title of the Descriptive flexfield collected, ( N ) –> Flexfields->Descriptive –>Segments



Click on segments for details of ATTRIBUTE column mappings, list of value attached etc



We hope you enjoyed this document.

For Windows7bugs


Oracle Descriptive flexfields, hands-on training


(This document was prepared from a blog/website entry and unfortunately the actual link was not copied while we made a local document, if you are the original author of this article, please contact us and we will add the document credits to you)


A training article on Descriptive flexfields, also refered as DFF

First some basic Question and answers, and then we will do screenshots detailing how flexfields are configured.
Question: What does DFF mean?
Answer: DFF is a mechanism that lets us create new fields in screens that are delivered by Oracle.
Question: Oh good, but can these new fields be added without modifying/customization of the screen?.
Answer: Yes, certainly. Only some setup is needed, but no programmatic change is needed to setup DFF.
Question: Why the word Descriptive in Name DFF?
Answer: I think Oracle used this terminology because by means of setup…you are describing the structure of these new fields. Or may be Oracle simply used a silly word to distinguish DFF from KFF(discussed in latter training lesson).
Question: Are these DFF’s flexible?
Answer: A little flexible, for example, depending upon the value in a field, we can make either Field1 or Field2 to appear in DFF.
Question: So we create new fields in existing screen, but why the need of doing so?
Answer: Oracle delivers a standard set of fields for each screen, but different customers have different needs, hence Oracle lets us create new fields to the screen.
Question: Are these new fields that get created as a result of DFF free text?
I mean, can end user enter any junk into the new fields that are added via DFF?
Answer: If you attach a value set to the field(at time of setup of dff), then field will no longer be free text. The entered value in the field will be validated, also a list of valid values will be provided in LOV.
Question : Will the values that get entered by the user in dff fields be updated to database?
Answer: Indeed, this happens because for each field that you create using DFF will be mapped to a column in Oracle Applications.
Question: Can I create a DFF on any database column?
Answer: Not really. Oracle delivers a predefined list of columns for each table that are meant for DFF usage. Only those columns can be mapped to DFF segments. These columns are named similar to ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3 ETC. Usually Oracle provides upto 15 columns, but this number can vary.
Question: Can I add hundreds of fields to a given screen?
Answer: This depends on the number of attribute columns in the table that screen uses. Also, those columns must be flagged as DFF enabled in DFF Registration screen. Don’t need to worry much about this because all the ATTRIBUTE columns are by default flagged for their DFF usage.
Question: Hmmm, I can see that DFFs are related to table and columns…
Answer: Yes correct. Each DFF is mapped to one table. And also each segment(or call it field) is mapped to one of the attribute columns in that table.
Question: I want these fields to appear in screen only when certain conditions are met. Is it possible?
Answer: Yes, we have something known as Context Sensitive Descriptive Flexfields.
In Order to do this, we will follow the below steps(screenshots will follow) :-
1. Navigate to the DFF Registration screen in Oracle Apps and query on Table AP_BANK_BRANCES. Now click on Reference Field
2. Navigate to DFF Segments screen and query on the Title of the “Bank Branch” and Unfreeze the Flexfield and add segments as to Section “GLOBAL Data Elements” as shown in screenshots.

Here are the screenshots……The descriptions are embedded within the screenshots.
We are in “Bank Branches screen” below, that is available in Payables responsibility. We need to add a new field as below.
Once having noted down the table, we try to find the Title of the DFF for that Table. We go to Flexfield/Register
Here we pick the Title of the respective DFF
Query on that DFF Title from Descriptive Flexfield Segment Screen
Add a new segment under “Global Data Elements”
The options for making mandatory or enabling validations for the new field.

Once you finalize the changes, you will be prompted to Freeze the DFF definition. Click on OK
Now, we see the fruits of our configuration

for Windows7bugs


Oracle Application “Position Hierarchy SQL Query”


If you are asked to make a report for listing the elements with a named Position Hierarchy, it could quite difficult because of the complexity with the way Oracle is maintaining the position hierarchies. please find below a practical solution to this requirement

Step 1

Create a view

SELECT pps.NAME, LPAD (' ', 5 * LEVEL) || has.NAME hierarchy, has.position_id,LEVEL rep_level,
hap.NAME parent_name, pse.parent_position_id, has.NAME child_name,
FROM (SELECT NAME, position_id
FROM hr_all_positions_f_tl
(SELECT NAME, position_id
FROM hr_all_positions_f_tl
per_pos_structure_elements pse,
per_pos_structure_versions pve,
per_position_structures pps
WHERE pse.business_group_id = 81 --Replace with your own business group id
AND pve.position_structure_id = pps.position_structure_id
AND sysdate between pve.date_from and NVL(pve.date_to, sysdate)
AND hap.position_id = pse.parent_position_id
AND has.position_id = pse.subordinate_position_id
start with pse.parent_position_id = 
(SELECT parent_position_id FROM per_pos_structure_elements a
WHERE A.POS_STRUCTURE_VERSION_ID = pse.pos_structure_version_id
CONNECT BY PRIOR pse.subordinate_position_id = pse.parent_position_id
AND PRIOR pse.pos_structure_version_id = pse.pos_structure_version_id
AND PRIOR pse.business_group_id = pse.business_group_id;

Now from the view above, you can easily populate the reporting structure using the following query (including the positions, employee names etc)

Select 0 rnum, opv.parent_name position_effective, 0 rep_level, paaf.person_id, papf.full_name,
opv.parent_position_id, hierarchy_name
from XXPOSHIERARCHY_V opv, per_all_assignments_f paaf,
per_all_people_f  papf
and paaf.position_id = opv.parent_position_id
and papf.person_id = paaf.person_id
and sysdate between paaf.effective_start_date and nvl(paaf.effective_end_date, sysdate)
and sysdate between papf.effective_start_date and nvl(papf.effective_end_date, sysdate)
and rep_level = 1
Select ROWNUM rnum, opv.hierarchy, opv.rep_level, paaf.person_id, papf.full_name,
from XXPOSHIERARCHY_V opv, per_all_assignments_f paaf,
per_all_people_f  papf
and paaf.position_id = opv.position_id
and papf.person_id = paaf.person_id
and sysdate between paaf.effective_start_date and nvl(paaf.effective_end_date, sysdate)
and sysdate between papf.effective_start_date and nvl(papf.effective_end_date, sysdate)
order by 1;

Adding rownum along with the query will provide you the flexibility to maintain the rpad -ed position names intact while retrieving a particular position hierarchy details.

In order to make the entire reporting dynamic we have created a PL/SQL sequence, populating all hierarchies into a local table. Please find the logic below

  RNUM                NUMBER,
  REP_LEVEL           NUMBER,
  PERSON_ID           NUMBER(10),
  FULL_NAME           VARCHAR2(240 BYTE),

and by executing the below PL/SQL sequence populate the table one time prior the report ran (please do not forget to truncate the table prior each report run!)



   CURSOR c1
        SELECT DISTINCT name hierarchy_name
   FOR i IN C1
      DBMS_OUTPUT.PUT_LINE (i.hierarchy_name);

         SELECT 0 rnum,
                opv.parent_name position_effective,
                0 rep_level,
                per_all_assignments_f paaf,
                per_all_people_f papf
          WHERE     NAME = i.hierarchy_name
                AND paaf.position_id = opv.parent_position_id
                AND papf.person_id = paaf.person_id
                AND SYSDATE BETWEEN paaf.effective_start_date
                                AND NVL (paaf.effective_end_date, SYSDATE)
                AND SYSDATE BETWEEN papf.effective_start_date
                                AND NVL (papf.effective_end_date, SYSDATE)
                AND rep_level = 1
         UNION ALL
         SELECT ROWNUM rnum,
                per_all_assignments_f paaf,
                per_all_people_f papf
          WHERE     NAME = i.hierarchy_name
                AND paaf.position_id = opv.position_id
                AND papf.person_id = paaf.person_id
                AND SYSDATE BETWEEN paaf.effective_start_date
                                AND NVL (paaf.effective_end_date, SYSDATE)
                AND SYSDATE BETWEEN papf.effective_start_date
                                AND NVL (papf.effective_end_date, SYSDATE);


We hope this thread is useful for you

For Windows7bugs,


IDS Systems Pvt Ltd, a place where you should learn Oracle technologies


Ok guys, we are doing a promotion for IDS Systems PVT Ltd, Bangalore, India (details here

We just had a supply chain management functional (followed by technical briefing) from IDS Systems PVT Ltd and confirm this institution provide anybody a high quality learning experience and exceed the expectations at any point of time.

IDS Systems PVT Ltd is located in the heart of Bangalore city, off Richmond road, Brigade area. Trainings could be arranged through Mr. Satish T.S. Please check IDS Systems PVT Ltd’s website for contact details

IDS Systems PVT Ltd has classrooms equipped with right setups, providing the participants adequate and excellent exposure towards whichever the training they are undertaking (Please visit their website for testimonials)

Few images from the institution



This is the first time we are promoting any institution in particular through our blog and doing the same in order to express our gratitude towards the excellent experience provided by IDS.


for Windows7bugs


Oracle Applications R12, Creating Sales orders against item(s) with Serial Control @ “At Sales Order Issue” attribute


Please find instructions explaining Creating Sales Orders against inventory items with “At Sales Order Issue” attribute

Defining Inventory Attributes


Once the item created, assign the item to Organizations wherever the item would be used for pre-determined business requirements

Switch to Order Management Responsibility and start creating a Sales order for the item you defined above


Book the order and note down the Sales Order Number for Shipping Transaction

Navigate to Shipping Transactions form


Find your Sales Order Details using “Query Manager”




Verify the details and make sure the “pick status” information message as “Ready to Release”

From Actions dropdown menu select “Launch pick release” and press the “Go” button. This will submit the concurrent program “Pick Selection List Generation”. Wait until the concurrent program completed successfully.


Once the concurrent program completed successfully, re-query the sales order using “Query Manager”

Scroll to right and locate the column “Shipped Quantity”. Click on Tools menu and check whether the Serial Numbers menu option is yet enabled, it shouldn’t be…


Now enter the desired quantity in the “Shipped Quantity” column and save the transaction, which will turn the “Backorder Quantity” column mandatory.


Recheck whether the “Serial Numbers” menu option under “Tools” menu has been enabled for populating serial numbers for the item.


The menu option should be enabled for you now, click on “Serial Numbers” menu option and proceed towards generating Serial Numbers for the item.


(Enter the starting serial number and system will populate the end serial number based on the Shipped Quantity you provided in the above step)

Click the “Done” button if everything seems fine and save the transaction.

Click on “Delivery” Sub-Tab and Click on “Ship Confirm” which will popup another window


Accept/Modify according to your specific business requirements and click the “Ok” button


Confirm whether the message states the delivery was successful, if not start investigating the issues. On successful delivery, recall the Sales order and check the line status, it must be “Shipped”


For Windows7bugs,