Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tomreyn

Pages: 1 2 3 4 [5] 6 7 8 9 ... 20
101
When you try to disconnect the player in the second slot ("player #1", the one after "player #0"), you get different numbers in the messages about the player getting disconnected:

The in-game menu says "player#2":



...while the warning message says "player #1":



I'd say only one of those can be correct.

102
The options menu is missing an English language translation of the new tileset animation option.
I could have fixed it, but I thinks someone needs a lecture. :-P

103
I just noticed that r4260 failed to shut down cleanly when I used it some hours ago. Sadly I don't have a core file. Here's what I've got:

Code: (terminal output) [Select]
megaglest v3.8-dev
Compiled using: GNUC: 40703 [64bit] on: May  5 2013 13:54:35 platform: Linux-X64 endianness: little
SVN: [Rev: 4260M] - using STREFLOP [SSE] - [no-denormals]
radeon: Acquired access to Hyper-Z.
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5238] Error detected: signal 11:
Error saved to logfile [/home/user1/.megaglest/error.log]
[2013-05-05 16:59:42] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 635] [In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5238] Error detected: signal 11:
] gameInitialized = 1, program = 0x2f8a930

Code: (error.log) [Select]
[2013-05-05 16:59:43] Runtime Error information:
======================================================
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5238] Error detected: signal 11:

Stack Trace:
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x679947] line: 645
./megaglest() [0x679b0f]address [0x679b0f]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7fb2083310b0] line: 0
./megaglest:irc_process_select_descriptors()address [0xb05d1a] line: 0
./megaglest:irc_run()address [0xb047c8] line: 0
./megaglest:Shared::PlatformCommon::IRCThread::execute()address [0xa1b7fa] line: 680
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0xa06b82] line: 90
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7fb20c0dc196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7fb20c11ce49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7fb20beb3f8e] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7fb2083f3e1d] line: 0

104
MegaGlest / Desktop notification when games are played
« on: 3 May 2013, 12:36:16 »
If you like to play MegaGlest occasionally but you cannot host and do not like to sit on the lobby waiting for other players, then you can either
or install one of these applications:
Both of these tools sit in your Desktops' panel / systray and display notifications as soon as a server gets busy.

Note that these tools are completely useless if nobody hosts. That is, if you do not host a server from time to time then you should not expect others to make servers available either. This game lives from your contributions, so please host a server yourself, too, and wait patiently then.

105
Two nice people of the Dutch national Linux user group (kaa-ching and DJSlash) are currently organizing a meeting of the group which will take place on June 1st in Utrecht (Netherlands). They are looking for someone to discuss MegaGlest with or in front of roughly 30 people during that weekend, either on site in Utrecht or remotely (the technology to use for this is open to discussion, but Google Hangout, Mumble, or some - not closer defined - open source video calling solution were brought up). The discussion / talk should be in English (I'm sure Dutch would work, too, or may actually be preferred), last 45 minutes (incl. Q&A, if any), doesn't need to be too technical, since the audience can be mixed, including both developers and people who just enjoy using Linux. A basic understanding of Linux will be necessary, though. My understanding so far is that the topic of the discussion can be freely chosen.

Part of the LUG meeting will be a game tournament involving MegaGlest and 2+ other open source games, to be played on the latest available release.

Some unordered, out of context, quotes from IRC:
Quote
<kaa-ching> tomreyn: I hope you can ask around if anyone in the dev community of MegaGlest would be interested to do a talk in Utrecht
<tomreyn> kaa-ching: i think we have no adult community members nearby
<kaa-ching> ow :-( How would you feel to do a talk over Google Hangout in that case?
<kaa-ching> your voice (and maybe video) over hangout, your slides running on my laptop
<kaa-ching> it would be cool to use hangout or mumble - both would allow multiple attendees so you can listen in to someone else talking :-)
<kaa-ching> DJSlash: my plan was to just use 3G ;-)
<kaa-ching> I'd say expect 30 people to attend
<kaa-ching> 2 rooms with talks and 3 separate rooms with tournaments
<kaa-ching> general audience, 45 minutes

I think anyone who has a solid understanding of MegaGlest (I'm happy to pass on what I know), a basic understanding of Linux, and an idea of how to do a presentation or workshop will be able to do this talk / workshop. It would be much preferred if someone could do it on site (which is probably not an option for me). Remote attendance is also a real option, though.

I think we should get back to them no later than the coming weekend, so let's say our deadline to decide should be April 28.

Is anybody here generally interested in taking on this - you can be sure of my support. Got questions? Just ask.

106
I just tried the latest MegaGlest snapshot (r4227) on my intelbox (Intel GMA X4500MHD, more specific specs below), running (and booting) off a USB 2.0 key on Ubuntu 13.04 - and what can I say:

MegaGlest worked well, right out of the box!

Results:
  • GLSelectBuf still works fine there - no selection issues
  • The red custom mouse pointer works well
  • 30-40 FPS while playing against a CPU on Conflict with Desert2 tileset, with a minimum of 23 FPS with debug view on, all values based on 800x600, with just a ~5 FPS decrease when switching to 1280x800
  • No visible problems after activating texture compression (but also no noticeably increased FPS)
  • CPU load was low or not elevated (the fan remained silent, and it would not when under load)
Minor issues:
  • It feels like units move a bit slow, but I'm not sure why this is, can't put it into words
  • The right-click-walking-instead-of-attacking issue is still present
  • My locale was auto-detected as LC, a language file for which was not found, so MG defaulted to english.lng
Not or not sufficiently tested:
  • Multi-player
  • CPU (I did not actually inspect how load spread across this systems' two cores)
  • Memory allocation (I did not check at all)
Summing it up: I'm excited. :)

107
I've just installed an Ubuntu 13.04 pre-release + all currently available updates on VirtualBox 4.2.12 (host system is my atibox), then tried to install and run MegaGlest 3.7.1.

Here's my experience (pretending to be a first-time MegaGlest user on a freshly installed Ubunt 13.04):

  • After downloading the file from http://megaglest.org (we did not update Debian / Ubuntu packages in time for Wheezy or Raring sadly), I needed to locate the downloaded file which Firefox placed in ~/Downloads, using the file browser available on Ubuntu's Launcher by default.
  • Having found the file, I did what's discussed at http://megaglest.org/installation.html (a web page the download page pointed me to) - I right-clicked on it, selected "Properties", clicked the "Permissions" tab and activated the "Execute: Allow executing file as program" checkbox
  • Then I double-clicked the file and the installer started and guided me through the install process.
  • Once the installation was complete, I was back in Unity, but there was no obvious way to start MegaGlest (no icon on the launcher). However, as soon I typed "megaglest" into the dash all the options ("MegaGlest 3.7.1", "MegaGlest Uninstall 3.7.1", "MegaGlest Map Editor 3.7.1", "MegaGlest G3D Model Viewer 3.7.1") would show up
  • I clicked on the "MegaGlest 3.7.1" icon - nothing (notable) happened
  • I was a bit stuck at this point, looked at the "installation" web page again, also at http://megaglest.org/get-started.html and the README file the installer had opened for me. The first two did not help at all, and the README file just said: Please check the FAQ and read up on the forums for more verbose instructions. (not giving out the locations of these)
  • I looked at http://megaglest.org again and after a while found the FAQ link there, pointing to http://faq.megaglest.org
  • On this huge page, I missed the list of contents because it is not shown by default, but when I found out how to show it I was able to identify my issue as:2 Issues running the game -> 2.1 When I click the game icon nothing happens/a window just opens and closes -> 2.1.1 Linux
    I decided to follow those instructions which involve working on a text terminal.
  • So I opened a terminal window, by clicking on the Terminal icon on the launcher (pressing Ctrl-Alt-T works, too), typed "megaglest" and got:
    The program 'megaglest' is currently not installed. You can install it by typing: sudo apt-get install megaglest
    That's kind of irritating since I just had it installed
  • I realized that the installation I did was not an Ubuntu / deb package, and that the FAQ actually said I should find those files in ~/megaglest by default, so I typed:
    cd megaglest, which worked, then typed ./megaglest to start the executable in this directory, and got this:
Code: [Select]
tomreyn@ubuntubox:~/megaglest$ ./start_megaglest
gamedir [/home/tomreyn/megaglest]
Looking for LDCONFIG []...
LDCONFIG environment variable is not set...
Found LDCONFIG using which [/sbin/ldconfig]...
default library [/home/tomreyn/megaglest/lib/libopenal.so.1] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libdirectfb-1.2.so.0] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libfusion-1.2.so.0] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libdirect-1.2.so.0] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libjpeg.so.62] is missing, attempting to find and link to a newer version if available...
new library link [/usr/lib/x86_64-linux-gnu/libjpeg.so.8] pointed to from [/home/tomreyn/megaglest/lib/libjpeg.so.62]
default library [/home/tomreyn/megaglest/lib/libpng15.so.15] is missing, attempting to find and link to a newer version if available...
new library link [/lib/x86_64-linux-gnu/libpng12.so.0] pointed to from [/home/tomreyn/megaglest/lib/libpng15.so.15]
default library [/home/tomreyn/megaglest/lib/libcurl.so.4] was found in [/usr/lib/x86_64-linux-gnu/libcurl.so.4]
default library [/home/tomreyn/megaglest/lib/libxerces-c-3.1.so] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libicudata.so.40] is missing, attempting to find and link to a newer version if available...
new library link [/usr/lib/x86_64-linux-gnu/libicudata.so.48] pointed to from [/home/tomreyn/megaglest/lib/libicudata.so.40]
default library [/home/tomreyn/megaglest/lib/libicuuc.so.40] is missing, attempting to find and link to a newer version if available...
new library link [/usr/lib/x86_64-linux-gnu/libicuuc.so.48] pointed to from [/home/tomreyn/megaglest/lib/libicuuc.so.40]
default library [/home/tomreyn/megaglest/lib/libGLEW.so.1.5] is missing, attempting to find and link to a newer version if available...
new library link [/usr/lib/x86_64-linux-gnu/libGLEW.so.1.8] pointed to from [/home/tomreyn/megaglest/lib/libGLEW.so.1.5]
default library [/home/tomreyn/megaglest/lib/libGLEW.so.1.5] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libogg.so.0] was found in [/usr/lib/x86_64-linux-gnu/libogg.so.0]
default library [/home/tomreyn/megaglest/lib/libvorbis.so.0] was found in [/usr/lib/x86_64-linux-gnu/libvorbis.so.0]
default library [/home/tomreyn/megaglest/lib/libvorbisfile.so.3] was found in [/usr/lib/x86_64-linux-gnu/libvorbisfile.so.3]
default library [/home/tomreyn/megaglest/lib/libfontconfig.so.1] was found in [/usr/lib/x86_64-linux-gnu/libfontconfig.so.1]
default library [/home/tomreyn/megaglest/lib/libfreetype.so.6] was found in [/usr/lib/x86_64-linux-gnu/libfreetype.so.6]
default library [/home/tomreyn/megaglest/lib/libgnutls.so.26] was found in [/usr/lib/x86_64-linux-gnu/libgnutls.so.26]
default library [/home/tomreyn/megaglest/lib/libldap_r-2.4.so.2] was found in [/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2]
default library [/home/tomreyn/megaglest/lib/libresolv.so.2] was found in [/lib/x86_64-linux-gnu/libresolv.so.2]
default library [/home/tomreyn/megaglest/lib/liblua5.1.so.0] was found in [/usr/lib/x86_64-linux-gnu/liblua5.1.so.0]
default library [/home/tomreyn/megaglest/lib/libftgl.so.2] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libircclient.so.1] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libdl.so.2] was found in [/lib/x86_64-linux-gnu/libdl.so.2]
default library [/home/tomreyn/megaglest/lib/libvlccore.so.5] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libvlc.so.5] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libgcrypt.so.11] was found in [/lib/x86_64-linux-gnu/libgcrypt.so.11]
./megaglest: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
tomreyn@ubuntubox:~/megaglest$
  • So I was stuck again here, this time with an error message. The FAQ said this was to be expected at this point and that I should search both FAQ and forums for more info.
  • I searched the FAQ for "error while loading shared libraries: libopenal.so.1", "libopenal" and "openal" to no avail.
  • I searched the forums for "error while loading shared libraries: libopenal.so.1" and the only thing I could come up with was this: [solved] libopenal.so.0 cannot open shared library, 3.3.7beta2, kubuntu 10.10 and this didn't really help
  • So I searched the web, and after looking around a bit I came across other people who had run into this error message, and had done this to fix it:
    sudo apt-get install libopenal1
  • So I tried this: sudo apt-get install libopenal1 and then I ran ./start_megaglest again and now I got this:
