Jump to content

DynDOLOD 3.00 Alpha 180


sheson

Recommended Posts

I got an error during LOD generation:

Quote

[Main Instruction]
Access violation at address 000000000041A26F in module 'DynDOLODx64.exe'.

[Content]
Read of address 0000000000000000 while processing Skyrim.esm MineOreIron04_LVolcanicTundraRocks "Iron Ore Vein" [ACTI:0010DAA0]

I found it in xEdit and it's Skyrim.esm base record, nothing is overwriting it.

As suggested here, I checked all the possibilities and everything seems to be fine on my end (I have sufficient memory, DynDOLOD is excepted in my antivirus). This never happened before.

Link to comment
Share on other sites

13 hours ago, DarthVitrial said:

oh, should I have cleared the Export folder each run?
I did clear it when I first updated to 88 since that was a clean install but I haven't since then.

https://mega.nz/file/J89mDBTD#DyDMEVf2bQeMtaJ4kQKYv7Ld_fb2cT-VckYom-hpKok

EDIT: Could it possible be because I updated from .Net 6.0.3 to 6.0.4? That's the only thing on my system that's changed.

No. Files are simply overwritten as needed.

LODGen is targeted to /using  .NET Framework 4.8. If the .NET 6 update changes anything I do not know. Maybe test by uninstalling it.

I keep running "Execute LODGen" in expert mode on your export files for the four seasons for Tamriel over and over again with no failures.

Since it is random I doubt it has anything to do with specific NIFs for which you might have different versions.

Check which mods overwrite DynDOLOD Resources. Also see https://dyndolod.info/Help/Load-Overwrite-Orders.

20 minutes ago, Katarsi said:

I got an error during LOD generation:

I found it in xEdit and it's Skyrim.esm base record, nothing is overwriting it.

As suggested here, I checked all the possibilities and everything seems to be fine on my end (I have sufficient memory, DynDOLOD is excepted in my antivirus). This never happened before.

Read the first post or https://dyndolod.info/Official-DynDOLOD-Support-Forum which log and debug log and bugreport.txt (if it exists) to upload when making posts.

Link to comment
Share on other sites

42 minutes ago, sheson said:

Is this error repeatable? Always the same base record?

Replace DynDOLODx64.exe with this version, see if it makes a difference.

I replaced it, it's doing its thing without issues now, it had passed that point where the error appeared previously so I think it's good :)

The previous .exe also showed me an error beforehand with something unrelated (totally optional to consider):

Spoiler

I have Realistic Water Two.esm and .esp, but I edited both to only use the raining markers - not the water itself. I consulted with TechAngel about this, so I managed to do it right for my own use. Basically I cut out all the water editing parts and left only rain markers in both plugins. However, DynDOLOD gave me an error for this edited .esm (and I can't remember what it was because I didn't save it). I deactivated both plugins so I could generate LOD. Though my game worked fine with those plugins active (and I have rain ripples on water, which was the goal). If you want to check out what might be the issue, here are both modified plugins: RWTesm and RWTesp 

 

Edited by Katarsi
Link to comment
Share on other sites

33 minutes ago, Katarsi said:

I replaced it, it's doing its thing without issues now, it had passed that point where the error appeared previously so I think it's good :)

It also showed me an error beforehand with something unrelated (totally optional to consider):

  Hide contents

I have Realistic Water Two.esm and .esp, but I edited both to only use the raining markers - not the water itself. I consulted with TechAngel about this, so I managed to do it right for my own use. Basically I cut out all the water editing parts and left only rain markers in both plugins. However, DynDOLOD gave me an error for this edited .esm (and I can't remember what it was because I didn't save it). I deactivated both plugins so I could generate LOD. Though my game worked fine with those plugins active (and I have rain ripples on water, which was the goal). If you want to check out what might be the issue, here are both modified plugins: RWTesm and RWTesp 

 

Really read error messages and their explanations. Temporarily disabling plugins to not see error messages is not fixing the error. The game is only "working fine" until it doesn't.

Use the xEdit error to check plugins for errors. 

To fix unresolved large references in the ESM, use the xEdit script https://github.com/TES5Edit/TES5Edit/blob/dev-4.1.5/Build/Edit Scripts/Skyrim SE - Generate Large References.pas

To see the large reference data on a worldspace record in xEdit, uncheck 'Hide "never shown" in the options. Remove the RNAM data so the script can add the new data.

Generating LOD while temporarily disabling plugins despite all the warnings to not do that, means that their worldspace and cell changes are not being carried forward into the DynDOLOD/Occlusion plugins.

Link to comment
Share on other sites

19 minutes ago, sheson said:

Really read error messages and their explanations. Temporarily disabling plugins to not see error messages is not fixing the error. The game is only "working fine" until it doesn't.

Use the xEdit error to check plugins for errors. 

To fix unresolved large references in the ESM, use the xEdit script https://github.com/TES5Edit/TES5Edit/blob/dev-4.1.5/Build/Edit Scripts/Skyrim SE - Generate Large References.pas

To see the large reference data on a worldspace record in xEdit, uncheck 'Hide "never shown" in the options. Remove the RNAM data so the script can add the new data.

Thank you for the guidance.

Is this the same code as in the .pas file of the same name in Edit Scripts folder of xEdit? I have xEdit v4.0.4.

Link to comment
Share on other sites

19 minutes ago, Katarsi said:

Thank you for the guidance.

Is this the same code as in the .pas file of the same name in Edit Scripts folder of xEdit? I have xEdit v4.0.4.

