Fix corrupted txt file (NULL)
-
At one point last month, I tried using the windows API from an external process to try to kill the Notepad++ instance, and see if I could reliably replicate the issue, but I couldn’t get it to trigger; apparently, even killing the process externally is too “clean” of an exit.
Today, I began to think that maybe there was a way to force a Windows Blue Screen Of Death while running NPP, and see if it could replicate the problem – my thought was in a Virtual Machine, to protect any actual hardware.
I found this MS TechNet post which explains how to initiate a BSOD. It has a disclaimer, “you cannot manually initiate a Stop error on a virtual machine that has virtual machine extensions installed”, but that implies that a VM without extensions installed should be able to be forced to BSOD.
I don’t have a VM (or a physical machine that I could risk), nor do I have the windows-app debugging skill necessary to figure out what’s going wrong, even if I could replicate the problem reliably… but I thought I’d share the idea, in case someone else has the right tools and skillset.
(I posted this almost verbatim in the GitHub issue #2381, but thought I’d share it here, too.)
-
Right after the issue happened to me, I tried manually forcing some BSODs on an old machine (running Windows 7) that I don’t care so much about. I had no luck in replicating the NUL corruption thing that way, even though I was careful in my attempt to set up the exact Notepad++ configuration I had been running (fairly easy as I use the “portable” version). As my original BSOD was “hardware-related”, I couldn’t duplicate that part in the recreation…
So I like your thinking, but no-dice for me when I tried it a bit ago…
-
@Scott Sumner
Just today I found out that Dropbox (even the free account of it) saves versions of files, so it kind of acts like a version control system (e.g. SVN), but you don’t have to do manual commits - any time you save the file, Dropbox stores another version of the file. I suppose on the backend they have some SVN-like implementation of this functionality (saving only the changes), but to the user it just looks like separate, chronologically listed versions of the file. Even if Dropbox doesn’t keep the versions for long, or has a limit on the combined size of all the versions, it’s still an excellent defense vs these sudden power outages or blue screens. Because after the computer restart one surely will still have the few copies just before the outage in Dropbox (plus the last NULL-filled copy).
So, yeah, setting Dropbox to start together with Windows is important then.
And btw one doesn’t even have to keep all the important files in the Dropbox folder. Instead, one can create a “junction” for the most important files or folders (https://www.dropboxwiki.com/tips-and-tricks/sync-other-folders).
Lesson learnt :) -
Oh my, just found out that setting “Verbose backup” in Notepad++ now creates a folder named “nppBackup” at the same place as the txt file and saves the backups there each time you save. If you don’t want to clog your folders with all these multiple nppBackup subfolders, you can set a custom path where all the backups of all edited files will be saved, e.g. some folder inside Dropbox.
-
It seems that when data is apparently replaced by null characters information is not actually lost. I searched on the web and I found that using a file recovery application (Recuva) one can still obtain the original file without any loss of information (I tried this myself). This is very strange, as it’s not clear where this information come from if the “null” characters are really “null”…
-
@Claudia-Frank @pnedev
See https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/src/CMakeLists.txt and https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/PowerEditor/gcc
for cross compilation. Open PRs needed:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/4320
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/3918
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/4145 -
thank you but since installing VS2017 in my VM it is good enough.
It does take <1 minute to do a full clean compile of npp, scintilla and python script plugin
and ~15-20 seconds for code changes to test.Cheers
Claudia -
Hi All,
In my case, file size is showing 7kb and unable to find that file in back up folder. When I open it shows Null in Notepad++, empty in Notepad.
I tried Recuva and restore the file, again context is not readable.
Restore previous version is also not available. I’m using Windows 10 64 bit OS
Please help me to recover fileThanks,
Mani -
I fixed a corrupted file using the deep scan feature of Recuva.
-
for anyone still looking for this!
right click on the file -> properties -> previous versions, -> open, …
check contents before you hit restore.
saved 7 days of work!!! -
Anyone know if this has been fixed? I’m using an older version 7.3.3 64-bit version on Windows 10. Its always been solid. After my last two reboots the files I had been working on previously have turned into all null bytes. Not empty files - each character in the file is now null. Major PITA.
-
@Joe-Dougherty said:
Anyone know if this has been fixed?
I have seen no evidence that any changes have been made to date in regard to preventing this from occurring. It happened to me when using 7.2.2.
-
Had the same catastrophe today. System Crashed (windows 7). Npp ver. 6.9.
Text file contents coming as null.
Used the recuva technique and got everything back!!
Learnt about verbose backup and updating to the latest Npp version.
Thank you all.
-
@Mark-Cage said:
…updating to the latest Npp version
Most people in your situation say something different…Like “I’m switching to Sublime / Atom”…
-
@Scott-Sumner said:
Sublime / Atom
I love npp! There might some issues in the other text editors as well
Just enable verbose backup and i think i should be fine :)
-
Just enable verbose backup and i think i should be fine
There are some people with the theory that that actually contributes to the NUL problem (i.e. they postulate that if backup was off it wouldn’t/couldn’t occur). I can attest that the one time the NUL problem happened to me, I did indeed have verbose backup turned on. I had a bunch of files that the v.b. creates (so I thought "No problem!), but they too were all filled with NUL, back to the time at which I had started the current Notepad++ run. I lost about 2 hours of work when I should have only lost about 2 seconds worth (I am old-school and am “all over” the Save key…constantly). YMMV. :-)
-
That sucks! i hadn’t turned back up on before this happened . Also use the save key all the time. But the null error still occurred. Can only pray that it doesn’t happen again :)
-
same thing just happened to me… v7.5.8
-
Gotcha!!
Hopefully I can reproduce it under debugger.
Cheers
Claudia -
yeah but this is more corrupted because my txt file named Oofood instead of saying words… it came up with this: ¶¬®°~Z…yàãñöpý²Ã”¦ Vš¸:lŸ
ã"Œ7$2¥‰+s;¡*p“‘A\ìö© /2[ÐnUû“H–™øk´b|Ë*Y÷T¾t=¥t˜»¤RÞ~YP6*•°ÉÜü´ÄZ¤ï°³Ê}=ƒ0såÁ
¨,©°¯Îß”1XŽÁb€(Þ}Y4ýµB™yª
@¶e§‹Ê ©öà[_dy ‘rü±wD˜ŒíÝPÉïCŸ;Q¬|it³JÔÈX5[7Dë¹ã!ä•0ynöWª@»C²É;]C„rÏ<õª—$5ûUôdx3×2`ö¦3õÆš&ÛgpÖÇ$³:Þ"ŠµÙ&¹ŠQâ‚zg¾ðõ^5öŽ(^³Eð«N\§DFNi†“»©˜.Ù/ã«&æ-”&ÚÏŠû²š¢ÔÿÐØ0\m;B–@8ÍÛv¶ïË‘®xJU ´ôP
’Ð6ÝÁ¤ªÀ½4;X¶y•kÕñ”ø¡ÇéVËè×_ýÔÇ9|E’Xújƒ/6O´ûv øEî\ê±s5T)%,T,Âa†L c£"ÇÕzˆ ¯îêjøRÖÓ:òo›7ÆÓGmyEU¶Xo‘Å«·øÈëJõ¾Äwå¦B<\©¶ÖÙâÎ,@´~_Nä&BkBc&AŽ…Zºc