Jump to content


Photo

The process cannot access the file because it is being used by another

error bug item_rev spell_rev 1pp bgt

  • Please log in to reply
35 replies to this topic

#21 tuxr

tuxr
  • Member
  • 31 posts

Posted 22 October 2013 - 12:25 PM

Well, I still can't reproduce this problem. But WeiDU 234 (just released) should hopefully provide a more illuminating error message.

 

Indeed

 

ERROR: save_biff failed to close AREA4100/AR4101.TIS during tiles 3
Stopping installation because of error.

 

More details attached.
Thanks.

Attached Files



#22 Wisp

Wisp
  • Modder
  • 1346 posts

Posted 23 October 2013 - 09:12 AM


ERROR: save_biff failed to close AREA4100/AR4101.TIS during tiles 3
Stopping installation because of error.


Well, that's weird. save_biff and the related code hasn't been changed in forever.
I notice it's failing on a different file now. Is it always a different file? Does it ever install successfully? Is the seemingly unrelated change you made to biff.ml always effective at preventing the bug?
More details attached.
Thanks.
Thanks. You don't need to provide more backtraces.

#23 tuxr

tuxr
  • Member
  • 31 posts

Posted 23 October 2013 - 10:03 AM


ERROR: save_biff failed to close AREA4100/AR4101.TIS during tiles 3
Stopping installation because of error.

 

Well, that's weird. save_biff and the related code hasn't been changed in forever.
I notice it's failing on a different file now. Is it always a different file? Does it ever install successfully? Is the seemingly unrelated change you made to biff.ml always effective at preventing the bug?
More details attached.
Thanks.
Thanks. You don't need to provide more backtraces.

 

 

I noticed that the file on which it fails changes depending on what selection of mods I have. I didn't notice a different file name with the same mod selection, but tbh I haven't paid too much attention to it. I can test if that helps.

It never got past the BGT stage while using the original exes, neither from the BAT file nor BWS.

Yes, the change that I have made is preventing the error to occur. I've tested multiple installs until now with my modified exe and they all succeeded, BAT or BWS.



#24 Wisp

Wisp
  • Modder
  • 1346 posts

Posted 23 October 2013 - 01:17 PM

 
I noticed that the file on which it fails changes depending on what selection of mods I have. I didn't notice a different file name with the same mod selection, but tbh I haven't paid too much attention to it. I can test if that helps.
I can't imagine it would. It's probably far enough into "crazy" that there's no meaningful distinction between this and nondeterministic.
If you care to experiment, can you try compiling unmodified WeiDU on your system and testing with that?

If the problem remains, can you try replacing your "log_and_print" with "log_only" and test with that? And if the problem remains, replace "log_only" with "flush stdout" and test with that? And if the problem remains, compile anew with "log_and_print" and test? It seems incredibly far-fetched, but I suppose it should be looked into.

#25 tuxr

tuxr
  • Member
  • 31 posts

Posted 23 October 2013 - 03:32 PM

I'll test those (hopefully) tomorrow. My original guess was a flushing problem as I said, but I lack the (OCaml) knowledge to make extensive changes to it. What a weird (and somewhat obscure) language, btw :)



#26 tuxr

tuxr
  • Member
  • 31 posts

Posted 24 October 2013 - 07:30 AM

Test 1(original 234 compiled by me) - failed
Test 2(modified 234 with log_and_print) - FAILED
 
Ok, WTF!?
 
Good thing that I kept 233  :new_thumbs:
 
After a diff I noticed something. The seemingly unrelated log_and_print addition was not the only one. Coming from c++(or any sane language, for that matter :lol2: ), I've also put a begin and end block starting with line 157(in 234).
So

 

      if istis = "TIS V1  " then begin
        let istis = String.create 24 in
        (* have it skip the first 24 bytes *)
        my_read 24 in_fd istis f ;
        copy_over in_fd f (s - 24) ;
      end else
        copy_over in_fd f s ;
      ;

 

became

 

      if istis = "TIS V1  " then begin
        let istis = String.create 24 in
        (* have it skip the first 24 bytes *)
        my_read 24 in_fd istis f ;
        copy_over in_fd f (s - 24) ;
      end else begin
        copy_over in_fd f s ;
      end;

 

