Jump to content

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


Ceres
 Share

Recommended Posts

You mean "up", because the latest one (and in this case the working one) is always (by definition) at the top? Ok, I will keep this in mind.

The a24bxxxxxx are the revisions and the highlighted numbers in the screenshot the commits, correct?

Ā 

There are many [Windows] Automated builds:

https://github.com/0ad/0ad/search?q=[Windows]+Automated+build&type=commits

How could I have found by myself the commit (3815c082925df90726f0207edd53497407ebff99) you kindly posted?

1.png

Link to comment
Share on other sites

9 minutes ago, Ceres said:

Ā 

Ā 

There are many [Windows] Automated builds:

https://github.com/0ad/0ad/search?q=[Windows]+Automated+build&type=commits

How could I have found by myself the commit (3815c082925df90726f0207edd53497407ebff99) you kindly posted?

1.png

It's the one at the top :p

Quote

You mean "up", because the latest one (and in this case the working one) is always (by definition) at the top? Ok, I will keep this in mind.

The a24bxxxxxx are the revisions and the highlighted numbers in the screenshot the commits, correct?

Nope

HEAD (Works on HD 605)
...
...
Fix somewhere here
...
...
...
A24B - Automated build - Broken current version. (Doesn't work on Intel HD 605)
Fix No pch build
...
...

A24
...
... A23

Ā 

Ā 

Ā 

Ā 

Ā 

Ā 

Ā 

Link to comment
Share on other sites

Oh my bad. :blush: The version on top (HEAD) is the one I used for my build. I've started reading some introduction to git and will hopefully learn faster. ;) Just need to see how I do 'git reset --hard a24b' correctly, so that it works (tomorrow, though).

Have a good evening - and thousand thanks for your patience and very helpful hints. :thumbup:

Edited by Ceres
  • Like 1
Link to comment
Share on other sites

Yep, and I don't understand it - yet. But I am really willing to do so. It's good for my personal education, it will be great to be able to help you guys with this wonderful game, and your and others' help and friendliness here is amazing. :)

Link to comment
Share on other sites

So I'm back again (for a short while). I just did this:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

$ git reset --hard 3815c08
Updating files: 100% (2876/2876), done.
HEAD is now at 3815c08292 [Windows] Automated build.

And run 'update-workspaces.bat'. Now I will go to VC and build - just to get the hang on it. ;)

Ā 

Edited by Ceres
Link to comment
Share on other sites

Instead of manually picking a commit I suggest you use git bisect instead. See https://git-scm.com/docs/git-bisect

Example start:

$ git bisect start --term-old broken --term-new fixed
$ git bisect fixed master
$ git bisect broken A24b

After that git will checkout an appropriate commit for you to test and mark as either broken or fixed, this repeats till you found the commit you were looking for.

  • Thanks 2
Link to comment
Share on other sites

Another question: Would it be sufficient to only copy the pyrogenesis.exe over to the "gaming PC" in question (where it chrashed), or do I need to copy all folders & files (under 'binaries') from the "developer's laptop" to the "gaming PC"?

Link to comment
Share on other sites

10 minutes ago, Ceres said:

Another question: Would it be sufficient to only copy the pyrogenesis.exe over to the "gaming PC" in question (where it chrashed), or do I need to copy all folders & files (under 'binaries') from the "developer's laptop" to the "gaming PC"?

It might be enough yes, you might get some errors, but as long as you manage to start a single player game you're fine ;)Ā 

  • Thanks 1
Link to comment
Share on other sites

Ah...

master@HP-PC MINGW64 ~/Documents/0AD/0ad (master)

$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

master@HP-PC MINGW64 ~/Documents/0AD/0ad (master)
$ git bisect start --term-old broken --term-new fixed

master@HP-PC MINGW64 ~/Documents/0AD/0ad (master|BISECTING)
$ git bisect fixed master

master@HP-PC MINGW64 ~/Documents/0AD/0ad (master|BISECTING)
$ git bisect broken 3815c082925df90726f0207edd53497407ebff99