Compare the text files. For example with a Notepad++ plugin. Or just check the file dates...

Link to comment
Share on other sites

The new exe you gave me works great, until it's supposed to save at the end. It gets infinitely stuck in the saving process, and it only generates partial save of everything. I tried with both "Save and Exit" and "Save and Zip and Exit", it always gets stuck mid-saving.

Debug log

Edited by Katarsi
Link to comment
Share on other sites

1 hour ago, Katarsi said:

The new exe you gave me works great, until it's supposed to save at the end. It gets infinitely stuck in the saving process, and it only generates partial save of everything. I tried with both "Save and Exit" and "Save and Zip and Exit", it always gets stuck mid-saving.

Debug log

Try this version https://mega.nz/file/MNxWGIwI#bBVIqiC-nP9SSG9SPmvSFqGJtqiLtEhEUI-xhi4f96I

Link to comment
Share on other sites

16 hours ago, sheson said:

As explained at https://dyndolod.info/Help/Ultra-Tree-LOD, ultra tree LOD means that LOD for trees is done is done in object LOD with billboards and optional 3D tree LOD models. HD billboards with Billboard4 are visually the best LOD billboard option. Always generate HD billboard if using ultra tree LOD. Obviously 3D tree LOD requires more resources than billboards. Billboard4 requires a bit more resources than Billboard1/2 but it is nothing compared to 3D tree LOD or especially grass LOD. 

Oh damn. That might be a major reason im facing a bunch of stutter as well, I selected ultra trees without generating hd billboard. Thanks for letting me know. I also generate grass lod at mode 2 which only increases the drain on my computers resources. I should have known lol. Do you think if i get more memory, I could remedy a major stuttering issue I've been getting with ngio and dyndolod grass lod, etc? I only have 8 gbs ram, gtx 1050ti, but would love to play my skyrim at 1920x1080p with ngio dyndolod grass lod mode 2, regular dyndolod trees, and the various city overhaul mods I have like Redbags solitude. I notice my game won't really drop my frames but just stutter a bunch. I mean i can maintain 40-60 fps outside but it stutters like crazy when it loads new cells for grass, etc to load in I think.

Thank you for your continued responses. 

Edited by NBBEAST
Link to comment
Share on other sites

OK, I reinstalled everything from scratch, and...well, I'm at least getting a DIFFERENT crash?

Now it's an Access Violation. Seems like a race condition?
I'll try again, but hopefully the attached logs and bugreport.txt help.

EDIT: OK, second time it was back to the usual mystery failure with no logs. Might be related to that race condition though? Anyway here are my exports and logs for that:
https://mega.nz/file/otcXGQya#r-KhiASkNjngx0N_2lczQHMeOFyeXhdIof1a9pdstDs
https://mega.nz/file/QpsnmSoD#8veEz79OeB0P8UnlYbAe5z_cILKy-8kLH22TocP0lkU
And here's the event log for the .net error. The error mentions Threading again so I suspect the race condition is indeed related:

pplication: LODGenx64.exe


Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
   at LODGenerator.Geometry.RemoveDuplicate(Boolean)
   at LODGenerator.ShapeDesc..ctor(System.String, LODGenerator.NiFile, LODGenerator.NifMain.NiTriBasedGeom, LODGenerator.StaticDesc, Int32, System.Collections.Generic.List`1<System.String>, System.Collections.Generic.List`1<System.String>, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, LODGenerator.LogFile)
   at LODGenerator.LODApp.TransformShape(LODGenerator.QuadDesc, LODGenerator.StaticDesc, LODGenerator.NiFile, LODGenerator.NifMain.NiTriBasedGeom, LODGenerator.Common.Matrix44, Single, Int32)
   at LODGenerator.LODApp.IterateNodes(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32, LODGenerator.NiFile, LODGenerator.NifMain.NiNode, LODGenerator.Common.Matrix44, Single, Int32 ByRef)
   at LODGenerator.LODApp.ParseNif(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32)
   at LODGenerator.LODApp+<>c__DisplayClass84_0.<DoLOD>b__0(Int32)
   at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)
   at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean)
   at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean)
   at System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler, Boolean)
   at System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>)
   at System.Threading.Tasks.Parallel.For(Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>)
   at LODGenerator.LODApp.DoLOD(LODGenerator.QuadDesc, Boolean)
   at LODGenerator.LODApp.<GenerateLOD>b__85_0(LODGenerator.QuadDesc)
   at System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForEachWorker>b__0(Int32)
   at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)
   at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean)
   at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean)
   at System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler, Boolean)
   at System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>)
   at System.Threading.Tasks.Parallel.ForEachWorker[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<LODGenerator.QuadDesc>, System.Threading.Tasks.ParallelOptions, System.Action`1<LODGenerator.QuadDesc>, System.Action`2<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState>, System.Action`3<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,Int64>, System.Func`4<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`5<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,Int64,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>)
   at System.Threading.Tasks.Parallel.ForEach[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null]](System.Collections.Generic.IEnumerable`1<LODGenerator.QuadDesc>, System.Threading.Tasks.ParallelOptions, System.Action`1<LODGenerator.QuadDesc>)
   at LODGenerator.LODApp.GenerateLOD(System.Collections.Generic.List`1<LODGenerator.StaticDesc>)
   at LODGeneratorCMD.Program.Main(System.String[])

Logs.7z bugreport.txt

Edited by DarthVitrial
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.