OpenMW 0.44.0

Anything related to PR, release planning and any other non-technical idea how to move the project forward should be discussed here.
Post Reply
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51
Contact:

Re: OpenMW 0.44.0

Post by scrawl » 13 Apr 2018, 11:48

The only thing I can think of that might be different in 3.6's 'drawImplementation' would be the introduction of Vertex Array Object support, but it's not enabled by default. Regardless, a lot of code was refactored to achieve that so there is potential for new bugs.

Some ideas to find the culprit:

1. Run with environment variable OSG_GL_ERROR_CHECKING=ONCE_PER_ATTRIBUTE
2. Run openmw in apitrace, check for GL errors in the replay
3. git bisect the osg repo.

Edit: you're crashing in IncrementalCompileOperation. The crash may or may not be specific to that. Do things work with environment OPENMW_DONT_PRECOMPILE=1 ?

User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51
Contact:

Re: OpenMW 0.44.0

Post by scrawl » 13 Apr 2018, 13:34

Well, after resolving way too many conflicts, I've just finished rebasing the fork to 3.6. Don't think we want to push that yet until the crash JDGBOLT had is resolved, so I've pushed it to a new branch '3.6' for now. Also, I haven't tested if it builds, and I wouldn't be suprised if it doesn't. Testing welcome. We could really use another travis CI instance.

Changelog:
- Removed patch to build with Qt4 by default as (osg)Qt is no longer part of OSG.
- Removed many patches that are now unnecessary because they were merged upstream.

User avatar
akortunov
Posts: 390
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation
Github profile: https://github.com/akortunov

Re: OpenMW 0.44.0

Post by akortunov » 13 Apr 2018, 14:32

scrawl wrote:
13 Apr 2018, 13:34
Also, I haven't tested if it builds, and I wouldn't be suprised if it doesn't. Testing welcome.
Builds fine on Linux.

JDGBOLT
Posts: 16
Joined: 05 Apr 2018, 19:52
Github profile: http://github.com/JDGBOLT

Re: OpenMW 0.44.0

Post by JDGBOLT » 13 Apr 2018, 18:21

Well, just built the new 3.6 branch of the fork, and it does build successfully. The error is still there, and the tried OSG_GL_ERROR_CHECKING=ONCE_PER_ATTRIBUTE didn't seem to produce any additional output, and there seemed to be no change with OPENMW_DONT_PRECOMPILE=1. I ran apitrace on openmw and didn't see anything immediately standing out in opengl errors in the replay, just crashes with that "glretrace: ../mesa-18.0.0/src/mesa/state_tracker/st_cb_bufferobjects.c:461: st_bufferobj_map_range: Assertion `offset < obj->Size' failed." I think the only way to check will be to run a git bisect, which will take some time, as openscenegraph does take at least several minutes to compile each time, plus openmw recompiling.

JDGBOLT
Posts: 16
Joined: 05 Apr 2018, 19:52
Github profile: http://github.com/JDGBOLT

Re: OpenMW 0.44.0

Post by JDGBOLT » 14 Apr 2018, 01:20

Well, after spending the better part of 6+ hours doing git bisect and full recompiles of both OpenMW and OpenSceneGraph, I can conclusively say the cause of the crash when using the Better Beast Bodies Clean Version mod is this commit: https://github.com/OpenMW/osg/commit/94 ... da67713b36 . Something about the way that commit changes the drawing causes it to crash. And it might be specifically something with the detection between whether to use Vertex Array Objects or Vertex Buffer Objects, I can tell you that Vertex Array Objects doesn't seem to work well for OpenMW, as shown in this video: https://streamable.com/imtjh . The mod in question is http://mw.modhistory.com/download-10-10928 , but it seems like that particular mod page is having problems at the moment on Morrowind Modding History. According to Greatness 7 the model from that mod was definitely broken in various ways, but it's possible it might affect other mods users will attempt to use. The video above was recorded with OSG_VERTEX_BUFFER_HINT="VAO" set. When using OSG_VERTEX_BUFFER_HINT="VBO" everything seems to work as expected, with no crashes or anything else. With OSG_VERTEX_BUFFER_HINT="NO_PREFERENCE", which I think is the default value, it causes the immediate crash when loading either the khajiit or argonian models with that mod installed and enabled. There was a lot of infrastructure work done to OSG around the time of this commit which enabled the Vertex Array Object support. Not too sure why that particular model causes a crash with NO_PREFERENCE, but think maybe should switch the OSG::state to use vbo or something as vao is screwed up on openmw, or fix that part perhaps. Anyway, that's what I've found after a day of poking, hopefully this serves to pin down the source of the problem.
Attachments
newbeastbodies33clean.zip
New Beast Bodies mod which caused the crashing with OSG 3.6
(3.89 MiB) Downloaded 5 times

User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51
Contact:

Re: OpenMW 0.44.0

Post by scrawl » 14 Apr 2018, 09:13

Thanks, that is very useful. Since you said the VBO hint works but NO_PREFERENCE does not, I think I know what the problem is, that is an old issue that I already reported that apparently still hasn't been fixed. Can you give me the last lines of the apitrace output before the crash?

JDGBOLT
Posts: 16
Joined: 05 Apr 2018, 19:52
Github profile: http://github.com/JDGBOLT

Re: OpenMW 0.44.0

Post by JDGBOLT » 14 Apr 2018, 19:40

Sure, can do, since the output is kind of long I put it up to pastebin, but this is the full loading of openmw with just the problem mod into a start cell of "balmora, south wall cornerclub", which has both khajiit and argonians within the cell: https://pastebin.com/R6ujZzqn . Hopefully since it is something that is known about it shouldn't be too hard to fix, I have played around a bit with the 3.6 branch of the openmw fork, and other than that crashing everything seems to work as expected, as far as being indistinguishable from the 3.4 branch.

User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51
Contact:

Re: OpenMW 0.44.0

Post by scrawl » 14 Apr 2018, 20:27

Sorry, that's not what I meant. I need the GL calls made. I don't know how to get them from the command line, but if you open qapitrace, expand the last frame, scroll down and take a screenshot, that should be fine.

JDGBOLT
Posts: 16
Joined: 05 Apr 2018, 19:52
Github profile: http://github.com/JDGBOLT

Re: OpenMW 0.44.0

Post by JDGBOLT » 14 Apr 2018, 20:46

Sorry, not too familiar with apitrace. Here is the screenshot. Hopefully this helps.
Attachments
trace.png
Screenshot of the trace.
Last edited by JDGBOLT on 14 Apr 2018, 22:21, edited 1 time in total.

JDGBOLT
Posts: 16
Joined: 05 Apr 2018, 19:52
Github profile: http://github.com/JDGBOLT

Re: OpenMW 0.44.0

Post by JDGBOLT » 14 Apr 2018, 21:08

Okay, in my previous message the forum murdered my screenshot, so hopefully this will actually be visible: https://i.imgur.com/uV3l05q.png

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests