Release process for 0.2.8_beta1

Help test release candidates for the next release
Swampy
Core Dumper
Posts: 167
Joined: Wed Dec 08, 2004 1:33 am
Location: Southern New Jersey

Post by Swampy »

Reinstall, swampy?
The original Swampland server always had two drives, one with Windows and one with Mandrake 10.1. So I swapped Windows drive back over so this morning so my wife could use it (hers crapped out) and thought I should test the beta release out since it's up and running.
Put what you need in there. server_info should contain the naim of the server, connection settings, politics, and so forth. Message of the day.
Does the information you key into server_info get displayed to the users during the game, or is it just a file for admins to keep notes in?
settings_custom is a file you should be able to send to anyone when they ask for Swampland settings.
Do the settings in settings_custom get used by the server, or is it for documentation purposes only?
User avatar
Lucifer
Project Developer
Posts: 8743
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas

Post by Lucifer »

They're all live, swampy. If you look in settings_dedicated.cfg you'll find INCLUDE statements at a couple of places, and they're for these files, so they get run by the server.

I have my test server configured to INCLUDE settings_custom.cfg from everytime.cfg, so whenever I change something permanent it gets reloaded at the start of the next round. :)
Check out my YouTube channel: https://youtube.com/@davefancella?si=H--oCK3k_dQ1laDN

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

z-man wrote:Swampy: Yes, this is one of the right places. The error log shows the exact crash location in a disassembed piece of code for those who don't want to unzip it. Does anyone know how to analyze such a thing without going crazy?
This is not going to help:

Code: Select all

function: <nosymbols>
Finding the sequence in the source is hard as it's very short, and I'm not familiar with x86.
ˌɑrməˈɡɛˌtrɑn
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

z-man wrote:TnA: And when you click on the start menu entry, what happens?

The user specific configuration files (user.cfg) are now stored in your applications settings directory in the .armagetronad folder. I always forget what it's called by default.
Its nowhere in my computer... I checked every file...and from the start menu i can goto documentation...but cant edit anything from there...
Damn, it sure has been a while!
Swampy
Core Dumper
Posts: 167
Joined: Wed Dec 08, 2004 1:33 am
Location: Southern New Jersey

Post by Swampy »

I found a program called "Debuggy" and here's what it's doing -

I launch the file and it stops here:
490F69 CALL DWORD PTR [4B90E8]
Import:KERNEL32.DLL:GetVersion

I hit continue and a message pops up:
Exception Number C0000005 At Address:41906B
EXCEPTION ACCESS VIOLATION

(I click "OK") And it stops here:

41909A CALL DWORD PTR [4B904C] Import:ntdll.dll:RtlLeaveCriticalSection

(Here's Debuggy's log entrys)
Create Process:1576,Thread:276
Thread Local Base At:7FFDE000
Load Dll:ntdll.dll
Load Dll:WSOCK32.dll
Load Dll:KERNEL32.DLL
Load Dll:WS2_32.DLL
Load Dll:MSVCRT.DLL
Load Dll:ADVAPI32.DLL
Load Dll:RPCRT4.DLL
Load Dll:WS2HELP.DLL
Load Dll:USER32.dll
Load Dll:GDI32.dll
Load Dll:SHELL32.dll
Load Dll:SHLWAPI.dll
Load Dll:COMCTL32.dll
Load Dll:libxml2.dll
Load Dll:iconv.dll
Load Dll:zlib1.dll
Breakpoint encounted At:77F813B1 ,In Thread:276
Breakpoint encounted At:490F43 ,In Thread:276

Does that help?
User avatar
Z-Man
God & Project Admin
Posts: 11710
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

TnA: Try opening the case and look closer. Sometimes files hide in the cooling fins of the CPU heatsink or between memory modules.
No, seriously, what EXACTLY did you do?

Swampy: That only gives a tiny bit of new information (the CriticalSection thing), and without knowing the Debuggy program, I don't know what to make of it, sorry. I also tried using your configuration; apart from the welcome message not being set correctly (which just had the effect that there was no MOTD) and the Language settings on English (should be British English/American English) which is caught and corrected, there seemed to be no problems with the versions I tried.
I'm currently building a release with debug symbols, but before you try that: could you send a debug recording of the server crash? The configuration documentation describes how. Then, we'll at least have a better idea at what point the program crashed.
So far, I'm suspecting that something goes wrong in the network interface setup. That's the only thing I know that is affected by something outside of the configuration files (but the config files, too).

