simple machines forum

Please login or register.

Login with username, password and session length
 

News:

Remember to make your own backup of posts before submitting.

 
 
Pages: [1] 2

Author Topic: atipblag.dat (ATI/AMD drivers misbehavior)  (Read 8934 times)

FlameScion

  • **
  • Offline Offline
    • MaleView Profile
Blood for the blood God!
FlameScion says,
« on: January 10, 2021, 04:46:21 AM »

So, it seems that I found a weird problem in which Sword of Moonlight launches this message several times when I try to enter the map editor or preview a 3D model:

Debugging: inside GetFileAttributesA
C:\windows\system32\atipblag.dat

I have to dismiss the message several times and then the program will continue, but it won't allow me to start the engine from the main menu, nor to test the map. Still not sure how I could proceed, I can't seem to find anything in regards to that file, but it could be related to something about 3D models, since the message is triggered whenever something related to the models is open?
« Last Edit: January 17, 2021, 01:12:49 PM by Holy Diver »

FlameScion has 19 posts

Holey Moley

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • twitter.com/m__7761
look out honey, 'cause I'm using technology
Holey Moley says,
« Reply #1 on: January 10, 2021, 11:55:59 AM »

I can add a fix for this (I could even disable this test in "release" builds) but FWIW it wouldn't happen if that file existed at that location, unless you have some kind of "sandbox" system that makes it inaccessible.

It's not a file SOM is interested in. Something is injecting itself into every program (probably AMD software) you run and it tries to read this file. I'd appreciate if you can confirm (somehow) it's normal for this file to be completely absent and I will add a a filter tomorrow and upload a patch.