Code: [Select]
tomreyn@ubuntubox:~/megaglest$ ./start_megaglest
gamedir [/home/tomreyn/megaglest]
Looking for LDCONFIG []...
LDCONFIG environment variable is not set...
Found LDCONFIG using which [/sbin/ldconfig]...
default library [/home/tomreyn/megaglest/lib/libopenal.so.1] was found in [/usr/lib/x86_64-linux-gnu/libopenal.so.1]
default library [/home/tomreyn/megaglest/lib/libdirectfb-1.2.so.0] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libfusion-1.2.so.0] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libdirect-1.2.so.0] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libjpeg.so.62] is missing, attempting to find and link to a newer version if available...
new library link [/usr/lib/x86_64-linux-gnu/libjpeg.so.8] pointed to from [/home/tomreyn/megaglest/lib/libjpeg.so.62]
default library [/home/tomreyn/megaglest/lib/libpng15.so.15] is missing, attempting to find and link to a newer version if available...
new library link [/lib/x86_64-linux-gnu/libpng12.so.0] pointed to from [/home/tomreyn/megaglest/lib/libpng15.so.15]
default library [/home/tomreyn/megaglest/lib/libcurl.so.4] was found in [/usr/lib/x86_64-linux-gnu/libcurl.so.4]
default library [/home/tomreyn/megaglest/lib/libxerces-c-3.1.so] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libicudata.so.40] is missing, attempting to find and link to a newer version if available...
new library link [/usr/lib/x86_64-linux-gnu/libicudata.so.48] pointed to from [/home/tomreyn/megaglest/lib/libicudata.so.40]
default library [/home/tomreyn/megaglest/lib/libicuuc.so.40] is missing, attempting to find and link to a newer version if available...
new library link [/usr/lib/x86_64-linux-gnu/libicuuc.so.48] pointed to from [/home/tomreyn/megaglest/lib/libicuuc.so.40]
default library [/home/tomreyn/megaglest/lib/libGLEW.so.1.5] is missing, attempting to find and link to a newer version if available...
new library link [/usr/lib/x86_64-linux-gnu/libGLEW.so.1.8] pointed to from [/home/tomreyn/megaglest/lib/libGLEW.so.1.5]
default library [/home/tomreyn/megaglest/lib/libGLEW.so.1.5] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libogg.so.0] was found in [/usr/lib/x86_64-linux-gnu/libogg.so.0]
default library [/home/tomreyn/megaglest/lib/libvorbis.so.0] was found in [/usr/lib/x86_64-linux-gnu/libvorbis.so.0]
default library [/home/tomreyn/megaglest/lib/libvorbisfile.so.3] was found in [/usr/lib/x86_64-linux-gnu/libvorbisfile.so.3]
default library [/home/tomreyn/megaglest/lib/libfontconfig.so.1] was found in [/usr/lib/x86_64-linux-gnu/libfontconfig.so.1]
default library [/home/tomreyn/megaglest/lib/libfreetype.so.6] was found in [/usr/lib/x86_64-linux-gnu/libfreetype.so.6]
default library [/home/tomreyn/megaglest/lib/libgnutls.so.26] was found in [/usr/lib/x86_64-linux-gnu/libgnutls.so.26]
default library [/home/tomreyn/megaglest/lib/libldap_r-2.4.so.2] was found in [/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2]
default library [/home/tomreyn/megaglest/lib/libresolv.so.2] was found in [/lib/x86_64-linux-gnu/libresolv.so.2]
default library [/home/tomreyn/megaglest/lib/liblua5.1.so.0] was found in [/usr/lib/x86_64-linux-gnu/liblua5.1.so.0]
default library [/home/tomreyn/megaglest/lib/libftgl.so.2] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libircclient.so.1] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libdl.so.2] was found in [/lib/x86_64-linux-gnu/libdl.so.2]
default library [/home/tomreyn/megaglest/lib/libvlccore.so.5] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libvlc.so.5] is missing, attempting to find and link to a newer version if available...
default library [/home/tomreyn/megaglest/lib/libgcrypt.so.11] was found in [/lib/x86_64-linux-gnu/libgcrypt.so.11]
megaglest v3.7.1
Compiled using: GNUC: 40403 [64bit] on: Nov 23 2012 00:00:58 platform: Linux-X64 endianness: little
SVN: [Rev: 3948] - using STREFLOP [SSE] - [no-denormals]
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table

[/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp::TextFTGL] Line 87 Error = 1281 [invalid value] for size = 24 res = 72

[/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp::init] Line 195 Error = 1281 [invalid value] for text [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-=!@#$%^&*()_+:"{}[]/?.,<>\';]

[/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp::SetFaceSize] Line 211 Error = 1281 [invalid value] for facesize = 15

[/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp::init] Line 195 Error = 1281 [invalid value] for text [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-=!@#$%^&*()_+:"{}[]/?.,<>\';]

[/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp::init] Line 195 Error = 1281 [invalid value] for text [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-=!@#$%^&*()_+:"{}[]/?.,<>\';]

[/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp::init] Line 195 Error = 1281 [invalid value] for text [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-=!@#$%^&*()_+:"{}[]/?.,<>\';]

[/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp::init] Line 195 Error = 1281 [invalid value] for text [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-=!@#$%^&*()_+:"{}[]/?.,<>\';]

[/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp::init] Line 195 Error = 1281 [invalid value] for text [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-=!@#$%^&*()_+:"{}[]/?.,<>\';]
Error saved to logfile [/home/tomreyn/.megaglest/error.log]
[2013-04-20 16:34:56] *ERROR* In [/home/softcoder/Code/megaglest/trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 390] [OpenGL error #1281 [0x501] : [invalid value] at file: [/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/texture_gl.cpp], line: 763
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0xb18eae] line: 237
./megaglest:Shared::Graphics::Gl::_assertGl(char const*, int, unsigned int*)address [0x6ffa01] line: 67
./megaglest:Shared::Graphics::Gl::Texture2DGl::init(Shared::Graphics::Texture::Filter, int)address [0xaba4a3] line: 765
./megaglest:Shared::Graphics::TextureManager::init(bool)address [0xa8ea55] line: 84
./megaglest:Glest::Game::Renderer::init()address [0x6fcd8e] line: 422
./megaglest:Glest::Game::Program::init(Shared::Platform::WindowGl*, bool, bool)address [0x77843b] line: 730
./megaglest:Glest::Game::Program::initNormal(Shared::Platform::WindowGl*)address [0x77b577] line: 201
./megaglest:Glest::Game::glestMain(int, char**)address [0x76add5] line: 4476
./megaglest:Glest::Game::glestMainWrapper(int, char**)address [0x76c703] line: 4973
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main()address [0x7fa5c1557ea5] line: 0
./megaglest() [0x5db3e9]address [0x5db3e9]
] gameInitialized = 0, program = 0x306f670
******************************************************
    #2 An error occurred and MegaGlest will close.
Error msg = [OpenGL error #1281 [0x501] : [invalid value] at file: [/home/softcoder/Code/megaglest/trunk/source/shared_lib/sources/graphics/gl/texture_gl.cpp], line: 763
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0xb18eae] line: 237
./megaglest:Shared::Graphics::Gl::_assertGl(char const*, int, unsigned int*)address [0x6ffa01] line: 67
./megaglest:Shared::Graphics::Gl::Texture2DGl::init(Shared::Graphics::Texture::Filter, int)address [0xaba4a3] line: 765
./megaglest:Shared::Graphics::TextureManager::init(bool)address [0xa8ea55] line: 84
./megaglest:Glest::Game::Renderer::init()address [0x6fcd8e] line: 422
./megaglest:Glest::Game::Program::init(Shared::Platform::WindowGl*, bool, bool)address [0x77843b] line: 730
./megaglest:Glest::Game::Program::initNormal(Shared::Platform::WindowGl*)address [0x77b577] line: 201
./megaglest:Glest::Game::glestMain(int, char**)address [0x76add5] line: 4476
./megaglest:Glest::Game::glestMainWrapper(int, char**)address [0x76c703] line: 4973
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main()address [0x7fa5c1557ea5] line: 0
./megaglest() [0x5db3e9]address [0x5db3e9]
]

Please report this bug to  http://bugs.megaglest.org
******************************************************
Aborted (core dumped)
  • So another error, and things seem to have only gotten worse.
  • So I registered on the MegaGlest forums and posted and, after I went through the hoops involved in registering there, I posted an error report.
Altogether, this wasn't a great experience. :-/  (At least this last issue can be due to VirtualBox / virtualization, though.)

Update: It works with VirtualBox 4.2.12 after installing the (non-packaged, image CD) guest drivers provided by this version.

108
When you run --validate-techtrees with the purgeunused option it will delete techtree localizations / translations. Techtree localizations / translations are legitimate files used by the game and should not be deleted.

Example output (kindly provided by Atze, redacted by me):
Code: [Select]
$ mk/linux/megaglest --ini-path=mk/linux/ --data-path=mk/linux/ --validate-techtrees=prax_0.5.2.2=purgeunused
====== Started Validation ======
Filtering techtrees and only looking for the following: prax_0.5.2.2
*NOTE All unused techtree files will be deleted!

---------------- Loading factions inside world ----------------
----------------------------------------------------------------
Checking techPath [/home/atze/.megaglest/techs/] techName [prax_0.5.2.2] total faction count = 2
...

Checking resources, count = 8
...

Errors were detected:
=====================
The Resource type [energy] is not used by any units in this techtree!
The Resource type [green] is not used by any units in this techtree!
The Resource type [kristall] is not used by any units in this techtree!
=====================
Found techtree filecount = 998, used = 673
 
Line ref: 2108, Warning, unused files were detected - START:
=====================
...
[/home/atze/.megaglest/techs/prax_0.5.2.2/lang/prax_0.5.2.2_english.lng]
[/home/atze/.megaglest/techs/prax_0.5.2.2/lang/prax_0.5.2.2_german.lng]
...
Purged 20.76 MB (325) in files

Line ref: 2142, Warning, unused files were detected - END:

Warning, duplicate files were detected - START:
...
Warning, duplicate files were detected - END:
----------------------------------------------------------------
====== Finished Validation ======

109
Bug reports / 3.7.1, r4209: Screen flashes during startup
« on: 29 March 2013, 01:36:53 »
When I start up the game on 3.7.1 or r4209, the screen flashes shortly with white stripes on an otherwise black background on my atibox. It looks like this can be due to some initialization taking place there.

I've had this issue with 3.7.1 and still have it on r4209, but it's not prevent on 3.6.0.3. 3.7.0 has a similar issue, there the main menu screen shows during this initialization (and before the intro starts).

Here's a video of head of trunk. A screenshot of the frame with the flash (roughly at 1 sec playtime) is also available. It's really short, so not a big issue, but it wasn't present in old versions.

110
Lately we tend to have the need to reproduce issues which are limited to WAN connections and are difficult to reproduce when running two instances of MegaGlest on the same host (or on a LAN). That's because there is (almost) no latency there:

Code: [Select]
root@atibox:~# ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.025 ms
64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.025 ms
64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.022 ms
64 bytes from 127.0.0.1: icmp_req=4 ttl=64 time=0.024 ms
^C
--- 127.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.022/0.024/0.025/0.001 ms
root@atibox:~#

Luckily, on Linux, it's rather easy to inject arbitrary latency on a given network device:
Code: [Select]
root@atibox:~# tc qdisc add dev lo root netem delay 50ms
root@atibox:~# ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=100 ms
64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=100 ms
64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=100 ms
64 bytes from 127.0.0.1: icmp_req=4 ttl=64 time=100 ms
64 bytes from 127.0.0.1: icmp_req=5 ttl=64 time=100 ms
64 bytes from 127.0.0.1: icmp_req=6 ttl=64 time=100 ms
64 bytes from 127.0.0.1: icmp_req=7 ttl=64 time=100 ms
^C
--- 127.0.0.1 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6005ms
rtt min/avg/max/mdev = 100.046/100.062/100.075/0.239 ms
root@atibox:~#

To undo, run the sme command with s/add/del/.

This is not a fully adequate emulation, though, since you always have the same latency, so packets will still arrive in the same order, and you're not emulating any other properties which would be varying on a real network link. It's worth a shot, though.

For more complex tests there are WANEM and dummynet:

111
Forum discussion / Forums moved to forum.megaglest.org
« on: 21 March 2013, 00:58:23 »
Hi all,

as you may have notivied the forums have moved to a new location: https://forum.megaglest.org

The Glest team has kindly passed over management of these forums to the MegaGlest team (and set links and redirects on glest.org), acknowledging that MegaGlest is now the most active and likeable continuation of the Glest legacy. (The latter is my personal interpretation.)

We appreciate the trust the Glest team puts in us by passing the management on this central community hub on to the MegaGlest team (and Omega, who has kindly offered to continue to manage the board), and are looking forward to creating the future *Glest* forums, by means of restructuring this resource to make it even more usable.

We will happily continue to cooperate with and host the other Glest forks here, in fact we'll be happy to grat you access to your subforums by means of a hostname of your choice - please get in touch by e-mail or IRC.

Your feedback on technical and privacy issues is also very welcome, please post here or mail webmaster at megaglest dot org.

For a small technical update, I'd like to point out that the forums are now SSL only, this will prevent spoofing on your forum passwords. So now is actually a good time to set a new password (something one should be doing every 6-12 months anyways). When you do, please make it at least 8 characters long, consisting of all of letters, numbers and special characters, and make sure it's not a term found in a  dictionary or a name (doing so is ok when you use a full phrase). We'll get in touch soon to discuss (in more detail) what today's changes mean for forum account holders.

Thanks for your time,

Tom

112
When a network player connects to a server (whether or not headles does, I think, not matter), and is lacking the currently set map, then this user is offered to download it. The user downloads it, the checksum test takes place, and there is an informational message saying that the map was downloaded successfully.

If, however, while the download takes place, the server admin decides to switch to a different map, then the checksum test will compare the checkum of the downloaded map to the map the server admin just set, which is different, and obviously has a different checksum. So in this case a checksum verification error occurs even though the downloaded map is probably fine.

This is a long standing bug, and I think it doesn't just affect maps but all kinds of mods.

113
Sadly I'm not sure what I did to trigger this, other than connecting to a game which was in-progress, disconnecting from it and quitting the game. I also don't have a core file (ulimit -c = 0). I do have the DMP file (please let me know if you'd like this analyzed).

Code: [Select]
$ ./megaglest --connect=127.0.0.1
megaglest v3.8-dev
Compiled using: GNUC: 40702 [64bit] on: Mar 13 2013 22:41:53 platform: Linux-X64 endianness: little
SVN: [Rev: 4186] - using STREFLOP [SSE] - [no-denormals]
Connecting to host [127.0.0.1] using port: 61357
Load game setting unit pos
Client waiting for packet for frame: 1200, copyCachedLastPendingFrameCount = 0
Client waiting for packet FINISHED for frame: 1200, copyCachedLastPendingFrameCount = 1200 waitCount = 1
Resume #1
Client waiting for packet for frame: 1280, copyCachedLastPendingFrameCount = 1260
Client waiting for packet FINISHED for frame: 1280, copyCachedLastPendingFrameCount = 1280 waitCount = 38738
Client waiting for packet for frame: 1360, copyCachedLastPendingFrameCount = 1340
Client waiting for packet FINISHED for frame: 1360, copyCachedLastPendingFrameCount = 1360 waitCount = 88427
Client waiting for packet for frame: 1400, copyCachedLastPendingFrameCount = 1380
Client waiting for packet FINISHED for frame: 1400, copyCachedLastPendingFrameCount = 1400 waitCount = 65825
Client waiting for packet for frame: 1500, copyCachedLastPendingFrameCount = 1480
Client waiting for packet FINISHED for frame: 1500, copyCachedLastPendingFrameCount = 1500 waitCount = 9843
*** buffer overflow detected ***: ./megaglest terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f0fdb9d883c]
/lib/x86_64-linux-gnu/libc.so.6(+0x109710)[0x7f0fdb9d7710]
/lib/x86_64-linux-gnu/libc.so.6(+0x10a7ce)[0x7f0fdb9d87ce]
./megaglest(_ZN6Shared8Platform6Socket10isReadableEb+0xb4)[0xa00174]
./megaglest(_ZN6Shared8Platform6Socket11isConnectedEv+0x65)[0xa00f05]
./megaglest(_ZN6Shared8Platform6Socket4sendEPKvi+0x50)[0xa04fb0]
./megaglest(_ZN5Glest4Game14NetworkMessage4sendEPN6Shared8Platform6SocketEPKvi+0xa5)[0x7c9825]
./megaglest(_ZN5Glest4Game25NetworkMessageCommandList4sendEPN6Shared8Platform6SocketE+0x58)[0x7cbc08]
./megaglest(_ZN5Glest4Game15ClientInterface6updateEv+0x131)[0x7e4461]
./megaglest(_ZN5Glest4Game7Program10loopWorkerEv+0x1ba8)[0x6a4438]
./megaglest(_ZN5Glest4Game9glestMainEiPPc+0xb620)[0x686b90]
./megaglest(_ZN5Glest4Game19glestMainSEHWrapperEiPPc+0x76)[0x68ace6]
./megaglest(_ZN5Glest4Game16glestMainWrapperEiPPc+0x8b)[0x68ae5b]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7f0fdb8ef76d]
./megaglest[0x5106d9]
======= Memory map: ========
00400000-00c3a000 r-xp 00000000 fc:02 12193963                           /home/tomreyn/SCM/megaglest-trunk/mk/linux/megaglest
00e3a000-00e3d000 r--p 0083a000 fc:02 12193963                           /home/tomreyn/SCM/megaglest-trunk/mk/linux/megaglest
00e3d000-00e40000 rw-p 0083d000 fc:02 12193963                           /home/tomreyn/SCM/megaglest-trunk/mk/linux/megaglest
00e40000-00e67000 rw-p 00000000 00:00 0
02d33000-1b0a3000 rw-p 00000000 00:00 0                                  [heap]
7f0f90000000-7f0f90021000 rw-p 00000000 00:00 0
7f0f90021000-7f0f94000000 ---p 00000000 00:00 0
7f0f94000000-7f0f94058000 rw-p 00000000 00:00 0
7f0f94058000-7f0f98000000 ---p 00000000 00:00 0
7f0f98000000-7f0f98021000 rw-p 00000000 00:00 0
7f0f98021000-7f0f9c000000 ---p 00000000 00:00 0
7f0f9c000000-7f0f9c021000 rw-p 00000000 00:00 0
7f0f9c021000-7f0fa0000000 ---p 00000000 00:00 0
7f0fa0000000-7f0fa0021000 rw-p 00000000 00:00 0
7f0fa0021000-7f0fa4000000 ---p 00000000 00:00 0
7f0fa4000000-7f0fa40b4000 rw-p 00000000 00:00 0
7f0fa40b4000-7f0fa8000000 ---p 00000000 00:00 0
7f0fa8000000-7f0fa8033000 rw-p 00000000 00:00 0
7f0fa8033000-7f0fac000000 ---p 00000000 00:00 0
7f0fac000000-7f0fac021000 rw-p 00000000 00:00 0
7f0fac021000-7f0fb0000000 ---p 00000000 00:00 0
7f0fb37ff000-7f0fb3800000 ---p 00000000 00:00 0
7f0fb3800000-7f0fb4000000 rw-p 00000000 00:00 0                          [stack:5881]
7f0fb4000000-7f0fb4021000 rw-p 00000000 00:00 0
7f0fb4021000-7f0fb8000000 ---p 00000000 00:00 0
7f0fb9fe3000-7f0fb9fe4000 ---p 00000000 00:00 0
7f0fb9fe4000-7f0fba7e4000 rw-p 00000000 00:00 0                          [stack:5906]
7f0fba7e4000-7f0fba7e5000 ---p 00000000 00:00 0
7f0fba7e5000-7f0fbafe5000 rw-p 00000000 00:00 0                          [stack:5905]
7f0fbaffd000-7f0fbaffe000 ---p 00000000 00:00 0
7f0fbaffe000-7f0fbb7fe000 rw-p 00000000 00:00 0
7f0fbb7fe000-7f0fbb7ff000 ---p 00000000 00:00 0
7f0fbb7ff000-7f0fbbfff000 rw-p 00000000 00:00 0                          [stack:5882]
7f0fbbfff000-7f0fc0000000 rw-s 00000000 00:14 1042870                    /run/shm/pulse-shm-1901940764
7f0fc0000000-7f0fc0021000 rw-p 00000000 00:00 0
7f0fc0021000-7f0fc4000000 ---p 00000000 00:00 0
7f0fc43f2000-7f0fc43f9000 r-xp 00000000 fc:01 661809                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f0fc43f9000-7f0fc45f8000 ---p 00007000 fc:01 661809                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f0fc45f8000-7f0fc45f9000 r--p 00006000 fc:01 661809                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f0fc45f9000-7f0fc45fa000 rw-p 00007000 fc:01 661809                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f0fc45fa000-7f0fc45fc000 r-xp 00000000 fc:01 662455                     /lib/libnss_mdns4_minimal.so.2
7f0fc45fc000-7f0fc47fb000 ---p 00002000 fc:01 662455                     /lib/libnss_mdns4_minimal.so.2
7f0fc47fb000-7f0fc47fc000 r--p 00001000 fc:01 662455                     /lib/libnss_mdns4_minimal.so.2
7f0fc47fc000-7f0fc47fd000 rw-p 00002000 fc:01 662455                     /lib/libnss_mdns4_minimal.so.2
7f0fc4ffd000-7f0fc4ffe000 ---p 00000000 00:00 0
7f0fc4ffe000-7f0fc57fe000 rw-p 00000000 00:00 0                          [stack:5880]
7f0fc57fe000-7f0fc57ff000 ---p 00000000 00:00 0
7f0fc57ff000-7f0fc5fff000 rw-p 00000000 00:00 0                          [stack:5879]
7f0fc637b000-7f0fc637c000 ---p 00000000 00:00 0
7f0fc637c000-7f0fc6b7c000 rw-p 00000000 00:00 0
7f0fc6b7c000-7f0fc6b7d000 ---p 00000000 00:00 0
7f0fc6b7d000-7f0fc737d000 rw-p 00000000 00:00 0                          [stack:5908]
7f0fc737d000-7f0fc737e000 ---p 00000000 00:00 0
7f0fc737e000-7f0fc7b7e000 rw-p 00000000 00:00 0                          [stack:5907]
7f0fc7bfe000-7f0fc7d54000 rw-s 123252000 00:05 7341                      /dev/dri/card0
7f0fc7d54000-7f0fc7eaa000 rw-s 12999e000 00:05 7341                      /dev/dri/card0
7f0fc7eaa000-7f0fc8000000 rw-s 1230a6000 00:05 7341                      /dev/dri/card0
7f0fc8000000-7f0fc8021000 rw-p 00000000 00:00 0
7f0fc8021000-7f0fcc000000 ---p 00000000 00:00 0
7f0fcc056000-7f0fcc062000 r-xp 00000000 fc:01 659494                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7f0fcc062000-7f0fcc261000 ---p 0000c000 fc:01 659494                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7f0fcc261000-7f0fcc262000 r--p 0000b000 fc:01 659494                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7f0fcc262000-7f0fcc263000 rw-p 0000c000 fc:01 659494                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7f0fcc2ad000-7f0fcc3ad000 rw-s 1316d2000 00:05 7341                      /dev/dri/card0
7f0fcc3ad000-7f0fcc403000 rw-s 1233fe000 00:05 7341                      /dev/dri/card0
7f0fcc40c000-7f0fcc462000 rw-s 1233a8000 00:05 7341                      /dev/dri/card0
7f0fcc462000-7f0fcc4b8000 rw-s 12b72b000 00:05 7341                      /dev/dri/card0
7f0fcc503000-7f0fcc559000 rw-s 12b7d7000 00:05 7341                      /dev/dri/card0
7f0fcc559000-7f0fcc5af000 rw-s 12974d000 00:05 7341                      /dev/dri/card0
7f0fcc661000-7f0fcc6b7000 rw-s 129948000 00:05 7341                      /dev/dri/card0
7f0fcc6d8000-7f0fcc6d9000 rw-s 120dd1000 00:05 7341                      /dev/dri/card0
7f0fcc707000-7f0fcc75d000 rw-s 12b82d000 00:05 7341                      /dev/dri/card0
7f0fcc75d000-7f0fcc85d000 rw-s 115dbc000 00:05 7341                      /dev/dri/card0
======= In MinidumpCallback...

***ERROR details captured:
Crash minidump folder: /home/tomreyn/.megaglest/
file: /home/tomreyn/.megaglest//727edd40-d051-1454-47b6b3c6-707a6a32.dmp
Succeeded: 1
******************************************************
    An unhandled error was detected.

A crash dump file has been created in the folder:
/home/tomreyn/.megaglest/
Crash dump filename is: /home/tomreyn/.megaglest//727edd40-d051-1454-47b6b3c6-707a6a32.dmp
******************************************************

114
This is actually an old bug, and it's not grave, would fixing it would still be nice:
When you host a game, then move (yourself, so the "human" player) to a different slot, then click the "reload last game" button, your player name will vanish off the player list (it is apparently overwritten by an empty string there). The game still remembers your player name, since you will be correctly named in the lobby and in-game chat and your name also shows up on the end of game stats correctly. So it is just lost on the player list (but should not).

115
Today I was testing with Jammy and Filux where I was hosting and they were clients. We played several games. In two of those game, one of them was crashing for reasons which were insufficiently described. When one of them crashed, I paused the game, told the remaining cconnected network player that I would discuss the matter on IRC with the other player who segfaulted - just to learn that the other player timed out when I turned back to him on the running game.

So I tested this again with Titi, he was hosting this time, and we just started a default game and paused it right at the start. Lag was increasing constantly until "0 [20.0]" and more (only the number in square brackets increased, never the first one), and while lag eventually reset it would then increase again to way too high numbers. At the same time we were chatting without noticeable delay.

My game printed the following to the terminal at that time:
Code: [Select]
$ ./megaglest
megaglest v3.8-dev
Compiled using: GNUC: 40702 [64bit] on: Mar  6 2013 18:44:32 platform: Linux-X64 endianness: little
SVN: [Rev: 4168] - using STREFLOP [SSE] - [no-denormals]
radeon: Acquired access to Hyper-Z.
Resume #1
Client waiting for packet for frame: 400, copyCachedLastPendingFrameCount = 380
Client waiting for packet for frame: 440, copyCachedLastPendingFrameCount = 420
Client waiting for packet for frame: 460, copyCachedLastPendingFrameCount = 440
Client waiting for packet for frame: 480, copyCachedLastPendingFrameCount = 460
Client waiting for packet for frame: 500, copyCachedLastPendingFrameCount = 480
Client waiting for packet for frame: 520, copyCachedLastPendingFrameCount = 500
Client waiting for packet for frame: 540, copyCachedLastPendingFrameCount = 520
Resume #1
Client waiting for packet for frame: 600, copyCachedLastPendingFrameCount = 580
Client waiting for packet for frame: 720, copyCachedLastPendingFrameCount = 700
Client waiting for packet for frame: 800, copyCachedLastPendingFrameCount = 780
Client waiting for packet for frame: 880, copyCachedLastPendingFrameCount = 860
Client waiting for packet for frame: 1000, copyCachedLastPendingFrameCount = 980
Client waiting for packet for frame: 1120, copyCachedLastPendingFrameCount = 1100
Client waiting for packet for frame: 1200, copyCachedLastPendingFrameCount = 1180
Client waiting for packet for frame: 1280, copyCachedLastPendingFrameCount = 1260
Client waiting for packet for frame: 1360, copyCachedLastPendingFrameCount = 1340
Client waiting for packet for frame: 1400, copyCachedLastPendingFrameCount = 1380
Client waiting for packet for frame: 1440, copyCachedLastPendingFrameCount = 1420
Client waiting for packet for frame: 1600, copyCachedLastPendingFrameCount = 1580
Client waiting for packet for frame: 1680, copyCachedLastPendingFrameCount = 1660
Client waiting for packet for frame: 1760, copyCachedLastPendingFrameCount = 1740
Client waiting for packet for frame: 1840, copyCachedLastPendingFrameCount = 1820
Client waiting for packet for frame: 1920, copyCachedLastPendingFrameCount = 1900
Client waiting for packet for frame: 2000, copyCachedLastPendingFrameCount = 1980
Client waiting for packet for frame: 2200, copyCachedLastPendingFrameCount = 2180
Client waiting for packet for frame: 2240, copyCachedLastPendingFrameCount = 2220
Client waiting for packet for frame: 2320, copyCachedLastPendingFrameCount = 2300
Client waiting for packet for frame: 2400, copyCachedLastPendingFrameCount = 2380
Client waiting for packet for frame: 2580, copyCachedLastPendingFrameCount = 2560
Resume #1
Client waiting for packet for frame: 2600, copyCachedLastPendingFrameCount = 2580
Client waiting for packet for frame: 2720, copyCachedLastPendingFrameCount = 2700
Client waiting for packet for frame: 2800, copyCachedLastPendingFrameCount = 2780
Client waiting for packet for frame: 2880, copyCachedLastPendingFrameCount = 2860
Client waiting for packet for frame: 2940, copyCachedLastPendingFrameCount = 2920
Client waiting for packet for frame: 2960, copyCachedLastPendingFrameCount = 2940
Client waiting for packet for frame: 3000, copyCachedLastPendingFrameCount = 2980
Client waiting for packet for frame: 3040, copyCachedLastPendingFrameCount = 3020
Client waiting for packet for frame: 3100, copyCachedLastPendingFrameCount = 3080
Client waiting for packet for frame: 3120, copyCachedLastPendingFrameCount = 3100
Client waiting for packet for frame: 3160, copyCachedLastPendingFrameCount = 3140
Client waiting for packet for frame: 3180, copyCachedLastPendingFrameCount = 3160
Client waiting for packet for frame: 3200, copyCachedLastPendingFrameCount = 3180
Client waiting for packet for frame: 3400, copyCachedLastPendingFrameCount = 3380
Client waiting for packet for frame: 3440, copyCachedLastPendingFrameCount = 3420
Client waiting for packet for frame: 3600, copyCachedLastPendingFrameCount = 3580
Client waiting for packet for frame: 3680, copyCachedLastPendingFrameCount = 3660
Client waiting for packet for frame: 3760, copyCachedLastPendingFrameCount = 3740
Client waiting for packet for frame: 3800, copyCachedLastPendingFrameCount = 3780
Client waiting for packet for frame: 3840, copyCachedLastPendingFrameCount = 3820
Client waiting for packet for frame: 4000, copyCachedLastPendingFrameCount = 3980
Client waiting for packet for frame: 4160, copyCachedLastPendingFrameCount = 4140
Client waiting for packet for frame: 4200, copyCachedLastPendingFrameCount = 4180
Client waiting for packet for frame: 4240, copyCachedLastPendingFrameCount = 4220
Client waiting for packet for frame: 4400, copyCachedLastPendingFrameCount = 4380
Client waiting for packet for frame: 4600, copyCachedLastPendingFrameCount = 4580
Client waiting for packet for frame: 4640, copyCachedLastPendingFrameCount = 4620
Client waiting for packet for frame: 4720, copyCachedLastPendingFrameCount = 4700
Client waiting for packet for frame: 4800, copyCachedLastPendingFrameCount = 4780
Client waiting for packet for frame: 4960, copyCachedLastPendingFrameCount = 4940
Client waiting for packet for frame: 5000, copyCachedLastPendingFrameCount = 4980
Client waiting for packet for frame: 5040, copyCachedLastPendingFrameCount = 5020
Client waiting for packet for frame: 5200, copyCachedLastPendingFrameCount = 5180
Client waiting for packet for frame: 5280, copyCachedLastPendingFrameCount = 5260
Client waiting for packet for frame: 5360, copyCachedLastPendingFrameCount = 5340
Client waiting for packet for frame: 5400, copyCachedLastPendingFrameCount = 5380
Client waiting for packet for frame: 5440, copyCachedLastPendingFrameCount = 5420
Client waiting for packet for frame: 5460, copyCachedLastPendingFrameCount = 5440
Client waiting for packet for frame: 5520, copyCachedLastPendingFrameCount = 5500
Client waiting for packet for frame: 5600, copyCachedLastPendingFrameCount = 5580
Client waiting for packet for frame: 5640, copyCachedLastPendingFrameCount = 5620
Client waiting for packet for frame: 5660, copyCachedLastPendingFrameCount = 5640
Client waiting for packet for frame: 5800, copyCachedLastPendingFrameCount = 5780
Client waiting for packet for frame: 5840, copyCachedLastPendingFrameCount = 5820
Client waiting for packet for frame: 6000, copyCachedLastPendingFrameCount = 5980
Client waiting for packet for frame: 6080, copyCachedLastPendingFrameCount = 6060
Client waiting for packet for frame: 6160, copyCachedLastPendingFrameCount = 6140
Client waiting for packet for frame: 6200, copyCachedLastPendingFrameCount = 6180
Client waiting for packet for frame: 6400, copyCachedLastPendingFrameCount = 6380
Client waiting for packet for frame: 6480, copyCachedLastPendingFrameCount = 6460
Client waiting for packet for frame: 6560, copyCachedLastPendingFrameCount = 6540
Client waiting for packet for frame: 6600, copyCachedLastPendingFrameCount = 6580
Client waiting for packet for frame: 6640, copyCachedLastPendingFrameCount = 6620
Client waiting for packet for frame: 6720, copyCachedLastPendingFrameCount = 6700
Client waiting for packet for frame: 6800, copyCachedLastPendingFrameCount = 6780
Client waiting for packet for frame: 7000, copyCachedLastPendingFrameCount = 6980
Client waiting for packet for frame: 7120, copyCachedLastPendingFrameCount = 7100
Client waiting for packet for frame: 7200, copyCachedLastPendingFrameCount = 7180
Client waiting for packet for frame: 7260, copyCachedLastPendingFrameCount = 7240
Client waiting for packet for frame: 7280, copyCachedLastPendingFrameCount = 7260
Client waiting for packet for frame: 7400, copyCachedLastPendingFrameCount = 7380
Client waiting for packet for frame: 7600, copyCachedLastPendingFrameCount = 7580
Client waiting for packet for frame: 7680, copyCachedLastPendingFrameCount = 7660
Client waiting for packet for frame: 7720, copyCachedLastPendingFrameCount = 7700
Client waiting for packet for frame: 7760, copyCachedLastPendingFrameCount = 7740
Client waiting for packet for frame: 7800, copyCachedLastPendingFrameCount = 7780
Client waiting for packet for frame: 7920, copyCachedLastPendingFrameCount = 7900
Client waiting for packet for frame: 8000, copyCachedLastPendingFrameCount = 7980
Client waiting for packet for frame: 8140, copyCachedLastPendingFrameCount = 8120
Client waiting for packet for frame: 8200, copyCachedLastPendingFrameCount = 8180
Client waiting for packet for frame: 8220, copyCachedLastPendingFrameCount = 8200
Client waiting for packet for frame: 8240, copyCachedLastPendingFrameCount = 8220
Client waiting for packet for frame: 8260, copyCachedLastPendingFrameCount = 8240
Client waiting for packet for frame: 8300, copyCachedLastPendingFrameCount = 8280
Client waiting for packet for frame: 8340, copyCachedLastPendingFrameCount = 8320
Client waiting for packet for frame: 8380, copyCachedLastPendingFrameCount = 8360
Client waiting for packet for frame: 8400, copyCachedLastPendingFrameCount = 8380
Client waiting for packet for frame: 8420, copyCachedLastPendingFrameCount = 8400
Client waiting for packet for frame: 8440, copyCachedLastPendingFrameCount = 8420
Client waiting for packet for frame: 8480, copyCachedLastPendingFrameCount = 8460
Client waiting for packet for frame: 8500, copyCachedLastPendingFrameCount = 8480
Client waiting for packet for frame: 8580, copyCachedLastPendingFrameCount = 8560
Client waiting for packet for frame: 8600, copyCachedLastPendingFrameCount = 8580
Client waiting for packet for frame: 8660, copyCachedLastPendingFrameCount = 8640
Client waiting for packet for frame: 8680, copyCachedLastPendingFrameCount = 8660
Client waiting for packet for frame: 8720, copyCachedLastPendingFrameCount = 8700
Client waiting for packet for frame: 8780, copyCachedLastPendingFrameCount = 8760
Client waiting for packet for frame: 8800, copyCachedLastPendingFrameCount = 8780
Client waiting for packet for frame: 8840, copyCachedLastPendingFrameCount = 8820
Client waiting for packet for frame: 8860, copyCachedLastPendingFrameCount = 8840
Client waiting for packet for frame: 8880, copyCachedLastPendingFrameCount = 8860
Client waiting for packet for frame: 9000, copyCachedLastPendingFrameCount = 8980
Client waiting for packet for frame: 9020, copyCachedLastPendingFrameCount = 9000
Client waiting for packet for frame: 9100, copyCachedLastPendingFrameCount = 9080
Client waiting for packet for frame: 9120, copyCachedLastPendingFrameCount = 9100
Client waiting for packet for frame: 9160, copyCachedLastPendingFrameCount = 9140
Client waiting for packet for frame: 9180, copyCachedLastPendingFrameCount = 9160
Client waiting for packet for frame: 9200, copyCachedLastPendingFrameCount = 9180
Client waiting for packet for frame: 9280, copyCachedLastPendingFrameCount = 9260
Client waiting for packet for frame: 9340, copyCachedLastPendingFrameCount = 9320
Client waiting for packet for frame: 9360, copyCachedLastPendingFrameCount = 9340
Client waiting for packet for frame: 9380, copyCachedLastPendingFrameCount = 9360
Client waiting for packet for frame: 9400, copyCachedLastPendingFrameCount = 9380
Client waiting for packet for frame: 9440, copyCachedLastPendingFrameCount = 9420
Client waiting for packet for frame: 9480, copyCachedLastPendingFrameCount = 9460
Client waiting for packet for frame: 9520, copyCachedLastPendingFrameCount = 9500
Client waiting for packet for frame: 9560, copyCachedLastPendingFrameCount = 9540
Client waiting for packet for frame: 9580, copyCachedLastPendingFrameCount = 9560
Client waiting for packet for frame: 9600, copyCachedLastPendingFrameCount = 9580
Client waiting for packet for frame: 9620, copyCachedLastPendingFrameCount = 9600
Client waiting for packet for frame: 9640, copyCachedLastPendingFrameCount = 9620
Client waiting for packet for frame: 9660, copyCachedLastPendingFrameCount = 9640
Client waiting for packet for frame: 9680, copyCachedLastPendingFrameCount = 9660
Client waiting for packet for frame: 9700, copyCachedLastPendingFrameCount = 9680
Client waiting for packet for frame: 9720, copyCachedLastPendingFrameCount = 9700
Client waiting for packet for frame: 9740, copyCachedLastPendingFrameCount = 9720
Client waiting for packet for frame: 9780, copyCachedLastPendingFrameCount = 9760
Client waiting for packet for frame: 9800, copyCachedLastPendingFrameCount = 9780
Client waiting for packet for frame: 9820, copyCachedLastPendingFrameCount = 9800
Client waiting for packet for frame: 9840, copyCachedLastPendingFrameCount = 9820
Client waiting for packet for frame: 9860, copyCachedLastPendingFrameCount = 9840
Client waiting for packet for frame: 9880, copyCachedLastPendingFrameCount = 9860
Client waiting for packet for frame: 9920, copyCachedLastPendingFrameCount = 9900
Client waiting for packet for frame: 10000, copyCachedLastPendingFrameCount = 9980
Client waiting for packet for frame: 10200, copyCachedLastPendingFrameCount = 10180
Client waiting for packet for frame: 10220, copyCachedLastPendingFrameCount = 10200
Client waiting for packet for frame: 10280, copyCachedLastPendingFrameCount = 10260
Client waiting for packet for frame: 10320, copyCachedLastPendingFrameCount = 10300
Client waiting for packet for frame: 10400, copyCachedLastPendingFrameCount = 10380
Client waiting for packet for frame: 10480, copyCachedLastPendingFrameCount = 10460
Client waiting for packet for frame: 10500, copyCachedLastPendingFrameCount = 10480
Client waiting for packet for frame: 10520, copyCachedLastPendingFrameCount = 10500
Client waiting for packet for frame: 10600, copyCachedLastPendingFrameCount = 10580
Client waiting for packet for frame: 10800, copyCachedLastPendingFrameCount = 10780
Client waiting for packet for frame: 10880, copyCachedLastPendingFrameCount = 10860
Client waiting for packet for frame: 10960, copyCachedLastPendingFrameCount = 10940
Client waiting for packet for frame: 11000, copyCachedLastPendingFrameCount = 10980
Client waiting for packet for frame: 11040, copyCachedLastPendingFrameCount = 11020
Client waiting for packet for frame: 11120, copyCachedLastPendingFrameCount = 11100
Client waiting for packet for frame: 11200, copyCachedLastPendingFrameCount = 11180
Client waiting for packet for frame: 11300, copyCachedLastPendingFrameCount = 11280
Client waiting for packet for frame: 11320, copyCachedLastPendingFrameCount = 11300
Client waiting for packet for frame: 11340, copyCachedLastPendingFrameCount = 11320
Client waiting for packet for frame: 11360, copyCachedLastPendingFrameCount = 11340
Client waiting for packet for frame: 11400, copyCachedLastPendingFrameCount = 11380
Client waiting for packet for frame: 11500, copyCachedLastPendingFrameCount = 11480
Client waiting for packet for frame: 11540, copyCachedLastPendingFrameCount = 11520
Client waiting for packet for frame: 11600, copyCachedLastPendingFrameCount = 11580
Client waiting for packet for frame: 11640, copyCachedLastPendingFrameCount = 11620
Client waiting for packet for frame: 11680, copyCachedLastPendingFrameCount = 11660
Client waiting for packet for frame: 11760, copyCachedLastPendingFrameCount = 11740
Client waiting for packet for frame: 11800, copyCachedLastPendingFrameCount = 11780
Client waiting for packet for frame: 11820, copyCachedLastPendingFrameCount = 11800
Client waiting for packet for frame: 11840, copyCachedLastPendingFrameCount = 11820
Client waiting for packet for frame: 11880, copyCachedLastPendingFrameCount = 11860
Client waiting for packet for frame: 12000, copyCachedLastPendingFrameCount = 11980
Client waiting for packet for frame: 12020, copyCachedLastPendingFrameCount = 12000
Client waiting for packet for frame: 12040, copyCachedLastPendingFrameCount = 12020
Client waiting for packet for frame: 12080, copyCachedLastPendingFrameCount = 12060
Client waiting for packet for frame: 12200, copyCachedLastPendingFrameCount = 12180
Client waiting for packet for frame: 12260, copyCachedLastPendingFrameCount = 12240
Client waiting for packet for frame: 12320, copyCachedLastPendingFrameCount = 12300
Client waiting for packet for frame: 12340, copyCachedLastPendingFrameCount = 12320
Client waiting for packet for frame: 12360, copyCachedLastPendingFrameCount = 12340
Client waiting for packet for frame: 12400, copyCachedLastPendingFrameCount = 12380
Client waiting for packet for frame: 12440, copyCachedLastPendingFrameCount = 12420
Client waiting for packet for frame: 12500, copyCachedLastPendingFrameCount = 12480
Client waiting for packet for frame: 12600, copyCachedLastPendingFrameCount = 12580
Client waiting for packet for frame: 12620, copyCachedLastPendingFrameCount = 12600
Client waiting for packet for frame: 12640, copyCachedLastPendingFrameCount = 12620

Crashes with "double free or corruption" during network game may be related.

116
While donig so is a very bad idea for several reasons and I keep telling people so, it's a fact that there are several people who, instead of using separate techtrees with faction links, add extra factions to Megapack. This can result in (non-fatal) errors like the following:

Code: [Select]
[2013-03-06 17:26:29] *ERROR* In [components.cpp::setSelectedItem Line: 433]
instanceName [listBoxFactions4] idx = 0 items[idx] = [Egypt]
[2013-03-06 17:26:29] *ERROR* In [components.cpp::setSelectedItem Line: 433]
instanceName [listBoxFactions4] idx = 1 items[idx] = [Indian]
[2013-03-06 17:26:29] *ERROR* In [components.cpp::setSelectedItem Line: 433]
instanceName [listBoxFactions4] idx = 2 items[idx] = [Magic]
[2013-03-06 17:26:29] *ERROR* In [components.cpp::setSelectedItem Line: 433]
instanceName [listBoxFactions4] idx = 3 items[idx] = [Norsemen]
[2013-03-06 17:26:29] *ERROR* In [components.cpp::setSelectedItem Line: 433]
instanceName [listBoxFactions4] idx = 4 items[idx] = [Persian]
[2013-03-06 17:26:29] *ERROR* In [components.cpp::setSelectedItem Line: 433]
instanceName [listBoxFactions4] idx = 5 items[idx] = [Romans]
[2013-03-06 17:26:29] *ERROR* In [components.cpp::setSelectedItem Line: 433]
instanceName [listBoxFactions4] idx = 6 items[idx] = [Tech]
[2013-03-06 17:26:29] *ERROR* In [components.cpp::setSelectedItem Line: 433]
instanceName [listBoxFactions4] idx = 7 items[idx] = [*Random*]
[2013-03-06 17:26:30] *ERROR* In [menu_state_custom_game.cpp::switchSetupForSlots Line: 2166] Error [[listBoxFactions4] Value not found on list box: [Japanese]
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0xb18eae] line: 237
./megaglest:Glest::Game::GraphicListBox::setSelectedItem(std::string, bool)address [0x619169] line: 435
./megaglest:Glest::Game::MenuStateCustomGame::switchSetupForSlots(Glest::Game::SwitchSetupRequest**, Glest::Game::ServerInterface*&, int, int, bool)address [0x86374e] line: 2146
./megaglest:Glest::Game::MenuStateCustomGame::update()address [0x88024c] line: 2313
./megaglest:Glest::Game::Program::loopWorker()address [0x776493] line: 434
./megaglest:Glest::Game::glestMain(int, char**)address [0x768ff6] line: 4793
./megaglest:Glest::Game::glestMainWrapper(int, char**)address [0x76c703] line: 4973
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main()address [0x7f9331d9576d] line: 0
./megaglest() [0x5db3e9]address [0x5db3e9]
]

From my point of view, people  with broken game data who join a server I host should be unable to trigger errors on my side. To this end, it may be necessary to handle this situation better, which could include disconnecting players with such modified game data.

117
Today I was hosting a game on my atibox, running a headless server there. Titi, Filux and I (using my intelbox), all from western Europe, and all using broadband DSL or better (fiber in my case), remotely connected to it. The server as well as all of our clients were running r4162. This game (which Titi described as "game 5") was a pretty standard 3vs3, on the "Loggerheads A1" map, with tileset "Desert2". The game generally went well, but some 20 (?) minutes into the game my CPU load got pretty high, and remained like this. At the same time, FPS was very low for me, just about 3 to 4 FPS. In fact, my two CPU cores were constantly maxed out by MG (that's according to htop, also the fan was spinning at top speed), and Filux reported the same (unusually high CPU load, very low FPS). At once Filux dropped out with an error. He didn't provide me with any technical details about his crash, nor did the server ("Filux has disconnected"). At this point my CPU load decreased a lot, to the point where my CPU fan was hardly noticeable and even off.

Sadly, some seconds later, my client crashed, too.

On a side note, as you can see in the crash log, we have a duplicate .dmp file extension there. I think this needs to be fixed, too.

So I needed to create a symbol dump. Please note the warning message in this output, too.

And from the symbol dump, I was able to get a stack trace.

118
I was just trying the improvements on joining in-process games in r4150, testing with two processes on my intelbox (see below for specs).

This is what I got on the client while it joined the game:

Code: [Select]
$ ./megaglest
megaglest v3.8-dev
Compiled using: GNUC: 40702 [64bit] on: Mar  1 2013 09:21:00 platform: Linux-X64 endianness: little
SVN: [Rev: 4150] - using STREFLOP [SSE] - [no-denormals]
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5192] Error detected: signal 11:
Error saved to logfile [/home/tomreyn/.megaglest/error.log]
[2013-03-01 09:31:42] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 597] [In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5192] Error detected: signal 11:
] gameInitialized = 1, program = 0x1eebc80
[2013-03-01 09:31:44] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 616] [In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5192] Error detected: signal 11:

Stack Trace:
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cd37] line: 607
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:31:46] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:31:48] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:31:50] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:31:52] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:31:54] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:31:56] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:31:59] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:32:01] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]
[2013-03-01 09:32:03] *ERROR* In [menu_state_connected_game.cpp::update Line: 3378] Error [/home/tomreyn/.megaglest/temp/megaglest-saved-client.xml recursively included
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0x9d06d2] line: 237
./megaglest:Shared::Xml::XmlTree::load(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, bool, bool)address [0x9c0b8b] line: 450
./megaglest:Glest::Game::Game::loadGame(std::string, Glest::Game::Program*, bool, Glest::Game::GameSettings const*)address [0x579cc4] line: 6017
./megaglest:Glest::Game::MenuStateConnectedGame::update()address [0x7092bd] line: 3240
./megaglest:Glest::Game::Program::loopWorker()address [0x6a1b50] line: 459
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x67cc3d] line: 637
./megaglest() [0x67ceff]address [0x67ceff]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f930b25e4a0] line: 0
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b83a] line: 366
./megaglest:Shared::PlatformCommon::SimpleTaskThread::~SimpleTaskThread()address [0x98b999] line: 375
./megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x98c3b9] line: 496
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x9c66df] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930eff0196] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7f930f030e49] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f930edc7e9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f930b31bccd] line: 0
]

