Jump to content

0 A.D. 0.0.24b-alpha crashes under Windows 10


Ceres
 Share

Recommended Posts

On 13/04/2021 at 6:22 PM, vladislavbelov said:

For Windows it's a complete game installer made for the current development version.

Sorry, I was away longer than planned. Where can I find the game installer for the current development version? I checked the Wiki and GitHub Repository, but could not find anything like it. :blush:

Link to comment
Share on other sites

35 minutes ago, Ceres said:

Sorry, I was away longer than planned. Where can I find the game installer for the current development version? I checked the Wiki and GitHub Repository, but could not find anything like it. :blush:

Simply put there is none. We only make installers on demand. E.g. for a release.

 

In the current situation you need to use tortoise git, to find the commit that fixed your bug. https://git-scm.com/docs/git-bisect

 

Link to comment
Share on other sites

Is my understanding correct

  1. that the version I used on Tuesday to build pyrogenesis is the "good" version,
    (is it this one: https://github.com/0ad/0ad/commit/3815c082925df90726f0207edd53497407ebff99)
  2. that I have to know which version is the one causing the crash ("bad"), which the Windows release 0.0.24a was built on?
    (how do I know which version was used for this official build?)
Edited by Ceres
Link to comment
Share on other sites

Sorry, I do not understand this. How do I find out which code version was used for the official Windows 0.0.24b release? This would be the "bad" version for git-bisect, right? And irrespective if this was before or after the "good" version? And the version that I checked out (with TurtoiseGit) is my "good" version (as it does not crash), correct?

I also struggle with what @vladislavbelov asked:

On 13/04/2021 at 5:49 PM, vladislavbelov said:

Ideally I'd like to have answers for the two following questions:

  1. Is it really fixed or is it still reproducible for a release build of the game?
  2. If it's indeed fixed which commit is the reason?

How can I help answering these questions?

Thanks for your patience and help! :)

Link to comment
Share on other sites

36 minutes ago, Ceres said:

How can I help answering these questions?

1. Is it really fixed.

On the laptop that consistently crash running the game with GLSL on, does using the development version fix the crash. In other words can you play on the crashy laptop with GLSL on with the dev version

 

 

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, Angen said:

This was the first commit for a25 https://github.com/0ad/0ad/commit/934feaa9207b6000f9a319760e865f1e5ff491d

I think he asked about build of the game with Release assuming you used Debug setup for building the application.

Thank you! By the way, I did not use "debug" but "release" for my build.