To be clear I'm not suggesting you just make a 0 sized file there. That wouldn't keep others from having your bad experience and making posts here (don't want that) but I would like to know if your system isn't an exception. I understand if you have no idea. Thanks for reporting! It's always quiet around here.
Formerly "Holy Diver" ("Holy") [Holy will be back as soon as I'm back to full form]

Holey Moley has 2726 posts

FlameScion

  • **
  • Offline Offline
    • MaleView Profile
Blood for the blood God!
FlameScion says,
« Reply #2 on: January 10, 2021, 02:54:22 PM »

As an update should someone else run into this problem, it appears it's caused due to AMD's ATI Graphics Driver for certain graphics cards.
 
Also as an extra note, I decided to test some other things. Apparently I can't even run the King's Field 25th Anniversary project, which leads me to believe that my PC really just hates me and, most likely, the engine. What is weird is that before this I had no problems with the version of Sword of Moonlight launched back in 2011 at the time of Playtesting and such (Including the sample of KF1 Remake)

FlameScion has 19 posts

Holey Moley

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • twitter.com/m__7761
look out honey, 'cause I'm using technology
Holey Moley says,
« Reply #3 on: January 10, 2021, 11:53:44 PM »

There's just not a lot of people testing it. Please try to figure out what's going wrong for you so it can be fixed.

There's two versions of SOM. There's the one From Software published in 2000 and this one that's updated. The former was developed for Windows 95. (And has hundreds of bugs and generally isn't worth using for anything today.)

If you have no clue what's happening you can turn on do_log and db_log_bardb_log_debug_bar=7 in the Ex.ini file and look at the log to get an idea of how far it gets. If your computer isn't like 15 years old whatever is wrong is probably minor like this problem you had.

EDITED: Can you see the model previews in the SOM_PRM tool? You seem to have everything working, so if not that can suggest you have an issue with Direct3D 9. (You said you can see models in SOM_MAP. Or did I mishear?)
« Last Edit: January 12, 2021, 07:59:10 AM by Holy Diver »
Formerly "Holy Diver" ("Holy") [Holy will be back as soon as I'm back to full form]

Holey Moley has 2726 posts

Holey Moley

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • twitter.com/m__7761
look out honey, 'cause I'm using technology
Holey Moley says,
« Reply #4 on: January 11, 2021, 01:50:37 AM »

BTW: You can look in %TEMP%\Swordofmoonlight.net for a DMP file after a crash and attach it here. It might tell me something about what's happening on your end. I can make a debug mode build for you to retry to get more information.
Formerly "Holy Diver" ("Holy") [Holy will be back as soon as I'm back to full form]

Holey Moley has 2726 posts

FlameScion

  • **
  • Offline Offline
    • MaleView Profile
Blood for the blood God!
FlameScion says,
« Reply #5 on: January 11, 2021, 03:49:52 AM »

I can see the models in the map editor, as well as the parameter editor and now it doesn't have that annoying message anymore so I assume it's not a Direct3D 9 error. There's no DMP file, I guess because the app itself doesn't crash, I just press the Playtest option and nothing happens. The application will still run and all the options would continue working except for the playtest.

EDIT: If the .exe that makes the engine start is SOM_RUN.exe, could it be related to that? I'm gonna try maybe permissions and such with it

FlameScion has 19 posts

Holey Moley

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • twitter.com/m__7761
look out honey, 'cause I'm using technology
Holey Moley says,
« Reply #6 on: January 11, 2021, 05:08:17 AM »

Well that's probably because you haven't prepared your map. You're skipping the compile step (most likely, everyone seems to do this.)

But you said my itch.io demo didn't work for you? If it crashes there should be a DMP file. If there isn't then it's not even starting, but I can't think of any reason why it wouldn't work if you have a visual in SOM_PRM. Probably antivirus. I want to help but I can't really help with antivirus, it's a third party hosing your computer, not my problem. (I'm not saying it is, but that's my guess.)

Just unzip the ZIP into a folder in your user account's desktop to be sure you have access rights, and make sure you're double clicking the EXE and not the SOM file.
« Last Edit: January 11, 2021, 05:16:08 AM by Holy Diver »
Formerly "Holy Diver" ("Holy") [Holy will be back as soon as I'm back to full form]

Holey Moley has 2726 posts

FlameScion

  • **
  • Offline Offline
    • MaleView Profile
Blood for the blood God!
FlameScion says,
« Reply #7 on: January 11, 2021, 05:16:58 AM »

Oh no, I'm compiling the map before I start the playtest and it's succesful at it, still scratching my head as of why it won't start. I'll try disabling the antivirus for a few minutes and see if that makes it start correctly, and no, I don't mean double-clicking the executable, just giving it admin permitions, though it didn't work either.

EDIT: I realized that I'm just being vague and horrible at expressing myself a bit (sorry, not native english speaker) so more or less I'll try to re-arrenge the events a bit:

- SOM_Main loads normally, I can select my project or start a new one without any problem. In the map editor and the parameter editor I can preview the 3D models of weapons, items, NPCs, etc correctly (thanks to the patch you sent me, the message about atipblag.dat no longer shows up). The map editor also compiles correctly.

-After compiling, wether I hit playtest in the map editor or the main menu, I get no response. Nothing never opens. With the Itch.io project you made something similar happens, because when I double-click KINGS FIELD II.exe nothing happens, despite them being in my desktop.

-I tried some things which I reverted after they didn't work, like right-clicking into SOM_RUN.exe properties and giving it admin rights or disabling Windows Defender and my Firewall shortly.

-There is a project from this forum I downloaded to see if it would work, "Moratheia". Not sure if it was from a previous version of SOM but that one did work without any problems.
« Last Edit: January 11, 2021, 05:59:01 AM by FlameScion »

FlameScion has 19 posts

Holey Moley

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • twitter.com/m__7761
look out honey, 'cause I'm using technology
Holey Moley says,
« Reply #8 on: January 11, 2021, 08:37:41 AM »

1) SOM_RUN isn't what you think. Just leave that alone.

2) If Moratheia worked, are you using GAME.EXE because if so, that's using 2000 SOM like we discussed. If not, you should copy your latest SomEx.dll file into its EX/SYSTEM folder to get the best experience, since it's is quite old.

I can only say, do what I said about do_log/db_log_bardb_log_debug_bar and see if it makes a db.log file. I can't think of a reason you wouldn't have DMP files if it is crashing, assuming you're in the right folder.

You seem to have an issue just with the game playing component. Its log is db.log. And you should turn off do_log/db_log_bardb_log_debug_bar when you're done because the debug log on it will generate huge log files.

It doesn't do anything special that the tools don't do, so I'm drawing a blank. I would think it's your project, but since you say my project (KFII) isn't working either, it's very perplexing.

So, please keep trying to see what you can find out. Also tell me if Moratheia.exe works for you. And then tell me if it works with the current SomEx.dll. Thanks for helping.

BTW: The Moratheia project is really cool (it's a full length game) but it's not balanced for SomEx and it wasn't made for the do_aa extension, so if you don't like the cracks that appear because of that you should turn it off and use your GPU Control Panel's AA options. And I don't know what it's like with the GAME.EXE balance wise, but without you just have to kind of accept that it's basically a demo. The F3 function will keep you alive. The equipment stats don't matter very much since I faked some damage formulas to make it basically playable. It feels pretty good, especially the last dungeon, but I wish its monsters had more limited hit range on their attacks. Then it would feel like a really good/fair game with SomEx.
« Last Edit: January 12, 2021, 07:59:40 AM by Holy Diver »
Formerly "Holy Diver" ("Holy") [Holy will be back as soon as I'm back to full form]

Holey Moley has 2726 posts

Holey Moley

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • twitter.com/m__7761
look out honey, 'cause I'm using technology
Holey Moley says,
« Reply #9 on: January 11, 2021, 10:01:33 AM »

Double-reply:

Quote
-I tried some things which I reverted after they didn't work, like right-clicking into SOM_RUN.exe properties and giving it admin rights or disabling Windows Defender and my Firewall shortly.

Don't do anything like that :eek: it's just adding weird variables that can only cause complications. (Edited: You can do it with the GAME.EXE file if you have one, but it's not worth trying to keep a new project backward compatible with it.)

One thing I'm wondering is since you're playing with SOM_RUN you're going into the TOOL folder where you really shouldn't be poking around, so I'm wondering if you're starting the tools up correctly, but I think you must be.

When you "give admin rights" you're changing the user. It doesn't really give anything. And don't mess with any of the "compatibility" stuff either, that's for old, abandoned software, which you're clearly not using :)

Still, your case makes no sense to me, especially if you can't even get to a DMP file, and I expect you can log it, but that would mean it is starting and crashing if so. So I await feedback...

But fundamentally all of the programs are alike. So there's very little that can be happening, and nothing that would preclude starting (getting to the very first line of code in the program.) Evey program has the same dependencies, so if one crashed before starting they most likely all would. (It's possible it's crashing very early before the DMP system is set up.)

Check your Event Viewer logs for antivirus logs maybe I don't know. There might be something in there. It uses audio and stuff but that wouldn't kick in until well after the program has started and it wouldn't silently close itself.
« Last Edit: January 11, 2021, 10:59:04 AM by Holy Diver »
Formerly "Holy Diver" ("Holy") [Holy will be back as soon as I'm back to full form]

Holey Moley has 2726 posts

FlameScion

  • **
  • Offline Offline
    • MaleView Profile
Blood for the blood God!
FlameScion says,
« Reply #10 on: January 11, 2021, 11:34:53 AM »

-Understood, will leave SOM_RUN alone and will never touch it again.
-Moratheia worked correctly using Moratheia.exe rather than GAME.EXE, and it worked quite well without any kind of problems. However after switching the SomEx.dll guess what? That's right, it didn't start up anymore, just like the previous 2 cases (a hint, or something that adds more confusion).

-Did the do_log/db_log_bar thing and I'm unable to get a db.log (perhaps i'm doing it wrong? I'll keep trying). As for SOM_RUN, I only entered the TOOL folder to switch the SomEx.dll you sent me and after that I did the compatibility stuff but I'm starting from the shortcuts made by the .bat files during the install.
-The Antivirus logs mention nothing of SoM's components either, so maybe we can scratch that out.


UPDATE: Finally got a db.log created! I was being dumb and still checking at %TEMP% but that was for the DMP file (which still hasn't appeared). Attaching it now
« Last Edit: January 11, 2021, 12:18:51 PM by FlameScion »

FlameScion has 19 posts

Holey Moley

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • twitter.com/m__7761
look out honey, 'cause I'm using technology
Holey Moley says,
« Reply #11 on: January 12, 2021, 01:38:39 AM »

Thanks, this is something to work with. The log is empty. Did you turn on db_log_bardb_log_debug_bar at the bottom of the file? If so, it's something happening nearly as soon as the program begins, probably before the crash dump system is installed. If not  Are you on Windows 10?

Strikeout: The crash system is in place for those messages.

For the record, I tested this, and something I forgot is the log will be called rt.log if you do it with a standalone game like my itch.io demo. A db.log is for the game when using SOM or running a game through it (which also works, i.e. without an EXE.)

I've added LOG to the attachment whitelist, but so short a log you could have quoted it :)

I'll probably need your help to proceed. It looks like maybe there's a problem with shaders, since your log doesn't show that, but it could be something else if you didn't turn on debug logging. (You're not getting to the point where shaders are compiled.)

Code: [Select]
Routing logs to
C:\Users\Michael\Saved Games\Playing\KING'S FIELD II\rt.log
01/11/21 18:54:32
"C:\Users\Michael\Saved Games\Playing\KING'S FIELD II\KING'S FIELD II.exe"
SomEx.dll 1.2.3.4 attached
Launcher closing log; anticipating next launch date...
NG'S FIELD II\rt.log
01/11/21 18:54:32
"EX\KING'S FIELD II -- som_db.bin" "B:\>" "A:\>"
SomEx.dll 1.2.3.4 attached
Initializing off back of launcher
Exiting DllMain entrypoint
SomEx initialized
Direct3D9 initialized
DirectDraw initialized
PADDING(blit)
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 colFactors;
//   float4 rcpViewport;
//
//
// Registers:
//
//   Name         Reg   Size
//   ------------ ----- ----
//   rcpViewport  c1       1
//   colFactors   c2       1
//

    vs_3_0

~~~~~~~~~~~~~~~~~~~~~omitted~~~~~~~~~~~~~~~~~~~~~

    mul r1.xyz, r0, c2.z
    add r0.xyz, -r0, c2.w
    cmp oC0.xyz, r0, c3.x, r1

// approximately 30 instruction slots used (3 texture, 27 arithmetic)
#####
DirectSound initialized
DirectInput initialized
SomEx.dll detached
Have a nice day...

Can you open SOM_PRM (Manage Project) and open the model preview screen, and take a small screenshot of the window (with Alt+PrtSc) and then look for a ws.log file, and see if it has a shader log section.

Then tell me if it has "DirectSound initialized" and "DirectInput initialized" on the following lines. The dump system should be operating. (SomEx-1,2,3,4-SOM_DB_crash_2021-1-06_15-25.dmp is what a file may be named.) Let me see...

Strikeout: Actually, I guess that program doesn't need sound or input :doh: (but db.log and rt.log do.)

I've put some log output at the places where a critical error causes termination (should've done this already) and uploaded a debug build in case we need it:

http://csv.swordofmoonlight.net/SomEx.dll/1.2.3.4.zip
http://csv.swordofmoonlight.net/SomEx.dll/1.2.3.4d.zip

Don't worry about the debug build. It will be more useful for a crash dump, but since you're not getting a dump, it may not be crashing. If you do swap in the debug build, you must remember to swap back the normal build when finished. Although it's probably harmless. Anyway, please try again with this DLL. And know that the DLL goes in the TOOL folder for SOM and in the EX/SYSTEM folder for standalone EXE games.

P.S. You're probably not the only one in this boat, so please stick with it :smile:
« Last Edit: January 12, 2021, 07:58:38 AM by Holy Diver »
Formerly "Holy Diver" ("Holy") [Holy will be back as soon as I'm back to full form]

Holey Moley has 2726 posts

FlameScion

  • **
  • Offline Offline
    • MaleView Profile
Blood for the blood God!
FlameScion says,
« Reply #12 on: January 12, 2021, 05:35:29 AM »

I'll go for two different reply so we can get a better comparison. This one will be without the debug build and the next one will be with it.

Yes, I'm on Windows 10 right now, and I enabled the do_log/do_log_bar line, sadly that's all the db.log can show me. On the other hand, I'm attaching rs.log so you can check it for yourself as well in case something comes to your atention. For now that's all I could get from this
Also, even by enabling do_log_bar in your project, I can't get any log from it

EDIT: Sorry, forgot to attach the Screenshot lol

FlameScion has 19 posts

FlameScion

  • **
  • Offline Offline
    • MaleView Profile
Blood for the blood God!
FlameScion says,
« Reply #13 on: January 12, 2021, 05:51:10 AM »

Now, on to the debugger version.

I'm constantly getting this message after replacing the SomEx.dll:

"SomEx.dll - AssertingIsDebuggerPresent

You may attach a debugger now or Retry to run vsjitdebugger
                                                  Cancel   Retry    Skip "
 (Translated the options because my PC is in spanish)

And once again, after starting the Project Manager to preview models, as well as for the map, I get that atipblag.dat is missing once more. Still no crashes, the program is continuing to function. At this point my conclusion (A terrible and non-expert, of course) is that this is indeed related to the Shaders. Maybe the integrated graphics from my CPU, since I don't have a graphics card, is provoking the malfunction of the program, and that could be why the older version works and the newer one doesn't.

 In a few days my brother is going to bring his PC (with an Intel CPU) and allowed me to test SoM there, so if that does something for you I can report how that goes.

Yet again, this is my untrained and guessing opinion, should you need me for anything else and to try to find a workarround, I'll still be here  :thumbsup:

FlameScion has 19 posts

Holey Moley

  • Website System
  • Administrator
  • *****
  • Offline Offline
    • MaleView Profile
    • twitter.com/m__7761
look out honey, 'cause I'm using technology
Holey Moley says,
« Reply #14 on: January 12, 2021, 07:53:15 AM »

AssertingIsDebuggerPresent is normal, I guess it will remind you to replace it eventually.

Sorry this is so difficult for you.

The original (GetFileAttributesA) can't be reporting "atipblag.dat" now, so it must be something else that's touching it. What is the full report about it? (At least it's very unlikely, sometimes the compiler system doesn't notice when files have changed, god knows why.)

I don't think it's shaders.

Okay, here's something! I meant to say db_log_debug_bar = 7 :redface:

EDITED: Also you wrote "do_log_bar" so maybe you're in the wrong section... you need to go to the bottom, to the [Output] section.

Sorry about this again :(

Please see what this tells you. It seems very strange that it's not self-terminating and yet you don't have a crash event. But this should tell where the program is terminating better.

P.S. I may have hoped the debug version would produce system error boxes or something. I don't suppose you have Visual Studio (programming stuff)? Don't worry about it, but if you do you can attach a debugger to it and see if it generates something helpful.

Please hang in there... troubleshooting other people's computers is the damnedest thing programmers have to do.

Edited: I have a feeling the original program (som_db.exe) is ending abruptly in response to an error condition, but I'm surprised it doesn't generate a message box if so. The tools are usually good about error messages, but I don't know if the player produces them.

Below is what my log looks like between what yours has and what I know it doesn't have. If you set db_log_debug_bar = 8 you can get a bit more detailed info that might be useful.

Code: [Select]
dx_ddraw_DirectDrawEnumerateExA()
som_game_CloseHandle()
som_game_CloseHandle()
dx_ddraw_DirectDrawCreateEx()
 {15E65EC0-3B9C-11D2-B92F-00609797EA5B}
 (IDirectDraw7)
058587D0
D3D9C::IDirectDraw7::AddRef()
D3D9C::IDirectDraw7::GetCaps()
D3D9C::IDirectDraw7::EnumDisplayModes()
D3D9C::IDirectDraw7::QueryInterface()
 {F5049E77-4861-11D2-A407-00A0C90629A8}
 (IDirect3D7)
05858890
D3D9C::IDirect3D7::EnumDevices()
D3D9C::IDirect3D7::Release()
~IDirect3D7()
D3D9C::IDirectDraw7::Release()
D3D9C::IDirectDraw7::Release()
Deleting swap chain surfaces...
~IDirectDraw7()
dx_ddraw_DirectDrawCreateEx()
 {64657669-6365-0030-6478-5F6433643963}
 {15E65EC0-3B9C-11D2-B92F-00609797EA5B}
 (IDirectDraw7)
058587D0
D3D9C::IDirectDraw7::AddRef()
D3D9C::IDirectDraw7::GetCaps()
D3D9C::IDirectDraw7::EnumDisplayModes()
D3D9C::IDirectDraw7::QueryInterface()
 {F5049E77-4861-11D2-A407-00A0C90629A8}
 (IDirect3D7)
05858890
D3D9C::IDirect3D7::EnumDevices()
D3D9C::IDirect3D7::Release()
~IDirect3D7()
D3D9C::IDirectDraw7::Release()
D3D9C::IDirectDraw7::Release()
Deleting swap chain surfaces...
~IDirectDraw7()
som_game_CloseHandle()
som_game_CloseHandle()
som_game_CloseHandle()
som_game_CloseHandle()
som_game_CloseHandle()
dx_ddraw_DirectDrawCreateEx()
 {15E65EC0-3B9C-11D2-B92F-00609797EA5B}
 (IDirectDraw7)
058587D0
D3D9C::IDirectDraw7::AddRef()
D3D9C::IDirectDraw7::SetCooperativeLevel()
Ex_detours_SetWindowPos()
Ex_detours_SelectObject()
Ex_detours_SelectObject()
Ex_detours_SelectObject()
Ex_detours_SelectObject()
Ex_detours_SelectObject()
Ex_detours_SelectObject()
Ex_detours_DeleteObject()
DeleteObject: hdi object is F205291A(Bitmap)
Ex_detours_SelectObject()
Ex_detours_SelectObject()
Ex_detours_DeleteObject()
DeleteObject: hdi object is E20531CD(Bitmap)
Ex_detours_DeleteObject()
DeleteObject: hdi object is C0052A2A(Bitmap)
HWND is f0994
Ex_detours_SetWindowPos()
D3D9C::IDirectDraw7::SetDisplayMode()
« Last Edit: January 12, 2021, 08:30:27 AM by Holy Diver »
Formerly "Holy Diver" ("Holy") [Holy will be back as soon as I'm back to full form]

Holey Moley has 2726 posts
Pages: [1] 2