Windows BSOD (Blue Screen of Death)

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Post Reply
MutterOberin
Posts: 6
Joined: Mon Jan 25, 2016 1:30 pm

Windows BSOD (Blue Screen of Death)

Post by MutterOberin »

Hey!

I have implemented SpaceMouse support in my application running (C# 4.6 + WinForms) a while back. Its based on the SDK and uses a wrapper for the "siappdll". Was working fine. I switched to Windows 10 now and can observe the following:

When running my app and listening to the Messages and then lock my machine with [Windows] + [L] it results in BSOD. Same is true for plugging in / out the space mouse while running the software.

I am confused! Can anyone help here?

Another question: I have seen people getting information from the SpaceMouse without using the driver. Its registered as HID by Windows and they can still get all axis and buttons. How does that work?

Code for listening to the device:

Code: Select all

protected override void OnNotifyMessage(Message msg)
        {
            SiApp.SiGetEventWinInit(ref this.dev_evt_data, msg.Msg, msg.WParam, msg.LParam);

            SiApp.SiSpwEvent_SpwData data_spw = new SiApp.SiSpwEvent_SpwData();

            IntPtr type = Marshal.AllocHGlobal(Marshal.SizeOf(data_spw));

            this.dev_value = SiApp.SiGetEvent(this.dev_hdl, SiApp.SI_AVERAGE_EVENTS, ref this.dev_evt_data, type);

            data_spw = (SiApp.SiSpwEvent_SpwData)Marshal.PtrToStructure(type, typeof(SiApp.SiSpwEvent_SpwData));
            data_spw = (SiApp.SiSpwEvent_SpwData)Marshal.PtrToStructure(type, typeof(SiApp.SiSpwEvent_SpwData));

            if (dev_value == SiApp.SpwRetVal.SI_IS_EVENT)
            {
                if (data_spw.type == SiApp.SiEventType.SI_ZERO_EVENT)
                    this.Handle_Events_Zero();

                if (data_spw.type == SiApp.SiEventType.SI_MOTION_EVENT)
                    this.Handle_Events_Motion(ref data_spw);

                if (data_spw.type == SiApp.SiEventType.SI_BUTTON_EVENT)
                    this.Handle_Events_Button(ref data_spw);
            }

            //Util.ConsoleWriteLineColor("-> Space Control:\tEvent: " + evt.type.ToString(), Util_OutputType.Text);

            Marshal.FreeHGlobal(type);
        }
UtaSH
Moderator
Moderator
Posts: 3754
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Re: Windows BSOD (Blue Screen of Death)

Post by UtaSH »

Hello MutterOberin,

I am not a developer and cannot assess your code.But we can do some troubleshooting concerning the BSOD.
  • What Windows version are you running?
  • What 3Dconnexion device(s) do you have connected?
  • Which version of the 3Dconnexion driver is installed?
  • What does the message on your BSOD screen say? It usually points to the guilty kernel driver.
  • What other USB devices are connected to your machine?
  • Have you tried different USB ports?
  • Does the BSOD happen each time you lock the screen? Does it happen as well if you use a different method to lock the screen? (E.g. Ctrl + Alt + Del then select "Lock".)
MutterOberin
Posts: 6
Joined: Mon Jan 25, 2016 1:30 pm

Re: Windows BSOD (Blue Screen of Death)

Post by MutterOberin »

Hi!

* Windows Version: 10 Education, 10.0.16299
* Product: It is a Space Mouse (not mobile, wireless or compact)
* Driver: 3DxWare 10.5.6 Core: 17.5.6.14829
* The message on the BSOD: I will tell you later - I do not want to crash my machine right now
* Other Devices: Mouse, Keyboard (Logitech Illuminated Keyboard and wired Mouse 500), USB Harddisk
* Different USB Ports: Yes
* BSOD is happening regardless of how the machine is locked

If I stop listening to the windows messages it is not happening. Is windows trying to stop the driver / device? Is that some energy saving approach made for laptops (not running on a laptop here). Am I to aggressive when interpreting the Messages? Is it possible that I simply forgot to call the base.OnNotifyMessage to handle some windows stuff correctly?
akshat1984
Posts: 1
Joined: Fri Jun 22, 2018 10:23 pm
Contact:

Re: Windows BSOD (Blue Screen of Death)

Post by akshat1984 »

It happened to me once too.
MutterOberin
Posts: 6
Joined: Mon Jan 25, 2016 1:30 pm

Re: Windows BSOD (Blue Screen of Death)

Post by MutterOberin »

I never found a solution to this. It was even worse:

Without the space pilot pro connected I had random BSODs. After digging around a lot and also updating everything on the HP workstation I analysed the dump file and found a kernel level driver had a null pointer. I deinstalled the 3DxWare and NEVER had a single BSOD since then!

It makes me sad, because I can not use the great 3Dx devices anymore! But there must be some cause in the driver for the BSODs. I hope that this can be fixed some day!
Post Reply