1 hour ago, Stan` said:

1. Is it really fixed.

On the laptop that consistently crash running the game with GLSL on, does using the development version fix the crash. In other words can you play on the crashy laptop with GLSL on with the dev version

Yes, it works on the PC, where it crashed before. Just for clarity: The "crashy" device is the PC with the Intel 605 iGPU (not the laptop). I am sorry that I obviously have not described this in an understandable way in the beginning.

So to confirm:

The version that I built works with GLSL enabled even on the PC (Intel 605 iGPU), where the official 0.0.24a version always crashes when GLSL is enabled.

Edited by Ceres
Link to comment
Share on other sites

Hence my earlier comment:

On 13/04/2021 at 5:43 PM, Ceres said:

Well, it works - also on the PC where the release crashes! :banana: It works both in windowed and in fullscreen mode. I played with some gfx settings, and there was never a crash with GLSL always enabled. The fps is not great when being too bold, but it's just a laptop. ;)

By this I meant that

  1. The official 0.0.24a crashes on the PC as soon as GLSL gets enabled.
  2. The official 0.0.24a does not crash on the PC when GLSL is disabled.
  3. My own built does not crash on the PC at all (GLSL disabled or enabled).
  4. By "PC" I mean this one device with the Intel 605 iGPU, which is the only one, where the official 0.0.24a crashed with GLSL enabled. It is not the laptop which I used to build, but that does not matter, I guess.

Now my question is: Is the "only" missing information, at which point (version/commit) the crash disappears/reappears?

Edited by Ceres
Link to comment
Share on other sites

So I compare the first commit for a25 https://github.com/0ad/0ad/commit/934feaa9207b6000f9a319760e865f1e5ff491d8 (no crash) vs. some earlier commit that crashes, i.e. I have to build earlier commits every time and test if they crash/when they do not crash anymore, right? It seems like guessing a number between 1 and 100 my kids ask me about - I would always guess the number in the middle between upper and lower known numbers. ;)

 

Link to comment
Share on other sites

On 13/04/2021 at 6:11 PM, vladislavbelov said:

...

Yeah, you need to go step-by-step and build. But the good thing is that you can use binary search: if you have a range [A, B], when on the revision A the game is broken and B is fixed you need to check the revision (A + B ) / 2. And then depending on results you need to go to [A, ( A + B ) / 2] or [( A + B ) / 2, B]. That feature is built-in in git, but maybe there is something similar for svn.

That's what @vladislavbelov meant, I guess. Correct?

How can I (with TurtoiseSVN) keep the "good" (no crash) checked out files and check out another version in parallel (for comparison)?

Sorry to ask these many (noob) questions. It seems that I am asking for a lecture in git etc. :blush:

Edited by Ceres
Link to comment
Share on other sites

22 minutes ago, Ceres said:

How can I (with TurtoiseSVN) keep the "good" (no crash) checked out files and check out another version in parallel (for comparison)?

You can't. You can clone it twice though. But if you find the commit that fixed it by slowly reverting to the A24b tag, you won't need to compare the files. just give us the number :)

In your case you know that master is good, but that a24b is bad

  • Thanks 1
Link to comment
Share on other sites

Ok, I guess that I have understood the concept now and can follow your very helpful video with my own TurtoiseGit. However, I have to invoke the context menu on the folder "0ad", i.e. a level higher than shown in your video. But maybe that does no matter.

How can I confirm which version I have checked out? I ask, because I have different context menu possibilities, one called "Git GUI Here", the other "TurtoiseGit >", and even some more. I used "Git GUI Here" => Branch => Checkout =>Tag => A23 => Checkout

As I am not sure if this was correct, I would like to verify what is really checked out.

EDIT:

As my understanding correct that I have to invoke the "update-workspaces.bat" script every time I build from another/earlier commit?

1.png

Edited by Ceres
Link to comment
Share on other sites

Ok, thanks. Hmm, now I get a "Unknown compiler version - please run the configure tests and report the results" message when building. Strange, how can the compiler version become unknown, when I have not touched the VC 2017 installation? Oh my, so many questions - I feel very embaressed. :blush:

There are lots of syntax error messages in the build log. Unfortunately, I cannot remember if there were such on my first build (which works nicely). Well, there were not - the logs is now full of them. :(

Edited by Ceres
Link to comment
Share on other sites

Erm, how do I revert to A24B now? I fear I screwed everything up and will clone fresh. And I have to read & understand more about git repos, commits, etc. It's not clear to me how to checkout source code at a certain commit.

EDIT:

I have good knowledge in Linux and Windows, and very basic programming skills, but master/head/branches/tags etc. are terra incognita to me.

Do you have a good reading source for this, which is understandable by somebody like me? ;)

Edited by Ceres
Link to comment
Share on other sites

Great, thanks once more! :) My problem - tortoisegit "did not exit cleanly (exit code 1)" - should be resolved by this:

git gc --force
git fetch -p

But it takes ages, so I delete the local folder completely and start from "scratch":

git clone https://gitlab.com/0ad/0ad.git

Sorry, please bear with me...

Edited by Ceres
Link to comment
Share on other sites

Yep, I use a mixture of console and TortoiseGit GUI. ;) I am still struggling in understanding how I can fetch&merge or pull a certain revision. With git on the console it would be something like

Quote

git pull <commit_hash>

But how/where do I get the correct hash of a certain revision I want to build on? And how would I do this with TortoiseGit? The latter does not offer me (via the Pull menu) any option to select a revision or something.

1.png

Edited by Ceres
Link to comment
Share on other sites

And as there are multiple hashes starting with a24b, I get this:

$ git reset --hard a24b
error: short object ID a24b is ambiguous
hint: The candidates are:
hint:   a24b635c4a tree
hint:   a24b74f607 tree
hint:   a24bd63a5c tree
hint:   a24b03eb7a blob
hint:   a24b0809f8 blob
hint:   a24b10fac3 blob
hint:   a24bbbee9c blob
fatal: ambiguous argument 'a24b': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Hmm, trees and blobs...

 

Edited by Ceres
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...