I didn't think that this even more seemingly unrelated change would affect anything. I've only put it there because I previously had another log_and_print(while pursuing my flush guess) after the else and didn't really knew how OCaml works with blocks.
So yeah, seems like the log_and_print call in copy_over doesn't do anything, but the begin/end change does. The irony.  :ROFL:
That's the only change that I didn't mention, I promise  :lol2:
 
I am really interested in the reason why this happens. My only guess would be a compiler bug, but who the hell knows  :lol2:
I've also noticed that the exe from the original code that I compiled is a little smaller than the exe from the package that you provided.
 
I've attached my compilation in case anyone needs it and can't wait for an official release. Check the first post in the thread.

Edited by tuxr, 24 October 2013 - 07:41 AM.


#27 Wisp

Wisp
  • Modder
  • 1346 posts

Posted 24 October 2013 - 11:05 AM

Can you try this compile to confirm that the fix is effective?

Attached Files



#28 tuxr

tuxr
  • Member
  • 31 posts

Posted 24 October 2013 - 11:12 AM

Can you try this compile to confirm that the fix is effective?

All good now.  :new_thumbs:



#29 Wisp

Wisp
  • Modder
  • 1346 posts

Posted 24 October 2013 - 11:30 AM

Great! Thanks a lot for your assistance in this.



#30 honjae

honjae
  • Member
  • 25 posts

Posted 25 October 2013 - 05:57 PM

Hi,

I'm having a same problem as the OP, but the fix in the link provided is not working.



#31 tuxr

tuxr
  • Member
  • 31 posts

Posted 26 October 2013 - 01:05 AM

Can you provide more details? A log would also be nice.



#32 honjae

honjae
  • Member
  • 25 posts

Posted 26 October 2013 - 03:43 AM

I'm using new version of the BWS and GOG version of the game on Windows 8 X64.

I put in new version of Weidu like described in the OP, but the same errors described in the thread popped up.

 

 

[data/area7200.bif] will contain 173 resources totalling 116280696 bytes
ERROR: save_biff failed to close AREA7200/AR7217.TIS during tiles 3
Stopping installation because of error.