I checked the SF docs; files for the file release system you upload to ftp://upload.sf.net into the incoming directory stay there at least 24 hours and at most 48 hours. So here's how I imagine things going from here (forgot to say so in the first post...): The builders grab the soruces (tarball or CVS tag), build, name their files armagetronad-(dedicated-)0.2.8_beta1.something and upload them to ftp://upload.sf.net/incoming.

If in doubt, choose Luke's aabeta naming rules which I quote here with irrelevant parts snipped:
The Holy Standard of Luke wrote:Filenames should be of the form
Product-Version[-rPkgRev].PkgType.OS.Arch_Bits.PkgFmt
Where:
Product -- Software product: armagetronad or armagetronad-dedicated
Version -- Full version: 0.2.8_beta1
PkgRev -- Package revision; omit for zeroth
OS -- Operating system identifier: redhat, gnulinux, windows, etc
Arch -- System architecture: x86, ppc, sparc, etc
Bits -- System architecture bitness: 16, 32, 64, 128, etc
PkgFmt -- Package format: rpm, deb, exe, zip, etc
Of course, redundant information can be omitted. if the OS is msdos, Arch is automatically x86 and Bits 16 :) win32 can be an abreviation for windows.x86.32.

Then, the builders either add the files to the 0.2.8_beta1 releases themselves in the File Release System (don't forget to set the correct type, and don't mark the release as active and don't send notifications just yet), or inform me here and I'll do the adding.
User avatar
Z-Man
God & Project Admin
Posts: 11710
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Here's the build of the dedicated server with debug symbols (but still compiled with optimizations). Interestingly, the installer size is only marginally (60kb) larger than without debug symbols; I think this makes it worthwile to include debug symbols in all Windows builds.
You do not have the required permissions to view the files attached to this post.
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: luke@dashjr.org

Post by Luke-Jr »

z-man wrote:I hope we can build the final version from one tarball.
Standard-built systems should all be able to use the source release I made, currently only on aabeta's hosting.
z-man wrote:Mmm. We need a way to differentiate clearly between source and binary distribution files; adding -src to all sources is impractical because the Unix convention is not to do that. Perhaps we should give binary files the exact architecture in the suffix, like armagetronad-0.2.8_beta1.win32.exe?
We already have a way used by the aabeta specs:

Code: Select all

armagetronad-0.2.8.beta1.inst.redhat.x86_32.rpm
armagetronad-0.2.8.alpha20050817.bin.windows.x86_32.zip
armagetronad-0.2.8.alpha20050811.inst.gnulinux.x86_32.package
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: luke@dashjr.org

Post by Luke-Jr »

User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

Er, little problem. I did a build and removed my previous settings (var/) to start clean. I start the game up and play a local game. Everything is fine. I hit exit and choose "Leave Grid" and the game crashes.

Code: Select all

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000010

Thread 0 Crashed:

0   com.Sourceforge.ArmagetronAdvanced 	0x0001a004 ePath::~ePath [unified]() + 40 (crt.c:300)
1   com.Sourceforge.ArmagetronAdvanced 	0x0007e998 gAIPlayer::~gAIPlayer [unified]() + 144 (crt.c:300)
2   com.Sourceforge.ArmagetronAdvanced 	0x00177988 tReferenceHolder<gAIPlayer>::Remove(gAIPlayer*) + 656 ((null):-1)
3   com.Sourceforge.ArmagetronAdvanced 	0x0007ec80 gAIPlayer::SetNumberOfAIs(int, int, int, int) + 488 (crt.c:300)
4   com.Sourceforge.ArmagetronAdvanced 	0x000a49ac sg_EnterGameCleanup() + 124 (crt.c:300)
5   com.Sourceforge.ArmagetronAdvanced 	0x000a4a40 sg_EnterGame(nNetState) + 20 (crt.c:300)
6   com.Sourceforge.ArmagetronAdvanced 	0x0009c7b8 own_game(nNetState) + 84 (crt.c:300)
7   com.Sourceforge.ArmagetronAdvanced 	0x000bd508 uMenu::HandleEvent(SDL_Event) + 972 (crt.c:300)
8   com.Sourceforge.ArmagetronAdvanced 	0x000bc4ec uMenu::OnEnter() + 364 (crt.c:300)
9   com.Sourceforge.ArmagetronAdvanced 	0x000bd508 uMenu::HandleEvent(SDL_Event) + 972 (crt.c:300)
10  com.Sourceforge.ArmagetronAdvanced 	0x000bc4ec uMenu::OnEnter() + 364 (crt.c:300)
11  com.Sourceforge.ArmagetronAdvanced 	0x0009fb64 MainMenu(bool) + 3856 (crt.c:300)
Will edit with a recording soon.

Edit: Uploaded
You do not have the required permissions to view the files attached to this post.
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

Err, i reinstalled and saved it same place now files are there..
Damn, it sure has been a while!
User avatar
Z-Man
God & Project Admin
Posts: 11710
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Luke-Jr wrote:
z-man wrote:I hope we can build the final version from one tarball.
Standard-built systems should all be able to use the source release I made, currently only on aabeta's hosting.
I'll have a look at it. How is it built?
Immediate edit: It's "Take CVS, remove CVS files, rename and pack". That's bad, because it requires m4 and python on for the user. You should use "make dist".
Luke-Jr wrote:
z-man wrote:Mmm. We need a way to differentiate clearly between source and binary distribution files; adding -src to all sources is impractical because the Unix convention is not to do that. Perhaps we should give binary files the exact architecture in the suffix, like armagetronad-0.2.8_beta1.win32.exe?
We already have a way used by the aabeta specs:

Code: Select all

armagetronad-0.2.8.beta1.inst.redhat.x86_32.rpm
armagetronad-0.2.8.alpha20050817.bin.windows.x86_32.zip
armagetronad-0.2.8.alpha20050811.inst.gnulinux.x86_32.package
We'll have to talk about that in another thread :)

TnA: heh, that can happen. Perhaps it was trouble with registry entries? If I do a test install, they are always there from previous installations. Gotta check that sometime.

Nemo: Sorry, the recording works fine here. It ends abruptly after the keypress on the "Leave Grid" menu entry, but does not crash. Tested with the Linux debug and optimized build of the current sources and the tagged sources. You'll have to dig up some more information with your own debugger. A dump of variables would be a start, or a binary search in CVS history for the first version that has this bug (takes a long time, first we should try different things). Don't put too much work into it, we don't want to send you to vacation all stressed out :) We'll do a second beta anyway, iit's OK if MacOS misses the first.
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: luke@dashjr.org

Post by Luke-Jr »

z-man wrote:
Luke-Jr wrote:
z-man wrote:I hope we can build the final version from one tarball.
Standard-built systems should all be able to use the source release I made, currently only on aabeta's hosting.
I'll have a look at it. How is it built?
checkout, bootstrap, and pack
z-man wrote:Immediate edit: It's "Take CVS, remove CVS files, rename and pack". That's bad, because it requires m4 and python on for the user. You should use "make dist".
How am I going to 'make dist' without configuring (which certainly is not pre-pack)? m4, at least, is necessary for configure or make, isn't it?
User avatar
Z-Man
God & Project Admin
Posts: 11710
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

All I can say is that that's the way automake is supposed to work. To build the source package with it, you have to bootstrap, configure, and "make dist". Repeating this procedure (without bootstraping) with the generated sources is supposed to produce an identical result, and "make distcheck" verifies that. We also have "make cvscheck" that verifies basic installation/uninstallation workings. It's described in one of the READMEs, either CVS or DEVELOPER.

M4 is only used for building configure from configure.ac, after that, it's not required any more by autoX. We use it to adapt the docs to the local environment if it's available, but copy the pre-generated docs if it's unavailable.

And of course, the resource reordering python script and cvs2cl are not needed with the sources build with "make dist".
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: luke@dashjr.org

Post by Luke-Jr »

z-man wrote:And of course, the resource reordering python script and cvs2cl are not needed with the sources build with "make dist".
So why not move 'make dist' content to bootstrap?
Post Reply