At the same time the server was doing well, but as soon as I tried to quit the game it froze.

Edit: Note that I was playing with two processes (server and client) spawned fromt the same build (same computer, same directories) and this error looks like it can be related to this.

119
Titi and I did some testing tonight:

First Titi was hosting, and I connected to his server, we both had r4141, and the option to reconnect / connect to in process games was active. I was connected form the very start of the game, though. I got a timeout about three minutes into the game. I think Titi also got a timeout then (or maybe a segfault?)

Then I hosted without the join-in-process-games option and Titi connected as a client before the game was started. The game setup was very similar. We started the game, and could play without issues for several minutes.

Then I hosted with the join-in-process-games option and Titi connected as a client before the game was started. The game setup was the same as before. We started the game, and both the server and Titi's client reported timeouts after just one or two minutes of gameplay.

We reproduced this two more times. Apparently this issue only occurs when the join-in-process-games option is active.
We also took network reliability measurements (using "mtr -i5 IP_ADDR" vice versa) but there was no increased latency between us.

120
The "summoner" headless game server has vanished off the masterserver lately, so I inspected the situation on the server. I found the megaglest process still running. An attempt to connect to it from my computer failed, but it took quite a while until it did. The servers' log files contained this:

Code: [Select]
[2013-02-23 09:14:24] *ERROR* SOCKET WRITE TIMEOUT In [/srv/ci/workspace/megaglest-trunk_l64/source/shared_lib/sources/platform/posix/socket.cpp::isWritable Line: 1673] i = 0 sock = 8
[2013-02-23 09:14:24] *ERROR* SOCKET WRITE TIMEOUT In [/srv/ci/workspace/megaglest-trunk_l64/source/shared_lib/sources/platform/posix/socket.cpp::isWritable Line: 1673] i = 0 sock = 8
[2013-02-23 09:14:25] *ERROR* In [/srv/ci/workspace/megaglest-trunk_l64/source/glest_game/network/connection_slot.cpp::update Line: 1329] Error [Invalid message type: 81
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0xb49b1e] line: 237
./megaglest:Glest::Game::NetworkInterface::getNextMessageType()address [0x90d2cf] line: 72
./megaglest:Glest::Game::ConnectionSlot::update(bool, int)address [0x91b878] line: 591
./megaglest:Glest::Game::ConnectionSlot::updateSlot(Glest::Game::ConnectionSlotEvent*)address [0x923f25] line: 374
./megaglest:Glest::Game::ConnectionSlotThread::execute()address [0x9243cc] line: 225
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0xb3872f] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7fdcbe654fd5] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7fdcbe698999] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7fdcbe42ce9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7fdcbab29cbd] line: 0
]
[2013-02-23 09:14:25] *ERROR* In [network_interface.cpp::DisplayErrorMessage Line: 99] sErr [Invalid message type: 81
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0xb49b1e] line: 237
./megaglest:Glest::Game::NetworkInterface::getNextMessageType()address [0x90d2cf] line: 72
./megaglest:Glest::Game::ConnectionSlot::update(bool, int)address [0x91b878] line: 591
./megaglest:Glest::Game::ConnectionSlot::updateSlot(Glest::Game::ConnectionSlotEvent*)address [0x923f25] line: 374
./megaglest:Glest::Game::ConnectionSlotThread::execute()address [0x9243cc] line: 225
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0xb3872f] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7fdcbe654fd5] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7fdcbe698999] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7fdcbe42ce9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7fdcbab29cbd] line: 0
]
Message:
Invalid message type: 81
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0xb49b1e] line: 237
./megaglest:Glest::Game::NetworkInterface::getNextMessageType()address [0x90d2cf] line: 72
./megaglest:Glest::Game::ConnectionSlot::update(bool, int)address [0x91b878] line: 591
./megaglest:Glest::Game::ConnectionSlot::updateSlot(Glest::Game::ConnectionSlotEvent*)address [0x923f25] line: 374
./megaglest:Glest::Game::ConnectionSlotThread::execute()address [0x9243cc] line: 225
./megaglest:Shared::Platform::Thread::beginExecution(void*)address [0xb3872f] line: 86
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7fdcbe654fd5] line: 0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:()address [0x7fdcbe698999] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7fdcbe42ce9a] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7fdcbab29cbd] line: 0

