|
I can't tell if it is my new hardware ( Original post in lounge with H/W list[^] ) or Win10.
I wiped the machine completely and reinstalled Win10. Now, it is no longer the graphics card faulting but something else. Previously, ever single error pointed to a graphics card problem. That is no longer true from the Memory.dmp to the app crashes I've seen. Also, there are far fewer crashes now.
Whatever it is, FireFox is the most consistent on crashing from the problem. That's exciting, isn't it?
Yet Another Attempt (YAA) At Fixing Win 10
I ran the steps at : https://support.microsoft.com/en-us/help/929833/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system[^]
Check out the results. I cannot tell if it did do something and should expect it to be fixed or not.
https://i.stack.imgur.com/k55Nz.png[^]
I guess I should just be blindly optimistic now.
I've definitely gone thru the Stages of Grief with my new computer.
Denial - No, this isn't happening. It's a brand new computer with a activated win10 installation!
Anger - This cannot be happening!! It's a brand new computer with activated win10 installation!!!!!
Bargaining - Don't let this happen. Let the computer work....
Guilt - This is happening because I bought the wrong hardware, right?
Sorrow - Computers don't really work. It's all just a trick to make you think technology works. It doesn't matter anyways. I'll just take up knitting.
Acceptance - It's fine. I understand that I may or may not be able to use my computer. All computing is unreliable and untrustworthy. I'm going outside.
EDIT
A few moments after I posted, bot a BSOD and when I ran WinDgb I saw this.
These are totally different errors from what I saw before the windows refresh.
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
DRIVER_OVERRAN_STACK_BUFFER (f7)
A driver has overrun a stack-based buffer. This overrun could potentially
allow a malicious user to gain control of this machine.
DESCRIPTION
A driver overran a stack-based buffer (or local variable) in a way that would
have overwritten the function's return address and jumped back to an arbitrary
address when the function returned. This is the classic "buffer overrun"
hacking attack and the system has been brought down to prevent a malicious user
from gaining complete control of it.
Do a kb to get a stack backtrace -- the last routine on the stack before the
buffer overrun handlers and bugcheck call is the one that overran its local
variable(s).
Arguments:
Arg1: ffff09fb3a1bacca, Actual security check cookie from the stack
Arg2: 0000f1f82e75fcaa, Expected security check cookie
Arg3: ffff0e07d18a0355, Complement of the expected security check cookie
Arg4: 0000000000000000, zero
Debugging Details:
------------------
KEY_VALUES_STRING: 1
Key : Analysis.CPU.Sec
Value: 3
Key : Analysis.DebugAnalysisProvider.CPP
Value: Create: 8007007e on DESKTOP-6CFRJ0I
Key : Analysis.DebugData
Value: CreateObject
Key : Analysis.DebugModel
Value: CreateObject
Key : Analysis.Elapsed.Sec
Value: 7
Key : Analysis.Memory.CommitPeak.Mb
Value: 64
Key : Analysis.System
Value: CreateObject
BUGCHECK_CODE: f7
BUGCHECK_P1: ffff09fb3a1bacca
BUGCHECK_P2: f1f82e75fcaa
BUGCHECK_P3: ffff0e07d18a0355
BUGCHECK_P4: 0
SECURITY_COOKIE: Expected 0000f1f82e75fcaa found ffff09fb3a1bacca
PROCESS_NAME: System
STACK_TEXT:
fffff803`146e5018 fffff803`1fa495d7 : 00000000`000000f7 ffff09fb`3a1bacca 0000f1f8`2e75fcaa ffff0e07`d18a0355 : nt!KeBugCheckEx
fffff803`146e5020 fffff803`2003a199 : 00000000`00010000 00000000`00000000 00010000`00000000 00000000`00000000 : nvlddmkm+0x1095d7
fffff803`146e5060 fffff803`2003b3ce : fffff803`146e5360 00000000`04380780 00000000`04380780 fffff803`146e5360 : nvlddmkm+0x6fa199
fffff803`146e50e0 fffff803`2003613f : 00000000`04380780 00000000`00000007 fffff803`146e5270 ffffb58f`5bcb5000 : nvlddmkm+0x6fb3ce
fffff803`146e5150 fffff803`20048305 : 00000000`00000000 ffffb58f`597c1000 ffffb58f`2e0d0000 fffff803`146e55f0 : nvlddmkm+0x6f613f
fffff803`146e54d0 fffff803`2006b732 : ffffb58f`5be72900 fffff803`146e6a88 ffffb58f`597c1000 ffff09fb`3a1ba54a : nvlddmkm+0x708305
fffff803`146e5a10 fffff803`2006c704 : fffff803`146e6a00 fffff803`00000000 ffffb58f`5be729e0 ffffb58f`597c1000 : nvlddmkm+0x72b732
fffff803`146e5b00 fffff803`2006c44f : ffffb58f`597c1000 00000000`00000000 ffffb58f`597c1000 00000000`00000000 : nvlddmkm+0x72c704
fffff803`146e5c10 fffff803`2007056d : ffffb58f`59822000 fffff803`146e5da0 ffffb58f`59822000 fffff803`146e5da0 : nvlddmkm+0x72c44f
fffff803`146e5ca0 fffff803`1bc3a083 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nvlddmkm+0x73056d
fffff803`146e65b0 fffff803`1bc3da69 : ffffb58f`5b162a80 00004a70`a4e9d900 fffff803`146e6a80 fffff803`1e830b56 : dxgkrnl!ADAPTER_DISPLAY::DdiSetVidPnSourceAddressWithMultiPlaneOverlay3+0x203
fffff803`146e6670 fffff803`1e82aa7e : ffffffff`ffffffb5 fffff803`0e9c230b 00000000`ffffffff 00000000`00000000 : dxgkrnl!ADAPTER_DISPLAY_DdiSetVidPnSourceAddressWithMultiPlaneOverlay3+0x9
fffff803`146e66a0 fffff803`0e9c22f8 : ffffb58f`59c3a000 ffffb58f`5be97000 ffffb58f`5b1626a0
...
SYMBOL_NAME: nvlddmkm+1095d7
MODULE_NAME: nvlddmkm
IMAGE_NAME: nvlddmkm.sys
STACK_COMMAND: .thread ; .cxr ; kb
BUCKET_ID_FUNC_OFFSET: 1095d7
FAILURE_BUCKET_ID: 0xF7_MISSING_GSFRAME_nvlddmkm!unknown_function
OS_VERSION: 10.0.18362.1
BUILDLAB_STR: 19h1_release
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
FAILURE_ID_HASH: {2ffeac14-357b-96a5-98b2-2e606f12e8c0}
Followup: MachineOwner
modified 14-Sep-19 10:51am.
|
|
|
|
|
Roger,
I've looked at all your posts and images and they are all over the place... The KERNEL_SECURITY_CHECK_FAILURE is probably due to a KPP violation. But your other screenshot shows a win32k exception... and your new screenshot shows corrupt files on disk.
Of course I don't know for sure... but I would highly suspect a hardware failure. If I were you I would stress test your RAM with the open source tool Memtest86+[^].
The KPP violation is a very strong indicator of a bad stick of RAM.
Best Wishes,
-David Delaune
Scientiæ de conservata veritate.
|
|
|
|
|
Randor wrote: Of course I don't know for sure... but I would highly suspect a hardware failure. If I were you I would stress test your RAM with the open source tool Memtest86+[^].
Just saying but if you can't boot the machine to run the test another way:
try starting up with just one stick in, then try the other stick also by itself.
(yes even though it's DDR PC's can run single stick.)
also side note: back to your older post
"... The computer cannot tell the difference from one boot-up to another. I don't get it"
sometimes progs like firefox immediately check for updates on first start of the day
so 2nd time reboot (mins to only a few hours later) won't run the update check
Message Signature
(Click to edit ->)
|
|
|
|
|
Randor
I'm typing this from Ubuntu. I wiped my entire machine (deactivated my purchased win10 home) and installed ubuntu to see if things will run or fail.
Thanks very much for checking this out. I really appreciate your time.
Randor wrote: The KPP violation is a very strong indicator of a bad stick of RAM.
I thought this too, because I know when you get this kind of random crashing that it is often RAM.
I recently opened up the machine and insured they were re-seated properly -- just to make sure.
I also ran the Built-in RAM test and it completed and said all was well.
Now that I am on Linux/Ubuntu with the NVidia drivers installed, I want to see how the machine fares.
We will see. Thanks again for your input and I will let you know.
|
|
|
|
|
I am fairly certain your issue is not Windows 10 fault, but something that is not integrating properly with Windows 10. I did not read your whole post as it is obnoxiously long.
I use Windows 10 on my home and work machines, no issues. Our entire Dev team uses Windows 10 with no issues.
|
|
|
|
|
Slacker007 wrote: did not read your whole post as it is obnoxiously long.
I resemble that remark!!!
I'm running Ubuntu with NVidia drivers with no problems at all. We will see how long this lasts.
But I can tell already that it is far more stable.
And I do wonder what the utility I ran on Win10 meant about the corrupted files. That's probably the normal state for win10 1903 or something.
|
|
|
|
|
bummer, dude
«One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali
|
|
|
|
|
why do this?
for(int i = 0;i<arr.Length;i++)
{
if(arr[i]==valueToFind)
{
break;
}
}
instead of
for(int i = 0;i<arr.Length;i++)
{
if(arr[i]==valueToFind)
{
i=arr.Length;
}
}
hengh?? why you still use break?
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
|
if it matters enough to be a purist about it, then i think it matters. if it doesn't matter to you, you're not a purist about it.
bow before my tautology!
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
I bow before thee my Goodwife CodeWitch.
I'm not a purist in this matter, but I still agree with Griff though.
|
|
|
|
|
I do as well, but then i have no qualms about any out of band control flow statements except throw.
It's all in how and where you use them, IMO.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Throw doesn't belong to the control flow.
Oh, maybe I'm a bit purist after all.
|
|
|
|
|
i mean, i agree that it shouldn't, but it causes control flow changes and can be used that way.
but like i said, i agree. Just because you can do something, doesn't mean you should.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
I've seen MS themselves doing it.
Sometimes when external code that you don't have control over lacks certain functionality, it might be your only choice. (been there, done that. )
|
|
|
|
|
right? that's why i *never* throw!
kidding!
but in seriousness I take great pains to prevent the users of my code from having to catch exceptions on failure if they don't want them.
Like I'll provide TryXXXX to complement XXXX
Pck: Code Roundup and Quick Start Guide[^]
In PCK I have an elaborate error handling system whereby it finds errors and continues processing only (optionally) throwing an exception at the end with ALL the errors it encountered.
Otherwise they're reported as "messages" with different severity/errorlevels
probably the most elaborate exception handling i've had to do in managed code.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Because break is a lot clearer - and less likely to cause problems later if the for loop end condition gets modified.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
rather my point. sometimes you need a good break, continue, or even a goto (though the latter i typically reserve for generated state machines)
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
I love goto. Lets go-back-to VB. I've made use of gotos to a great extent during my VB times.
like, On Error: GoTo the magical origin of the universe.
An equally 'powerful' instruction - JMP. But JMP is never ashamed of being JMP, cuz it's assembly. You can go roam anywhere you want, it's got the license.
|
|
|
|
|
ugh, VB. I use goto in some of my code.
Perfectly acceptable place to use GOTO - generated state machine code:
public static bool AcceptsByte(Grimoire.ParseContext pc)
{
pc.EnsureStarted();
if (-1 == pc.Current) return false;
if ((48 == pc.Current))
{
pc.Advance();
goto AcceptsByte_s1;
}
if ((49 == pc.Current))
{
pc.Advance();
goto AcceptsByte_s2;
}
if ((50 == pc.Current))
{
pc.Advance();
goto AcceptsByte_s4;
}
if ((51 <= pc.Current && 57 >= pc.Current))
{
pc.Advance();
goto AcceptsByte_s3;
}
return false;
AcceptsByte_s1:
if (-1 == pc.Current) return true;
return -1 == pc.Advance();
AcceptsByte_s2:
if (-1 == pc.Current) return true;
if ((48 <= pc.Current && 57 >= pc.Current))
{
pc.Advance();
goto AcceptsByte_s3;
}
return -1 == pc.Advance();
AcceptsByte_s3:
if (-1 == pc.Current) return true;
if ((48 <= pc.Current && 57 >= pc.Current))
{
pc.Advance();
goto AcceptsByte_s1;
}
return -1 == pc.Advance();
AcceptsByte_s4:
if (-1 == pc.Current) return true;
if ((48 <= pc.Current && 52 >= pc.Current))
{
pc.Advance();
goto AcceptsByte_s3;
}
if ((53 == pc.Current))
{
pc.Advance();
goto AcceptsByte_s5;
}
if ((54 <= pc.Current && 57 >= pc.Current))
{
pc.Advance();
goto AcceptsByte_s1;
}
return -1 == pc.Advance();
AcceptsByte_s5:
if (-1 == pc.Current) return true;
if ((48 <= pc.Current && 52 >= pc.Current))
{
pc.Advance();
goto AcceptsByte_s1;
}
return -1 == pc.Advance();
}
but then I wouldn't write that code by hand. Too error prone.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Yep, goto on a lengthier code is definitely not meant for the human eyes.
|
|
|
|
|
what's cool about that code though? It's directly translatable from visual graphs of the state objects it represents.
I use graphviz to visualize them, and you can see right in the graph where the code matches up. It's beautiful - a 1:1 translation.
So the code actually is human readable, you just need the map (the visual graph) for it.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Quote: but then I wouldn't write that code by hand. Too error prone.
Isn't this exactly the point? All code gets compiled/interpreted/translated to jmps eventually.
The goals of the written code should be correctness, understandability and simplicity.
Leave the gotos and the clever techniques to the compiler.
|
|
|
|
|
You trust your compiler?? Wow!
|
|
|
|
|
I'll optimize when i need to. that doesn't always make the code readable.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|