Jump to content
  • Announcements

    • AndalayBay

      Orphan Attachments   07/31/2018

      I have been doing some housekeeping lately and I've noticed that I had a lot of orphaned attachments. Attachments get orphaned when the PM or post is deleted without removing the attachment first. Deleting a PM or post does not delete the attachment and the file or image remain on the server. I'd like to ask all members to go through their attachments and delete any attachments you don't need anymore or those that have been orphaned. Where can I get a list of my attachments? Click on your display name in the upper right corner of the forums and pick "My Attachments" from the drop-down list. How can I tell an attachment is orphaned? If the PM has been deleted, you'll see a message like this in your attachment list: Unfortunately there is no message if the post has been deleted, so please check your old posts. We do purge old birthday threads every once in a while. Also some hosted projects have been shut down, so you may have orphaned attachments on one of those locations. Thanks!
AndalayBay

Northern UI Feedback

Recommended Posts

Hmmm, I might have some clues for you. First, the Alchemy menu works fine for a novice level potion. It did what it was supposed to, including naming the potion. I had lots of other ingredients in my inventory.

Here are the details for when it's not working:

  1. My alchemy skill is exactly 25 and the potion I'm trying to make is apprentice level so I need to know the first two properties, which I do.
  2. When I first open the menu, Restore Health and Water Breathing are highlighted, so the menu knows I can make those potions. However only the ingredients for making Restore Health are highlighted.
  3. Now, here's an interesting tidbit: I also have Rumare Slaughterfish Scales in my inventory, which are also used for the Water Breathing potion. However they are a quest item. I'm doing the Go Fish quest, which is actually why I want a Water Breathing potion.
  4. The scales don't show up as a potential ingredient, which is fine, I don't want to use them.

So I'm wondering if it's the quest item that's throwing your menu off?

alchemy1.jpg

alchemy2.jpg

alchemy3.jpg

I just did a bit more testing and I think it's the quest item. I picked up all my ingredients and found another potion that requires Apprentice level affects and I have no problem making that:

alchemy4.jpg

Share this post


Link to post
Share on other sites

You might have a memory issue of some sort. I am getting a lot of BEX crashes. Unfortunately BEX crashes are normal for Oblivion, but not this many. I have to save every time I leave an interior or load a new worldspace.

Share this post


Link to post
Share on other sites

I’m using your crash logger and the logs are empty! However the NUI log is full of stuff. Now I haven’t looked at your crash logs right after a crash, but it looked like they created backups so I’m surprised they are all empty. I’ll take another look when I get back to playing again.

With regards to the alchemy menu, I suggest testing with any quest item, although I haven’t had any other quest ingredients yet. There are a couple throughout the course of the game.

Edited by AndalayBay

Share this post


Link to post
Share on other sites
Quote

I’m using your crash logger and the logs are empty!

The crash logger wipes the file every time you start Oblivion, and writes to it when a crash occurs. Things are simpler that way -- no need for the logger to faff about with multiple files, with copying, writing, reserving, and so on. (Actually, IIRC it uses the same logging mechanism as a standard xSE plug-in.) I could probably have had it only tamper with files during a crash, but when the game is crashing, it just feels like a good idea to do as little as possible, is all.

You need to open the log immediately after a crash, or at least before starting the game again.

Quote

With regards to the alchemy menu, I suggest testing with any quest item, although I haven’t had any other quest ingredients yet. There are a couple throughout the course of the game.

The game I've barely played, and am not familiar with? :P

I have the quest item you mentioned listed in my to-do list, so I'll test with that. If it proves difficult or time-consuming, I can just use the console to cheat.

Edited by DavidJCobb

Share this post


Link to post
Share on other sites

Ok. When I saw that it had a backup, I thought it kept a couple. Honestly I forgot about your plugin and the crash usually happens right when I’ve just finished buttering up an NPC and had a big bartering session, of course, so I just hop right back into the game. :mad:

Tsk tsk. :D Well here’s the wiki page on the rare ingredients, some of which are quest items if you want more testing options. Quest items have zero weight.

Share this post


Link to post
Share on other sites

Jesus. I can see why Bethesda turned that logging call off.

Unfortunately, there's nothing in that log that helps me understand why a crash is occurring, much less why the crash logger DLL isn't catching it. The majority of that log consists of Bethesda-written error messages, the meaning of which isn't precisely clear to me. (Bethesda has one or two disabled logging functions that everything uses. If you want to know about irrecoverable errors that occur in the UI engine, you need to reactivate some of those functions... but then you also get logs for everything else. I don't understand "everything else." It looks like it's something to do with animation issues for doors and other references, but there are so many form IDs listed that there's no way these are causing your crash.)

If you can get a standard crash dump (i.e. the kind seen here), I might be able to take a no-guarantees look at the exception address if the "faulting module" is Oblivion, Submodule_Game (that would be MenuQue), or one of mine. Those Windows-generated logs aren't perfect, but they'll at least give me an offset, hopefully. Otherwise, it's out of my hands.