I have since rebooted this server, so this situation no longer persists.

121
Bug reports / r4130: Rejoin: Issues with joining in-process games
« on: 19 February 2013, 07:49:01 »
So joining in-process games works since r4129 without going out of synch - that's great.

Some non-fatal issues remain, which I'll list for later:

(1) When a new player joins an in-process game, the illumination of the veteran players's units and structrues sight range is lost (Softcoder: this is not yet fixed for me).

Screenshot:



The player who took this screenshot owns the structures visible here. As such these buildings and their immediate sourroundings (view / sight range) should be illuminated, but they are not. Similarily the units standing behind the main teepee have lost their illuminated surrrounding. To work around this, it's sufficient to move these units.

Apparently this issue is limited to the illumination of the sight/view range. The behaviour regarding whether or not enemy units are visible is correct.
In this screenshot, the enemy units (battle mages) attacking a non-illuminated structure (main teepee) do show properly (and, as expected, become invisible as they move away further):



(2) When setting up a game, clicking on "Reload last game settings" visually restores the settings of the last game properly ("Players can join in game" is ticked and there is both a CPU and an open network slot), but factually nobody else can connect to this server, both while the game has not started, and whle the game is in-progress (client runs into a connect timeout). Unticking and again ticking the "Players can join in game" box fixes this issue: other players can then connect both to before the game started and while it's already in progress.

