Miranda NG Official Community Forum
Forum for English speaking Miranda NG users => Support/Help => Topic started by: mirandam on 04 05 2025, 03:34:23
-
Starting about 2 years ago, my miranda-ng updates always fails with "Unpack operation failed with error code=32, update terminated"
In short:
1. After starting Miranda, I get a "Updates Found!" prompt and click Update
2. After all downloads are successful, I get "Unpack operation failed with error code=32, update terminated"
3. If I close Miranda, download the latest release manually and replace the files in my Miranda folder, everything works (but it is tedious manual work)
4. I did raise this https://github.com/miranda-ng/miranda-ng/issues/4418 1 year ago but was brushed off as a file locking problem despite trying to engage in logic
5. If it was indeed some non-Miranda process locking some files, why does my step 3 succeed?
6. Can someone help me find the cause of this?
Thank you.
-
>net helpmsg 32
The process cannot access the file because it is being used by another process.
I strongly suspect that your antivirus is too curious, another popular reason of this error is Windows Index Service.
Anyway, you can open System Informer / Process Hacker / whatever, enter the name of your archive and receive the id of a process which blocks it
-
What you describe is a false dichotomy: The only possiblity to get a error 32 is because of A or B and nothing else.
If antivirus/Windows Index Service or whatever else lock the file, how come they so kindly let me replace Miranda files without errors (after I close Miranda)?
Have you considered Miranda might be the problem?
-
Anyone?
-
Have you considered Miranda might be the problem?
Miranda cannot lock a file for itself. It's so simple to detect who's locking a file, why wouldn't you try to do that?
-
Ok, let's roll with that.
1. The red box has very little information and prevents me from clicking or checking on the greenbox
2. After I click the red box away, every file in the green box is "Succceeded."
3. Please enlighten me what process/file I should look or check for with System Informer.
-
1. There are 29 entries for Miranda32.exe, including 1 by SystemInformer.
2. I closed SystemInformer and try to update
3. Still same error
-
1. The red box has very little information and prevents me from clicking or checking on the greenbox
eh... why do you think that it's Miranda32.exe who caused that error?
you better create a network log with core + Plugin Updater, maybe there is more information?
-
Why do I think it is Miranda32?
1. Because Miranda32 cannot update itself and complain about locking
2. If don't look at Miranda32.exe, then look at which file? That's why I did not want to use SystemInformer, but you said it is simple, now, it doesn't seem that simple anymore
3. If locking is indeed the problem, then how come I can manually replace the file once I close Miranda?
4. Yet, with so much info lacking and missing, you immediately conclude that it is an simple problem and cannot be Miranda
5. Now it has changed from file locking to network log problem...
When 1 to 5 all add together, the most likely problem is Miranda, whether it is a wrong reporting or self file locking because #3 is the elephant in the room which you don't have an explanation for the past 2 years
Perhaps I should also ask, why are you so sure it is not a bug in Miranda? For many years, Miranda was able to self update without problem, until around 2 years ago.
-
1. Because Miranda32 cannot update itself and complain about locking
it has nothing to do with Miranda itself, Plugin Updater just downloads a bunch of zip files and tries to unpack them into the temporary folder
2. If don't look at Miranda32.exe, then look at which file? That's why I did not want to use SystemInformer, but you said it is simple, now, it doesn't seem that simple anymore
The file name shall be written into the network log, like "cannot open blablabla.zip, error 32"
3. If locking is indeed the problem, then how come I can manually replace the file once I close Miranda?
As I said, it doesn't rely to Miranda itself. Also, this problem might be caused by the absence of pu_stub.exe, if Miranda's files are located inside %ProgramFiles%
4. Yet, with so much info lacking and missing, you immediately conclude that it is an simple problem and cannot be Miranda
I know pretty well what Plugin Updater does.
5. Now it has changed from file locking to network log problem...
you cannot read it? what's the problem with the network log?
-
1. Where do I find the network log file?
2. and which temporary folder is Plugin Updater trying to unpack to?
3. I run Miranda32 from my own folder, i.e. portable mode, no %ProgramFiles% involved.. for what it is worth, treat it as running from D:\miranda32\
-
Netlog (https://wiki.miranda-ng.org/index.php?title=Network_log)
PU uses %miranda path%\Plugin Updates\Temp
-
Same error, no sign of logs anywhere
D:\miranda>dir/s
Volume in drive E is xxx
Volume Serial Number is 9337-7D0E
Directory of D:\miranda
05/12/2025 08:19 AM <DIR> .
05/12/2025 08:19 AM <DIR> ..
05/12/2025 08:19 AM <DIR> Backups
05/12/2025 08:19 AM <DIR> Temp
0 File(s) 0 bytes
Directory of D:\miranda\Backups
05/12/2025 08:19 AM <DIR> .
05/12/2025 08:19 AM <DIR> ..
0 File(s) 0 bytes
Directory of D:\miranda\Temp
05/12/2025 08:19 AM <DIR> .
05/12/2025 08:19 AM <DIR> ..
05/12/2025 08:19 AM 231,628 clist_modern.zip
05/12/2025 08:19 AM 23,093 crashdumper.zip
05/12/2025 08:19 AM 13,819 dbchecker.zip
05/12/2025 08:19 AM 113,783 dbx_mdbx.zip
05/12/2025 08:19 AM 18,135 dbx_mmap.zip
05/12/2025 08:19 AM 19,411 dbx_sqlite.zip
05/12/2025 08:19 AM 24,828 db_autobackups.zip
05/12/2025 08:19 AM 14,448 dummy.zip
05/12/2025 08:19 AM 33,189 facebook.zip
05/12/2025 08:19 AM 127,477 gg.zip
05/12/2025 08:19 AM 39,247 import.zip
05/12/2025 08:19 AM 103,733 irc.zip
05/12/2025 08:19 AM 710,518 jabber.zip
05/12/2025 08:19 AM 15,152 neweventnotify.zip
05/12/2025 08:19 AM 31,690 ping.zip
05/12/2025 08:19 AM 43,297 pluginupdater.zip
05/12/2025 08:19 AM 15,798 quickmessages.zip
05/12/2025 08:19 AM 8,503 quickreplies.zip
05/12/2025 08:19 AM 9,827 removepersonalsettings.zip
05/12/2025 08:19 AM 74,566 scriver.zip
05/12/2025 08:19 AM 44,059 statusmanager.zip
05/12/2025 08:19 AM 242,210 tabsrmm.zip
05/12/2025 08:19 AM 20,650 toptoolbar.zip
05/12/2025 08:19 AM 23,784 voiceservice.zip
24 File(s) 2,002,845 bytes
Total Files Listed:
24 File(s) 2,002,845 bytes
8 Dir(s) 510,978,949,120 bytes free
D:\miranda>
-
is disk D: writeable? :D
anyway, it seems that the simplest way to detect the problem is Process Monitor. Run it, add Miranda32.exe as a filter, reproduce the problem and then find error 32 in ProcMon's log
-
so much for antivirus
-
Any idea what is causing the error 32? I don't see any antivirus locking the file.
-
I have produced ProcMon's log, but don't know how to move forward
-
I have produced ProcMon's log, but don't know how to move forward
filter out the error code = 32
-
I already did.. see my earlier screenshots
-
https://stackoverflow.com/a/79002623/3872647
is miranda linking with /APPCONTAINER?
-
I thougth this was a simple problem? How come I still can't solve it?
-
is miranda linking with /APPCONTAINER?
no, certainly not
I already did.. see my earlier screenshots
Miranda doesn't replace anything in the system folders. Are there an error regarding smth located inside Miranda's folder?
-
That is the only error 32 I can locate.
And I'm not the only person facing this, see https://forum.miranda-ng.org/index.php?topic=6734.0;prev_next=next#new
-
Any idea?
This thread has been read ~8k times, but still no solution in sight... and quite clearly, I'm not the only one facing it
-
That is the only error 32 I can locate.
well, the only idea I have about it is the Folders plugin usage, that's the only chance to set a system folder as a temporary one for Plugin Updater, for example.
normally Miranda doesn't invade System32 contents
-
Are you saying ProcMon logs are wrong?
-
Are you saying ProcMon logs are wrong?
I said precisely what I said
-
Miranda cannot lock a file for itself. It's so simple to detect who's locking a file, why wouldn't you try to do that?
1. Look, it's clearly a problem happening only with Miranda for a long time now
2. I cannot do a bisect to tell which version this problem started because older releases are not available for download
3. I have everything you asked, but we are still stuck
-
1. Look, it's clearly a problem happening only with Miranda for a long time now
oh, please. sharing violation is one of the most common error codes in all programs, that's why it is identical not only under Windows/MS-DOS, but also under Unix.
2. I cannot do a bisect to tell which version this problem started because older releases are not available for download
of course they are available.
https://miranda-ng.org/distr/deprecated
enjoy
3. I have everything you asked, but we are still stuck
if the only error 32 in your log is related to the system dll - yes, we're stuck
-
0.95.9.1 updated without errors
-
0.95.9.1 updated without errors
good, try to update next time, we'll see if this problem persists
-
0.95.13 updated with error 32
-
0.95.11 has no error
-
good, try to update next time, we'll see if this problem persists
1. The problem first occurred starting 0.95.12.1, more than 4 years ago and has not magically disappeared since
2. Last known version without error 32 is 0.95.11
Can you help check on git please?
-
Can you help check on git please?
you mean what happened to Plugin Updater 5 years ago?.. it's kinda tricky, but I'll try
-
you mean what happened to Plugin Updater 5 years ago?.. it's kinda tricky, but I'll try
Well, that's what bisect does, correct? I narrowed down the cause for you already, the issue is somewhere after 0.95.11 until 0.95.13
And unsuprisingly, 0.95.12.1 cannot be found on git, only 0.95.12 which says "Due to the massive conflicts in the source code, we couldn't update the stable version since May, 5th......"
Note: I do not know if 0.95.12 has the problem, but 0.95.13 definitely does https://github.com/miranda-ng/miranda-ng/releases/tag/v0.95.13
-
well, the only suspected change in 0.95.13 is this
https://github.com/miranda-ng/miranda-ng/commit/6d990112ad5ba4a670b71d40de7dfd9cedfd32cc
before it all error codes were simply ignored
this commit had to fix the bug #2555, which occasionally also refers to error 32 during update, in that case it was caused by the fact that two Mirandas were run simultaneously with two different profiles, and one Miranda could not update itself because the second Miranda was holding a write lock over all binary files
-
Well, can we do something to test for a fix?
-
Well, can we do something to test for a fix?
I could disable error checking, but I don't wanna do that.
are you sure that you have only one instance of Miranda running ?
-
If I have 2 miranda running, there would have been 2 update prompts and I would have known.
So, yes there is only ONE instance running.
-
All I can say is that it is beginning to look like the check is inaccurate. If a file is really locked, miranda should not be able to update, yet it succeeds with 0.95.11
-
yet it succeeds with 0.95.11
no, it doesn't. Miranda fails to create a backup file, thus limiting the ability to roll the update back
-
mirandam,
okay, if you update to the recent development version, there's more info in a network log, what failed concretely + all paths & file names
-
Can please provide a link to that recent development version?
-
https://miranda-ng.org/downloads/
-
Ok, I download 0.96.7, I proceed with the update.
But I only find ZIP in `Plugin Updates/Temp`, where are the log files???
-
where are the log files
Turn on netlog (https://wiki.miranda-ng.org/index.php?title=Network_log) for Core and Plugin Updater
It will now contain additional information
-
Attached
-
Attached
excellent, no errors in the log.
have you seen that error window?
-
Yes, update failed, error 32
-
Yes, update failed, error 32
added more logs, you need to update Plugin Updater
-
[9:52:55 2590] [PluginUpdater] Error unzipping file E:\portable\automatic\miranda\xxx-xmpp.example.com\Plugin Updates\Temp\clist_modern.zip: 32
-
hi how?
-
aha, finally we've got an error.
so, can you move that Plugins/AVS.dll to another folder, if Miranda is running? I can, for example.
if not, run Process Explorer / System Informer and look for a process which holds this DLL
PS: maybe those DLLs have some parasite attributes like ReadOnly or System?
isn't disk E: write protected?
-
Yes, I can move the DLLs when Miranda is running, so what is next?
-
what is next?
- how comes that Process Monitor doesn't see any problems with AVS.dll
- do you use pu_stub.exe? i.e. does Miranda requires escalation to perform updates?
- does Process Explorer display any handles for AVS.dll?
-
I'm able to move ALL DLLs, not just AVS.dll
1. I did not create Process Monitor.... I don't know
2. I don't know what is pu_stub.exe
3. No
Isn't it weird that one can move the DLLs of a running program?
-
Isn't it weird that one can move the DLLs of a running program?
Some plugins may be disabled in Options -> Plugins and therefore not be used.
But if you can move ALL the files from /Miranda_dir/Plugins, this is weird, because at least some plugins are definitely used. I can't imagine how this is possible...
-
Isn't it weird that one can move the DLLs of a running program?
you can delete almost all contents of %SystemRoot%, if you have enough access level, that's not a problem
I added even more logs, could you update PU & Core and make another log of Core + PU?
-
1. What are you storing in the profile xxx.dat file?
2. If I create a new profile, update can complete without error 32
3. If I use my current profile, update always error 32
...
-
Something in the settings table is causing your error 32................. NOT antivirus or external software locking whatever file
-
.dat is a Miranda database that contains all settings, contacts, and histories.
You can try to create a new profile and import all content from old db to a new one (Main menu -> Import)
-
1. What are you storing in the profile xxx.dat file?
everything but the cache
2. If I create a new profile, update can complete without error 32
nice to hear, so we can make a simple experiment:
- make a copy of your current profile
- run Miranda with this profile, remove all accounts to remove all passwords & messages, run Database -> Compact, zip this small file with global settings and send it to me via personal message
- if if won't help, pack all binaries and send them as well
-
How to remove all accounts, passwords and messages?
-
How to remove all accounts, passwords and messages?
open the account manager and click Remove on each account, then Main menu - Database - Compact to remove any traces of this information
-
i have sent personal message with dat file
-
Any findings?