Edited by DavidJCobb

Share this post


Link to post
Share on other sites

Alchemy issue's fixed. It wasn't due to quest items; rather, I wasn't iterating over a linked list properly when checking whether an ingredient's effects were usable. If an ingredient was only usable by virtue of its second, third, or fourth effect(s), and not by its first, then it was wrongly shown as unselectable.

Share this post


Link to post
Share on other sites
14 minutes ago, DavidJCobb said:

Alchemy issue's fixed. It wasn't due to quest items; rather, I wasn't iterating over a linked list properly when checking whether an ingredient's effects were usable. If an ingredient was only usable by virtue of its second, third, or fourth effect(s), and not by its first, then it was wrongly shown as unselectable.

That's odd because I specifically tested that. I made a potion of Burden and I specifically chose ingredients where Burden was an apprentice level effect. That means it was a second effect. I posted a screenshot a few posts up. I tested that because my Alchemy was exactly 25 and I wanted to make sure I could create potions where the effects were apprentice level. That's why I thought it was due to the quest item. Mind you, the Slaughterfish Scales would have water breathing as the first effect, so maybe that's what triggered the bug (having both novice and apprentice level effects). Nope, Slaughterfish Scales have Water Breathing as apprentice level, so I have no idea. :P

I'll see what I can do regarding the crash report.

Edited by AndalayBay

Share this post


Link to post
Share on other sites

That's odd because I specifically tested that. I made a potion of Burden and I specifically chose ingredients where Burden was an apprentice level effect. That means it was a second effect. I posted a screenshot a few posts up.

Nah, like...

Okay, I don't know anything about Oblivion Alchemy, so say we have: an Alchemy skill of 25; a Widget with effects Waterbreathing and Restore Attribute; a Gadget with effects Restore Attribute and Damage Health; and a Whatsit with effects Invisibility and Waterbreathing. All three will show up in the inventory and can theoretically be used, but in the bugged versions of NorthernUI:

  • The Widget will be selectable because its first effect is Waterbreathing, and there are two Waterbreathing ingredients.
  • The Gadget will be selectable because its first effect is Restore Attribute, and there are two Restore Attribute ingredients.
  • The Whatsit will not be selectable because its first effect is Invisibility, and it is the only Invisibility ingredient.

We looped over all effects when adding the ingredients to categories, so when the "is selectable?" code sees a Waterbreathing effect, it knows there are two ingredients with that effect. However, in the bugged code, the "is selectable?" code itself only sees the first effect on whatever ingredient it's testing.

Share this post


Link to post
Share on other sites

Alchemy in Oblivion isn’t much different than Skyrim. In Oblivion you can carry the apparatus with you so you can create potions on the road. The big difference is Oblivion’s levelling system.

Novice: Alchemy skill 0-24. One effect known.

Apprentice: Alchemy skill 25-49. Two effects known.

Journeyman: Alchemy skill 50-74. Three effects known.

Master: Alchemy skill 75-100. Four effects known.

In the screenshot a few posts above, I showed you the Burden potion. I specifically used Fly Amanita Cap and Nightshade. If you click on those links, you’ll see that Burden is a second level, or apprentice effect. Perhaps we’re saying the same thing and I’m just not understanding your explanation.

I’ll grab your update and give it a run later tonight.

Share this post


Link to post
Share on other sites

Ok, got a BEX crash in a different spot. Reloaded my saved game because battering with a vendor went south.

Problem signature:
  Problem Event Name:	BEX
  Application Name:	Oblivion.exe
  Application Version:	1.2.0.416
  Application Timestamp:	462392c7
  Fault Module Name:	StackHash_e98d
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	00000000
  Exception Offset:	00000000
  Exception Code:	c0000005
  Exception Data:	00000008
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	4105
  Additional Information 1:	e98d
  Additional Information 2:	e98dfca8bcf81bc1740adb135579ad53
  Additional Information 3:	6eab
  Additional Information 4:	6eabdd9e0dc94904be3b39a1c0583635

That looks totally useless. That's also pretty consistent with what I've been getting. Still nothing in your crash logger.

Share this post


Link to post
Share on other sites

This crash is from leaving an interior, which is when most of them occur. Actually, the crashes have tailed off enough that this might be just normal Oblivion.

Problem signature:
  Problem Event Name:	BEX
  Application Name:	Oblivion.exe
  Application Version:	1.2.0.416
  Application Timestamp:	462392c7
  Fault Module Name:	StackHash_e98d
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	00000000
  Exception Offset:	00000000
  Exception Code:	c0000005
  Exception Data:	00000008
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	4105
  Additional Information 1:	e98d
  Additional Information 2:	e98dfca8bcf81bc1740adb135579ad53
  Additional Information 3:	6eab
  Additional Information 4:	6eabdd9e0dc94904be3b39a1c0583635

Unfortunately your log is still empty.

Share this post


Link to post
Share on other sites

This one might prove a little more useful:

Problem signature:
  Problem Event Name:	BEX
  Application Name:	Oblivion.exe
  Application Version:	1.2.0.416
  Application Timestamp:	462392c7
  Fault Module Name:	NorthernUI.dll
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	5be0a8f7
  Exception Offset:	00118917
  Exception Code:	c0000417
  Exception Data:	00000000
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	4105
  Additional Information 1:	3df2
  Additional Information 2:	3df2f3dd1ba1f75412eb4e97724e0560
  Additional Information 3:	0180
  Additional Information 4:	0180bc9e6779cc04243edcfdc34fc793

Unfortunately your crash logger still isn't catching these. I hit the F4 key to check the local map when the crash occurred.

Share this post


Link to post
Share on other sites

It happened again. This time I successfully checked my local map and continued moving to an unexplored area when it crashed again. Often these crashes are caused by bad spawn points, but the reports are saying NUI for some reason.

Problem signature:
  Problem Event Name:	BEX
  Application Name:	Oblivion.exe
  Application Version:	1.2.0.416
  Application Timestamp:	462392c7
  Fault Module Name:	NorthernUI.dll
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	5be0a8f7
  Exception Offset:	00118917
  Exception Code:	c0000417
  Exception Data:	00000000
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	4105
  Additional Information 1:	3df2
  Additional Information 2:	3df2f3dd1ba1f75412eb4e97724e0560
  Additional Information 3:	0180
  Additional Information 4:	0180bc9e6779cc04243edcfdc34fc793

Crash logger still empty.

Edit: It has to be a bad spawn point. It just crashes when I enter that area, no matter what I do. You just have to avoid some areas until the stupid fucking engine resets itself. Very annoying. This is occurring in the city of Bruma, btw. The Open Cities Reborn version, but I've explored this section of the city several times before, so it's probably a corrupted spawn of some sort. :mad:

Edit 2: I think my last save is corrupted. I tried moving along a different direction and it crashed again. I'll try loading a previous save, but this game might be toast.

Edited by AndalayBay

Share this post


Link to post
Share on other sites

Figured it out -- not the crash, but the lack of logs. The C++ Runtime Library has built-in code that's meant to allow us to catch certain crashes involving invalid parameters. The problem is that when this code actually runs, it disables the much better exception-handling mechanism that my crash logger uses. The mechanism that this other code offers is worse, in that it doesn't allow us to retrieve raw processor state.

Indeed, the dumps you just gave me are from that CRT exception-handling code:

5be46d9391982_crtbull.thumb.png.74bd8f2290275a4d981119ff6104a392.png

The solution here should be somewhat simple:

  • Write a CRT invalid-parameter handler that intentionally causes a crash in as few opcodes as possible. Asm { mov eax, 0; mov dword ptr [eax], 0; } should do it. Hopefully, this would override (or at happen before) the default behavior and allow SetUnhandledExceptionFilter to work.
  • Give you a debug copy of NorthernUI's DLL with this change made. I'm not publishing it until I know it's sound.
  • See if you can provoke a crash and get me a proper log.

One possible caveat: my crash logger only records so much of the stack... and I don't know how much of that the CRT will burn through to run this whole system, even just to get to my crash-anyway handler. I may actually have to modify the crash logger to, well, log more.

Here's a NorthernUI DLL build with the described modifications. Toss it in Data/OBSE/Plugins overtop the release build and see if you can get any crash logs with it. NorthernUI.log' should show this build as version 1.0.18.1.

NorthernUI.dll

Edited by DavidJCobb

Share this post


Link to post
Share on other sites

I actually had to uninstall Northern UI and replace it with Darnified. I just couldn't run around Bruma. Guaranteed crash every time.

I should still have a saved game from that time, so I'll reinstall Northern UI and give your new DLL a test run. I should be able to get to it later today. I've got a cat show on the weekend, so I'm busy getting ready for that. Cats to bathe!

Oh and Assembler - yuck! I actually took a course in 370 Assembler a long long long time ago. :P

Share this post


Link to post
Share on other sites

Ok, Oblivion is not happy with its menus now. It crashed on start-up. I'll have to figure out what's going on there. However, your crash log caught it, so here you go: CobbCrashLogger.log

Oblivion crashes on startup when its not happy with the menus. Oh, hang on. I think I know why. Probably due to the font changes made by Darnified. I'll revert those and hopefully be good to go.

Share this post


Link to post
Share on other sites

That crash address is inside of code that handles either font rendering, or the prediction of how large a rendered span of text would be. Somehow, the game is trying to render a font with a null file.

What font changes does DarN make?

Share this post


Link to post
Share on other sites

It was the fonts. Once I reverted Oblivion.ini to the original fonts, the game ran fine. In fact, now I can’t get it to crash! :lmao: I’ll go back to an earlier save.

When you install DarN you can choose different fonts and it replaces fonts 1 - 4 with your selection. Basically it makes all the text smaller which looks better on high resolution monitors.

So I’ll keep playing to see if I can get it to crash. I won’t be able to get back to playing until later tonight.

Share this post


Link to post
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

×