(3) Even when all participants are on a LAN connection, a player joining an in-process game will have constantly high latency, around 3-5 seconds minimum. On Internet games, this is more like 10 seconds minimum, and can easily cause players to time out. The same players can play on the same server just fine and without increased lag if they play from the very start of the game.
When a players joins the in-process game (and thus has large amounts of lag), there are also complete freezes every ~ 2-4 seconds lasting for ~1-2 seconds, and, just during these freezes, heavily increased CPU load on two (which are maxed out) of four CPU cores.
(This report refers to r4132.)

(4) When a player who previously joined a game when it was already in process disconnects, the game freezes for a second or longer. This is way longer than usually when a player decides to disconnect or is forcefully disconnected.

(5) When a player connects to an in-process game, then disconnects and the same or a different player tries to connect again, s/he is unable to connect. (This report refers to r4132.)

(6) When a player connects to an in-process game, all pre-existing players should receive a notice that someone is joining, explaining the pause. Currently only the game host receives it.

122
Sadly I have no idea how to reproduce this, but since I never ran into this message bfore, I thought I'd post it nevertheless:

Code: [Select]
megaglest v3.7.1
Compiled using: GNUC: 40403 [64bit] on: Nov 23 2012 00:00:58 platform: Linux-X64 endianness: little
SVN: [Rev: 3948] - using STREFLOP [SSE] - [no-denormals]
radeon: Acquired Hyper-Z.
[2013-02-11 21:45:46] *ERROR* In [game.cpp::update Line: 1790] Error [Trying to move unit [100235 - worker] into occupied cell [x [32] y [102]] and field = 0, unit already in cell [100229 - worker]
Stack Trace:
./megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0xb18eae] line: 237
./megaglest:Glest::Game::Map::putUnitCellsPrivate(Glest::Game::Unit*, Shared::Graphics::Vec2<int> const&, Glest::Game::UnitType const*, bool)address [0xa5a77c] line: 1336
./megaglest:Glest::Game::Map::putUnitCells(Glest::Game::Unit*, Shared::Graphics::Vec2<int> const&, bool)address [0xa5ad7c] line: 1262
./megaglest:Glest::Game::World::moveUnitCells(Glest::Game::Unit*)address [0xa1b914] line: 776
./megaglest:Glest::Game::UnitUpdater::updateUnit(Glest::Game::Unit*)address [0xa43d8c] line: 259
./megaglest:Glest::Game::World::updateAllFactionUnits()address [0xa1c2d6] line: 471
./megaglest:Glest::Game::World::update()address [0xa2a36d] line: 569
./megaglest:Glest::Game::Game::update()address [0x642d1c] line: 1544
./megaglest:Glest::Game::Program::loopWorker()address [0x776493] line: 434
./megaglest:Glest::Game::glestMain(int, char**)address [0x768ff6] line: 4793
./megaglest:Glest::Game::glestMainWrapper(int, char**)address [0x76c703] line: 4973
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main()address [0x7f59f4cae76d] line: 0
./megaglest() [0x5db3e9]address [0x5db3e9]
]
radeon: Released Hyper-Z.