ERROR Installing [Baldur's Gate Trilogy - Core], rolling back to previous state
Will uninstall 4227 files for [SETUP-BGT.TP2] component 0.
Uninstalled    4227 files for [SETUP-BGT.TP2] component 0.
area7200\ar7217.tis - The process cannot access the file because it is being used by another process.
ERROR: Unix.Unix_error(3, "close", "")
PLEASE post the file  SETUP-BGT.DEBUG to http://forums.spellh...p?showforum=261
Automatically Skipping [Baldur's Gate Trilogy - Core] because of error.
Using Language [English]
[./dialog.tlk] created, 88128 string entries


NOT INSTALLED DUE TO ERRORS Baldur's Gate Trilogy - Core
---------------------------------------------------
Uninstallation complete.  Please restore dialog.tlk
---------------------------------------------------

 

 

 

 

Attached Files



#33 tuxr

tuxr
  • Member
  • 31 posts

Posted 26 October 2013 - 04:01 AM

I'm using new version of the BWS and GOG version of the game on Windows 8 X64.

I put in new version of Weidu like described in the OP, but the same errors described in the thread popped up.

 

 

[data/area7200.bif] will contain 173 resources totalling 116280696 bytes
ERROR: save_biff failed to close AREA7200/AR7217.TIS during tiles 3
Stopping installation because of error.

ERROR Installing [Baldur's Gate Trilogy - Core], rolling back to previous state
Will uninstall 4227 files for [SETUP-BGT.TP2] component 0.
Uninstalled    4227 files for [SETUP-BGT.TP2] component 0.
area7200\ar7217.tis - The process cannot access the file because it is being used by another process.
ERROR: Unix.Unix_error(3, "close", "")
PLEASE post the file  SETUP-BGT.DEBUG to http://forums.spellh...p?showforum=261
Automatically Skipping [Baldur's Gate Trilogy - Core] because of error.
Using Language [English]
[./dialog.tlk] created, 88128 string entries


NOT INSTALLED DUE TO ERRORS Baldur's Gate Trilogy - Core
---------------------------------------------------
Uninstallation complete.  Please restore dialog.tlk
---------------------------------------------------

 

Hey, those instructions were only for the BWP BAT file installation. I should have mentioned that.

For BWS, you need to let it finish download(or checking your existing files) everything. Before it starts extracting the files, make a copy of the fixed exe and name it setup-bgt.exe(or just setup-bgt if you don't have windows to show extensions). Then proceed and let BWS extract the files. After it finishes extracting the mod files(both the archives and the exe installers) it will tell you that it's about to start installing the mods. Right then copy the two fixed exe files(weidu.exe and setup-bgt.exe) in your bg2 dir and overwrite the existing two files. Be quick, as you only have a few seconds until BWS auto starts the installation. It should then proceed and install normally. If you still get the error, check the bgt-setup.exe file(after you get the error) and compare it with the bgt-setup.exe that you renamed. If they are different, it means that we need to do some more copying, but it should work.

Let me know how it goes.


Edited by tuxr, 26 October 2013 - 04:04 AM.


#34 honjae

honjae
  • Member
  • 25 posts

Posted 26 October 2013 - 06:12 AM

I'm using new version of the BWS and GOG version of the game on Windows 8 X64.

I put in new version of Weidu like described in the OP, but the same errors described in the thread popped up.

 

 

[data/area7200.bif] will contain 173 resources totalling 116280696 bytes
ERROR: save_biff failed to close AREA7200/AR7217.TIS during tiles 3
Stopping installation because of error.

ERROR Installing [Baldur's Gate Trilogy - Core], rolling back to previous state
Will uninstall 4227 files for [SETUP-BGT.TP2] component 0.
Uninstalled    4227 files for [SETUP-BGT.TP2] component 0.
area7200\ar7217.tis - The process cannot access the file because it is being used by another process.
ERROR: Unix.Unix_error(3, "close", "")
PLEASE post the file  SETUP-BGT.DEBUG to http://forums.spellh...p?showforum=261
Automatically Skipping [Baldur's Gate Trilogy - Core] because of error.
Using Language [English]
[./dialog.tlk] created, 88128 string entries


NOT INSTALLED DUE TO ERRORS Baldur's Gate Trilogy - Core
---------------------------------------------------
Uninstallation complete.  Please restore dialog.tlk
---------------------------------------------------

 

Hey, those instructions were only for the BWP BAT file installation. I should have mentioned that.

For BWS, you need to let it finish download(or checking your existing files) everything. Before it starts extracting the files, make a copy of the fixed exe and name it setup-bgt.exe(or just setup-bgt if you don't have windows to show extensions). Then proceed and let BWS extract the files. After it finishes extracting the mod files(both the archives and the exe installers) it will tell you that it's about to start installing the mods. Right then copy the two fixed exe files(weidu.exe and setup-bgt.exe) in your bg2 dir and overwrite the existing two files. Be quick, as you only have a few seconds until BWS auto starts the installation. It should then proceed and install normally. If you still get the error, check the bgt-setup.exe file(after you get the error) and compare it with the bgt-setup.exe that you renamed. If they are different, it means that we need to do some more copying, but it should work.

Let me know how it goes.

I tried the method you suggeted, but results are unchanged. Btw, how do you compare between two bgt.exes?



#35 tuxr

tuxr
  • Member
  • 31 posts

Posted 26 October 2013 - 06:21 AM

I'm using new version of the BWS and GOG version of the game on Windows 8 X64.

I put in new version of Weidu like described in the OP, but the same errors described in the thread popped up.

 

 

[data/area7200.bif] will contain 173 resources totalling 116280696 bytes
ERROR: save_biff failed to close AREA7200/AR7217.TIS during tiles 3
Stopping installation because of error.

ERROR Installing [Baldur's Gate Trilogy - Core], rolling back to previous state
Will uninstall 4227 files for [SETUP-BGT.TP2] component 0.
Uninstalled    4227 files for [SETUP-BGT.TP2] component 0.
area7200\ar7217.tis - The process cannot access the file because it is being used by another process.
ERROR: Unix.Unix_error(3, "close", "")
PLEASE post the file  SETUP-BGT.DEBUG to http://forums.spellh...p?showforum=261
Automatically Skipping [Baldur's Gate Trilogy - Core] because of error.
Using Language [English]
[./dialog.tlk] created, 88128 string entries


NOT INSTALLED DUE TO ERRORS Baldur's Gate Trilogy - Core
---------------------------------------------------
Uninstallation complete.  Please restore dialog.tlk
---------------------------------------------------

 

Hey, those instructions were only for the BWP BAT file installation. I should have mentioned that.

For BWS, you need to let it finish download(or checking your existing files) everything. Before it starts extracting the files, make a copy of the fixed exe and name it setup-bgt.exe(or just setup-bgt if you don't have windows to show extensions). Then proceed and let BWS extract the files. After it finishes extracting the mod files(both the archives and the exe installers) it will tell you that it's about to start installing the mods. Right then copy the two fixed exe files(weidu.exe and setup-bgt.exe) in your bg2 dir and overwrite the existing two files. Be quick, as you only have a few seconds until BWS auto starts the installation. It should then proceed and install normally. If you still get the error, check the bgt-setup.exe file(after you get the error) and compare it with the bgt-setup.exe that you renamed. If they are different, it means that we need to do some more copying, but it should work.

Let me know how it goes.

I tried the method you suggeted, but results are unchanged. Btw, how do you compare between two bgt.exes?

In this case you look at the size and dates. I think my compied exe is 925kb and the exe that doesn't work is 929 or something like that. Or you could try windiff.

Btw, did it ask you to overwrite the two files when you copied them in bg2's dir?



#36 honjae

honjae
  • Member
  • 25 posts

Posted 27 October 2013 - 02:08 AM

I'm using new version of the BWS and GOG version of the game on Windows 8 X64.

I put in new version of Weidu like described in the OP, but the same errors described in the thread popped up.

 

 

[data/area7200.bif] will contain 173 resources totalling 116280696 bytes
ERROR: save_biff failed to close AREA7200/AR7217.TIS during tiles 3
Stopping installation because of error.

ERROR Installing [Baldur's Gate Trilogy - Core], rolling back to previous state
Will uninstall 4227 files for [SETUP-BGT.TP2] component 0.
Uninstalled    4227 files for [SETUP-BGT.TP2] component 0.
area7200\ar7217.tis - The process cannot access the file because it is being used by another process.
ERROR: Unix.Unix_error(3, "close", "")
PLEASE post the file  SETUP-BGT.DEBUG to http://forums.spellh...p?showforum=261
Automatically Skipping [Baldur's Gate Trilogy - Core] because of error.
Using Language [English]
[./dialog.tlk] created, 88128 string entries


NOT INSTALLED DUE TO ERRORS Baldur's Gate Trilogy - Core
---------------------------------------------------
Uninstallation complete.  Please restore dialog.tlk
---------------------------------------------------

 

Hey, those instructions were only for the BWP BAT file installation. I should have mentioned that.

For BWS, you need to let it finish download(or checking your existing files) everything. Before it starts extracting the files, make a copy of the fixed exe and name it setup-bgt.exe(or just setup-bgt if you don't have windows to show extensions). Then proceed and let BWS extract the files. After it finishes extracting the mod files(both the archives and the exe installers) it will tell you that it's about to start installing the mods. Right then copy the two fixed exe files(weidu.exe and setup-bgt.exe) in your bg2 dir and overwrite the existing two files. Be quick, as you only have a few seconds until BWS auto starts the installation. It should then proceed and install normally. If you still get the error, check the bgt-setup.exe file(after you get the error) and compare it with the bgt-setup.exe that you renamed. If they are different, it means that we need to do some more copying, but it should work.

Let me know how it goes.

I tried the method you suggeted, but results are unchanged. Btw, how do you compare between two bgt.exes?

In this case you look at the size and dates. I think my compied exe is 925kb and the exe that doesn't work is 929 or something like that. Or you could try windiff.

Btw, did it ask you to overwrite the two files when you copied them in bg2's dir?

Nevermind, it's fixed. I don't know why though. :lol2:

Thanks for the help.







Also tagged with one or more of these keywords: error, bug, item_rev, spell_rev, 1pp, bgt