Topic: 2 crashes and few remarks
freem Topic Opener |
Posted at: 2016-08-29, 16:38
Ok, I know this is not the good place for bug reports, but launchpad seems to refuse me to send bugs there, so before the information is lost... Those behaviors happened in commit 77829145eeeeb4e58016d081c2f870b15caab2b0 from the github mirror. bugsCrash: boost::bad_format_stringHere is the trace of the executable (I tend to run stuff I compiled from a terminal, for that kind of things):
I tried a debug version, but the log is really heavy and I have no idea from where to select for useful informations. It happen if the AI attack, when I have (at least) 1 castle selected and hiden in a screen corner (botom-right, in my case). I still have a savegame allowing to reproduce it, it happens around 4h09m. freeze with no window on fullscreenUsually, I am using widelands in windowed mode. By accident, I asked my window manager to place it under it's fullscreen mode. This caused the game to freeze without having a window on a graphic report. Really close to a crash imho, but the process still being there... so let's call it a freeze :) The same problem obviously happen when using widelands' interface to go fullscreen. Here is the trace:
RemarksThose are really remarks, not important stuff. annoying window positionI am using i3 as a window manager. It is a tiling one. When I start widelands, it appears as a floating window split with every half of the window on each screen. make install moves things directly in /usr/localI know it's a wanted behavior, but only because I read the CMakeLists.txt. There were no documentation about that. This could be fixed by adding a simple readme making it explicit. Also, I'm curious about why you forced the paths, I think cmake does it's job decently usually (even if it would not place the stuff into /usr/local/games, but I don't think that distinction is really useful honestly). I guess you have a good reason, but I fail to see which one. the wiki about dependencies will be outdatedThe wiki says that widelands depends on SDL1.2 stuff, but for build 19, it will depend on SDL2 stuff. This is just to remind you to update it PS: again, sorry about not using the bug tracker, it just refuses to work, and after trying to do a bug report twice, it becomes annoying (and tbh, I really dislike it's interface, but it's a matter of taste, and if it worked I would have done with it). PPS: the markdown help lacks the instruction to quote and place "code". Edited: 2016-08-29, 16:44
Top Quote |
SirVer |
Posted at: 2016-08-29, 18:26
yes, this is not the best place. Launchpad is, but better somewhere than nowhere I guess.
I guess this is a localization error of a string in the game - a boost formatting string got wrongly translated. Bugs like these are the reason why we do feature freezes and do not allow translations at some point. Which locale are you playing on? Can you reproduce this? Can you provide a savegame before the crash?
Dunno what that is - the output looks fine.
outside of Widelands control. SDL chooses where to place the window. For what it's worth, awesome (the window manager) does place the game floating in the middle of the first screen.
there are cmake options for defining the install directory which we adhere too. if you run a
Thanks
not to worry, I think the first bug is easy to track down, the second one non-fixable without your system and a repro case. Top Quote |
freem Topic Opener |
Posted at: 2016-08-29, 19:56
GunChleoc asked me to send him the savegame by mail, I did it. I am playing with the french locale, and can reproduce that bug easily, sounds like it's caused by having a window partially outside screen while that attack. Not sure any other event could trigger the crash.
I guess the placement on virtual screen's center is a change from SDL2, since widelands was centered on the screen from which it was started before. And about being floating, I think that wesnoth might have found a way, but now that you mention it, it's true that I don't know a lot of games with SDL not having floating windows by default... I wonder how they did it. I'll try to find out (seems like it is possible to receive non-portable events from window managers, but it seems like a lot of work and I doubt they used that to fix this).
Sorry I was not explicit enough. The binary to go in /usr/local/bin, data in /usr/local/share, etc. Or, at least, the stuff going into a single folder in /usr/local/widelands. For now, it gives this:
Again, not a big problem, can easily be fixed by the user.
I simply really don't like using forums for bug reports, it makes bugs and improvements harder to track. Useless work. Top Quote |
kaputtnik |
Posted at: 2016-08-29, 21:33
Instead of 'usr/local' widelands should use This structure is used by arch-linux widelands-bzr Edited: 2016-08-29, 21:38
Fight simulator for Widelands: |
freem Topic Opener |
Posted at: 2016-08-30, 03:05
your reply make me realize that it is more complex than what I thought, since, on Debian, binaries not from packages are installed in /usr/local/bin, and this would include widelands. I can't think of any way to put it into any games section under /usr/local that would be portable. Now, about why I noticed the thing was installed into /usr/local and not /usr/local/bin, the reason is simple: I am a programmer myself, so I gave myself the rights to install stuff in /usr/local, to avoid using root idendity everytime I need to try something in roughly real conditions. I thought cmake defaults were a pretty decent configuration, but it seems my sight was too short. Top Quote |
SirVer |
Posted at: 2016-08-30, 06:20
You mean send her the savegame.
Oh wow, I was misreading your message, freem. I though it installed just fine into Edited: 2016-08-30, 06:20
Top Quote |
GunChleoc |
Posted at: 2016-08-30, 08:17
I can't reproduce the crash from the savegame on current trunk - it might indeed be a translation error. Which language did you play in? ETA: I just ran Edited: 2016-08-30, 09:10
Busy indexing nil values Top Quote |
freem Topic Opener |
Posted at: 2016-09-01, 02:25
Huh... sure I'll try to remember. No garantee at all though.
I think this behavior is because the cmake defaults was override. CMakes does quite a nice job,except that it's unable to know if the software is a game or not. Now, I must say that I think putting games in a different folder is something I can not understand any technical reason to do so. I only see problems with that convention.
I'm playing with the french locale.
Maybe it's because of some other aspect of my system. I am using a Debian which is a lot customized, for example I am not using dbus, systemd or pulseaudio, at all. But I can't see how this could be related... Edited: 2016-09-01, 02:27
Top Quote |
GunChleoc |
Posted at: 2016-09-01, 08:45
No worries, you couldn't have known and I won't be offended it you forget. Just treat me like a human being
I tested this again and I still can't reproduce the crash. I loaded the savegame, selected a castle, moved the castle outside of the screen to the bottom right, then moved the Widelands window outside of the screen on the bottom right. Busy indexing nil values Top Quote |
freem Topic Opener |
Posted at: 2016-09-02, 13:43
Shouldn't be too hard
Oh, it's the boost's enhanced sprintf, then? I think I see how it works (but never used it).
I've launched a gdb instance on the crash, and the line of the crash is game_preload_packet.cc:112. Now, it no longer happens git commit 48e6c8. I have seen nothing in changelogs indicating a change on that file, I'm running git bisect to know when exactly that crash stopped to happens (because it may just have hidden and not actually fix. Plus, I've got some time). I wish there was a way to load a map from command-line, would spare some steps. Or better, a way to script actions, but I know this would be quite hard to code Top Quote |