I received this error message when I was playing a game hosted on one of Treba's engineer headless servers on the Five On Three map, playing with three other humans (supposedly all using 3.7.1 on various platforms, located in europe and south america), against three mega CPUs. All other players also received an error message (I was not able to get feedback on which message they received exactly "these messages are too long so I don't read them") at the same time I received mine, so the server seems to have failed.

123
MegaGlest / Where the game is non-intuitive for newbies
« on: 26 January 2013, 01:32:19 »
I've tried to sum up some of the issues I often see newbies (and sometimes not just them) run into. These are recurring issues which may make the game less attractive to some and can turn them off, so once we have a list, we should probably also think about those can be fixed.Options: way too many options here, need sub menus / separate screens
  • Lobby: Generally no idea how to use this. The hard to read light-blue list of servers on top are often not considered servers you can connect to.
  • Lobby: They often do not realise this has a chat.
  • Lobby: They often do not realise that a chat is a way to meet other players, as is sitting on a server for a while.
  • Lobby: They will often start by clicking all buttons, saying something like: "MG_newbie_123MG_someone_42tomreyntiti_linux" (all on a single line) because the purpose of the buttons is unclear. This still happens with some people who have been using the game for a while. Most of the time newbies will also not realise who they are in the chat which can result in them trying to talk to themselves.
  • Lobby: Even when they understood that some game servers are listed on top, it remains unclear who can play on them and how they can be played on. They need to find the [>] button placed to the end of the server lines, and understand that clicking those will connect them a given server.
  • Game hosting vs headless servers: Many seem to assume that there are and can only be "the official servers", i.e. the headless servers which are listed most of the time. The concept of hosting their own game (and getting listed on this screen, too) is often a miracle.
  • Lobby vs game hosting: Sometimes noobies will try to host a game, and even if this actually works they just return to the lobby (after sucessfully announcing their game), then see their game listed and try to connect to it (which won't work, as it is actually no longer available since they stopped to host the game). This is surely irritating.
This isn't fully complete, I may add more later.

124
Mods / Source code management vs Dropbox vs Google Drive
« on: 18 January 2013, 05:06:13 »
I've been loosely following the 'MegaGlest refit' thread, and see how some of you are running into issues which have been solved elsewhere. It's may feel late for a change by now, but I think it's still worth considering, as well as for similar projects in the future:

Neither Dropbox (at least the standard non-business variant) nor Google Drive are proper team collaboration repositories for souce code or asset management. While Dropbox offers versioning, it's not really meant for source code management and lacks related features. It's also not primarily meant for group collaboration on versioned resources. There are free alternatives which are exactly meant for what you do and facilitate work in groups, such as Github, Sourceforge, Gitorious and several others.

Amongst other, these offer:
  • versioning, so you can roll back if you made a mistake, be it now or 10 months later, and you can compare changes to textual files easily.
  • repository distribution (git does), so anyone can work with your data without needing your permission, but your permission is needed to merge it back into your main repository; this allows for easy access: no waiting for approval before you can get started to hack on it / contributeM the distributed nature also provides you with a form of remote backups (while, should dropbox go out of business or change its business model, your data is lost)
Also noteworthy, here's a quote from Dropbox TOS:
Quote
Dropbox reserves the right to terminate Free Accounts at any time, with or without notice.  Without limiting the generality of the foregoing, if a Free Account is inactive for ninety (90) days, then Dropbox may delete any or all of Your Files without providing additional notice.

Several modding projects have experienced data loss in the past due to unlucky choices made regarding storage nad interoperation mechanisms and providers, as well as reliance on a single external parties. It would be great if this rate could be reduced in the future and I'll be happy to discuss the various options in more detail if anyone is interested.

125
I would not know how to reproduce it, but for completeness I'll report this anyways and tag it with [lacks info]:

I was hosting a game today on my atibox (specs below) with the EnableNewThreadManager option set. The host was using r4021 and there was a single client which was using 3.7.1. The game (with the other player against AI players) started up fine, but as soon as I had given my workers the command to dig some gold (I'm not sure whether or not this worked as a trigger), the game froze. The OS mouse pointer was still moving but I could not interact with anything in the game, and the workers had frozen, too. The music continued to play. I needed to kill -9  it to make the megaglest process stop (plain 'kill' did not work).

Here's a backtrace on the frozen process (I did 5 in a row, and they all looked exactly the same):

Code: [Select]
0x00007f6816497303 in __GI___poll (fds=<optimized out>, fds@entry=0x7fffdef0ff80, nfds=<optimized out>, nfds@entry=1, timeout=<optimized out>, timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#0  0x00007f6816497303 in __GI___poll (fds=<optimized out>, fds@entry=0x7fffdef0ff80, nfds=<optimized out>, nfds@entry=1, timeout=<optimized out>, timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f6814b3d972 in _xcb_conn_wait (c=c@entry=0x139a790, cond=cond@entry=0x7fffdef0fff0, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:400
#2  0x00007f6814b3ee47 in wait_for_reply (c=c@entry=0x139a790, request=54220, e=e@entry=0x7fffdef100a8) at ../../src/xcb_in.c:390
#3  0x00007f6814b3f06b in xcb_wait_for_reply (c=0x139a790, request=54220, e=0x7fffdef100a8) at ../../src/xcb_in.c:420
#4  0x00007f68199a7289 in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#5  0x00007f6819ce6e03 in DRI2GetBuffersWithFormat (dpy=0x1399400, drawable=44040207, width=width@entry=0x150a558, height=height@entry=0x150a55c, attachments=0x7fffdef10240, count=2, outCount=outCount@entry=0x7fffdef1022c) at dri2.c:483
#6  0x00007f6819ce48dc in dri2GetBuffersWithFormat (driDrawable=<optimized out>, width=0x150a558, height=0x150a55c, attachments=<optimized out>, count=<optimized out>, out_count=0x7fffdef1022c, loaderPrivate=0x150a450) at dri2_glx.c:782
#7  0x00007f680b3e821d in dri2_drawable_get_buffers (count=<synthetic pointer>, statts=<optimized out>, drawable=0x150a570) at dri2.c:184
#8  dri2_allocate_textures (drawable=0x150a570, statts=<optimized out>, count=<optimized out>) at dri2.c:389
#9  0x00007f680b3e9750 in dri_st_framebuffer_validate (stfbi=<optimized out>, statts=0x150ab60, count=2, out=0x7fffdef10340) at dri_drawable.c:78
#10 0x00007f680b423e96 in st_framebuffer_validate (stfb=stfb@entry=0x150a720, st=0x1502c00, st=0x1502c00) at ../../../../src/mesa/state_tracker/st_manager.c:195
#11 0x00007f680b4253c5 in st_manager_validate_framebuffers (st=st@entry=0x1502c00) at ../../../../src/mesa/state_tracker/st_manager.c:829
#12 0x00007f680b58e66c in st_validate_state (st=st@entry=0x1502c00) at ../../../../src/mesa/state_tracker/st_atom.c:170
#13 0x00007f680b59b317 in st_readpixels (ctx=0x1495300, x=<optimized out>, y=<optimized out>, width=1, height=<optimized out>, format=<optimized out>, type=5126, pack=0x149bb70, dest=0x7fffdef10560) at ../../../../src/mesa/state_tracker/st_cb_readpixels.c:52
#14 0x00007f680b48d3bc in _mesa_ReadnPixelsARB (x=999, y=483, width=1, height=1, format=6402, type=5126, bufSize=bufSize@entry=2147483647, pixels=pixels@entry=0x7fffdef10560) at ../../../../src/mesa/main/readpix.c:800
#15 0x00007f680b48d44a in _mesa_ReadPixels (x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, format=<optimized out>, type=<optimized out>, pixels=0x7fffdef10560) at ../../../../src/mesa/main/readpix.c:808
#16 0x00000000006068a4 in Glest::Game::Renderer::computePosition (this=0xdf2f60 <Glest::Game::Renderer::getInstance()::renderer>, screenPos=..., worldPos=..., exactCoords=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:6617
#17 0x000000000058cb50 in Glest::Game::Game::mouseMove (this=0x1a2de30, x=595, y=345, ms=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:3479
#18 0x0000000000647a89 in Glest::Game::MainWindow::eventMouseMove (this=0x1418ad0, x=<optimized out>, y=566, ms=0xdf7a00 <Shared::Platform::Window::mouseState>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:917
#19 0x00000000009afd25 in Shared::Platform::Window::handleEvent () at /home/tomreyn/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/window.cpp:188
#20 0x00000000006766a5 in Glest::Game::glestMain (argc=argc@entry=2, argv=argv@entry=0x7fffdef168e8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4905
#21 0x0000000000678d69 in Glest::Game::glestMainWrapper (argc=2, argv=0x7fffdef168e8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:5171
#22 0x00007f68163d076d in __libc_start_main (main=0x502dd0 <main(int, char**)>, argc=2, ubp_av=0x7fffdef168e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffdef168d8) at libc-start.c:226
#23 0x0000000000509289 in _start ()

The client just received a "timeout waiting for server" message (as expected).

I guess this can be a mesa issue, it's hard to tell. After this game I played another game with similar setup (i was hosting on the same revision and with the same INI setting, and there was one other human player on 3.7.1 as well as some CPU's) and there were no such issues

Pages: 1 2 3 4 [5] 6 7 8 9 ... 20