Bisecting: 1257 revisions left to test after this (roughly 10 steps)
[8e937dd07773957432668863c0bc5aaf6f69f100] Merge 'remotes/trunk'

master@HP-PC MINGW64 ~/Documents/0AD/0ad ((8e937dd077...)|BISECTING)

Is now the time to execute (again) 'update-workspaces.bat', go to VC and build again?

Ā 

PS: Sorry about my stupid 'master' username on the laptop. Could be confused with git's master. ;) And no, I am no master at all (of desaster, maybe :blush:).

Edited by Ceres
Link to comment
Share on other sites

Oh, do I have to close VC and open 'build\workspaces\vs2017\pyrogenesis.sln' fresh? I have not done so just now, but got error messages when starting the build process (e.g. unknown compiler version, despite all solutions have everything set up just as before in VC).

Link to comment
Share on other sites

Not good:

1>------ Build started: Project: Collada, Configuration: Release Win32 ------
2>------ Build started: Project: atlas, Configuration: Release Win32 ------
3>------ Build started: Project: engine, Configuration: Release Win32 ------
4>------ Build started: Project: graphics, Configuration: Release Win32 ------
1>   Creating library ..\..\..\binaries\system\Collada.lib and object ..\..\..\binaries\system\Collada.exp
2>ActorViewer.cpp
2>Brushes.cpp
2>GameLoop.cpp
2>CameraCtrlHandlers.cpp
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2039: 'unary_function': is not a member of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\GameLoop.cpp)
2>c:\users\master\documents\0ad\0ad\libraries\win32\boost\include\boost\detail\container_fwd.hpp(117): note: see declaration of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\GameLoop.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2504: 'unary_function': base class undefined (compiling source file ..\..\..\source\tools\atlas\GameInterface\GameLoop.cpp)
1>Collada.vcxproj -> C:\Users\master\Documents\0AD\0ad\build\workspaces\vs2017\..\..\..\binaries\system\Collada.dll
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2143: syntax error: missing ',' before '<' (compiling source file ..\..\..\source\tools\atlas\GameInterface\GameLoop.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2039: 'unary_function': is not a member of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp)
2>c:\users\master\documents\0ad\0ad\libraries\win32\boost\include\boost\detail\container_fwd.hpp(117): note: see declaration of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2504: 'unary_function': base class undefined (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2143: syntax error: missing ',' before '<' (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2039: 'unary_function': is not a member of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\ActorViewer.cpp)
2>c:\users\master\documents\0ad\0ad\libraries\win32\boost\include\boost\detail\container_fwd.hpp(117): note: see declaration of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\ActorViewer.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\file\file.h(63): warning C4458: declaration of 'pathname' hides class member (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2504: 'unary_function': base class undefined (compiling source file ..\..\..\source\tools\atlas\GameInterface\ActorViewer.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\file\file.h(94): note: see declaration of 'File::pathname' (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp)
2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2143: syntax error: missing ',' before '<' (compiling source file ..\..\..\source\tools\atlas\GameInterface\ActorViewer.cpp)

...

What am I doing wrong now?

Or has it to do with bisect? I just assumed yes, did a bisect bad and build again. Though I am still not clear whether the 'update-workspaces.bat' is necessary every time and/or whether in VC I have to 'reset' something or close and open VC again.

Edited by Ceres
Link to comment
Share on other sites

git.exe bisect fixed
Bisecting: 628 revisions left to test after this (roughly 9 steps)
[2729de9e9daa5810f96bde29f6be3d3402991ee4] Merge 'remotes/trunk'

Success (62875 ms @ 16.04.2021 19:13:06)

In VC, again lots of warnings and errors:

1>------ Build started: Project: Collada, Configuration: Release Win32 ------
2>------ Build started: Project: atlas, Configuration: Release Win32 ------
3>------ Build started: Project: engine, Configuration: Release Win32 ------
4>------ Build started: Project: graphics, Configuration: Release Win32 ------
2>precompiled.cpp
1>precompiled.cpp
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(107): warning C4458: declaration of 'x' hides class member
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(31): note: see declaration of 'FMVector3::x'
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(107): warning C4458: declaration of 'y' hides class member
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(32): note: see declaration of 'FMVector3::y'
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(107): warning C4458: declaration of 'z' hides class member
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(33): note: see declaration of 'FMVector3::z'
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fcdocument\fcdentity.h(167): warning C4458: declaration of 'daeId' hides class member
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fcdocument\fcdobjectwithid.h(42): note: see declaration of 'FCDObjectWithId::daeId'
1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fcdocument\fcdextra.h(199): warning C4458: declaration of 'name' hides class member
2>Unknown compiler version - please run the configure tests and report the results
3>precompiled.cpp

Sorry, I think I have to quit for today - family is waiting. ;)

Edited by Ceres
Link to comment
Share on other sites

On 16/04/2021 at 6:40 PM, Ceres said:

Oh, I thought that I need to build so many commits until I find out which one is the last one that works and which one is the first that crashes (top to bottom). So bisect does that for me? How can it know if it crashes?

@vladislavbelov suggest you do a binary search and git-bisect is the perfect helper for this task. You can fully automate the process but consider this advanced usage of git-bisect which is probably out of reach for now. Just use git-bisect for book keeping and picking a commit in between last broken and first fixed and do building and testing as you did already.

Getting to know git-bisect is worth some initial mind gymnastic.

  • Thanks 1
Link to comment
Share on other sites

Here is what I did:

master@HP-PC MINGW64 ~/Documents/0AD/0ad (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

master@HP-PC MINGW64 ~/Documents/0AD/0ad (master)
$ git bisect start --term-old broken --term-new fixed

master@HP-PC MINGW64 ~/Documents/0AD/0ad (master|BISECTING)
$ git bisect fixed master

master@HP-PC MINGW64 ~/Documents/0AD/0ad (master|BISECTING)
$ git bisect broken 3815c082925df90726f0207edd53497407ebff99
Bisecting: 1257 revisions left to test after this (roughly 10 steps)
[8e937dd07773957432668863c0bc5aaf6f69f100] Merge 'remotes/trunk'

master@HP-PC MINGW64 ~/Documents/0AD/0ad ((8e937dd077...)|BISECTING)

Then I went to VC where warnings and errors where shown when trying to build pyrogenesis.

I understood that the hash 3815c082925df90726f0207edd53497407ebff99 is the broken one (for me). This is not A23, or is it?

Ā 

Ā 

Link to comment
Share on other sites

3 hours ago, Ceres said:

But why did bisect use this one?

It's due to merging (I presume you use github mirror). This may result in anything but a linear history. Guess there was a bug in the script or some manual intervention with issues.

See

$ git rev-list --count A24b..master
2532

There certainly weren't that many commits to svn since then :)

Ā 

All the more reason to use git-bisect which is branch aware. In case you come across a commit (check with git show) which you think is pointless to test or you can't test (because it doesn't build etc) just use "git bisect skip" to get a new suggestion.

  • Thanks 2
Link to comment
Share on other sites

Hey guys, I just wanted to let you know that I have not given up learning to understand how this all works. It just takes ... :blush:

I just started from scratch again and will check throughout this week where this will lead me to.

master@HP-PC MINGW64 ~/Documents/0AD
$ git clone https://github.com/0ad/0ad.git 0ad
Cloning into '0ad'...
remote: Enumerating objects: 515144, done.
remote: Counting objects: 100% (9649/9649), done.
remote: Compressing objects: 100% (2861/2861), done.
remote: Total 515144 (delta 7998), reused 7894 (delta 6777), pack-reused 505495
Receiving objects: 100% (515144/515144), 4.99 GiB | 12.30 MiB/s, done.
Resolving deltas: 100% (402690/402690), done.
Updating files: 100% (35939/35939), done.

Thanks for your patience! :)

  • Like 2
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...