Skip to main content

Show Posts

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

Messages - steffen

1
Simutrans-Extended development / Re: Regression in 8.0 - segfaults on start on linux64
Ok it's not as easy as I thought it would be (it never is, is it lol) because a lot of the intermediary commits break building. So I went with manual bisecting after all but these links might help you (second one is about automating it, but I suspect Windows' batch files aren't really good enough for this task):
http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html
https://lwn.net/Articles/317154/

Now back to the topic, as I understand git the commit that breaks it is: e6f5d18dc509fc755152a832227f419c06ef0da4

But here's the relevant output as I'm not quite sure.

git bisect bad
Bisecting: 0 revisions left to test after this (roughly 1 steps)
[368327c96d7f1c950121a3dd9fb0951b4e5a0b9d] Mostly reverted 3155 as this gave problems with airplane shadows, ways are drawn in display_boden again
steffen@steffen ~/simutrans-git/simutrans-experimental $ cat .git/refs/bisect/bad
e6f5d18dc509fc755152a832227f419c06ef0da4

Edit:  ??? I just decided to checkout the revision that I thought had worked but in fact doesn't. I'll try to figure out what I've done wrong now..
3
Simutrans-Extended development / Re: 8.0 feedback
Ok I tracked down the sprawl a little further, it only happens for a certain time period. If a make a game start 1929 or earlier its ok (well, I think density is lower than usual in the 1920s, but it doesn't go mad) or if I start a game in 1950 or later its also ok. Just those two decades in between it's being funny with me.

I also got the cycling crash once last night but I didn't have gdb running.
5
Simutrans-Extended closed bug reports / Re: Crash on looking at stations/stops
files.simutrans-germany.com didnt work (it just kept saying the file already exists) so I put it on my own server https://schaumburger.info/steffencrash.sve
Ignore the SSL warning.
To crash it: Load the game, then try to view e.g. any of these stations: 466,738 (southampton), 687,901 (manchester-l) or 348,335 (leipzig-w).
If you open 676,909 (manchester-k) it shouldnt crash.

This (and all my other reports except the one about the 64bit versions not starting) happens with the 32bit version of experimental 8.0.
Edit: From the download site that is
6
Simutrans-Extended development / Re: Regression in 8.0 - segfaults on start on linux64
Well I encountered a couple of problems with the 32 bit version (but they're probably not 32bit-specific) but you've seen the other threads :)
Would it help if I bisect the particular commit that caused the breakage? It worked just 3 weeks ago and I saw an article somewhere once on how to get git to do this pretty much automatically.
7
Simutrans-Extended development / Re: 8.0 feedback
I just tried on a brand new map to switch between the display mode (amount, via, etc.) on a station and for me it doesnt crash (32bit, running in gdb).

urban sprawl: I tried setting "rennovation_percentage" and "renovation_percentage" (had to create a new entry as there was no default one in there) in Pak128.Britain-Ex/config/simuconf.tab but it doesn't seem to have had any effect
8
Simutrans-Extended closed bug reports / Crash on looking at stations/stops
Moderator note: split the topic, as this relates to a different bug report. Please always post one topic for each different bug.

Ok another problem tho, if I try to open (as in, just view) some of my train-bus stations it reproducibly gives an immediate segfault. It doesn't happen on all stations tho. I tried to reproduce it on a new map with a double station with a bus stop attached but it didnt crash.

E.g. on southampton it happens, on manchester-k it doesnt happen but on manchester-l it does. All three stations are the same type of platform on the same type of track. Southampton and Manchester-k are double plattform (one in each direction) whilst Manchester-l is the turnaround end station. All three have bus stations attached. I really can't think of an explanation for this pattern.

Here's one of the segfaults:
Program received signal SIGSEGV, Segmentation fault.
0x080ca109 in freight_list_sorter_t::compare_ware(ware_t const&, ware_t const&) ()
(gdb) bt
#0  0x080ca109 in freight_list_sorter_t::compare_ware(ware_t const&, ware_t const&) ()
#1  0x080cb557 in void std::__introsort_loop<ware_t*, int, bool (*)(ware_t const&, ware_t const&)>(ware_t*, ware_t*, int, bool (*)(ware_t const&, ware_t const&)) ()
#2  0x080ca66f in freight_list_sorter_t::sort_freight(vector_tpl<ware_t> const*, cbuffer_t&, freight_list_sorter_t::sort_mode_t, slist_tpl<ware_t> const*, char const*) ()
#3  0x081edca4 in haltestelle_t::get_freight_info(cbuffer_t&) ()
#4  0x0812a859 in halt_info_t::zeichnen(koord, koord) ()
#5  0x08236105 in display_win(int) ()
#6  0x082364bc in display_all_win() ()
#7  0x08236760 in win_display_flush(double) ()
#8  0x08200f58 in intr_refresh_display(bool) ()
#9  0x08243f9f in karte_t::sync_step(long, bool, bool) ()
#10 0x08200efc in interrupt_check(char const*) ()
#11 0x0824ec23 in karte_t::interactive(unsigned int) ()
#12 0x0820a663 in simu_main(int, char**) ()
#13 0x0828e751 in main ()
10
Simutrans-Extended development / Re: Save game loading?
You were kind of right, turns out it was because initially I hadn't installed the files from the config download. The loading works now, but the other things I wrote about in other threads still happen.
13
Simutrans-Extended development / Re: Save game loading?
I'm having a problem loading my savegame from 7.3 (git from 8may) with the 32bit build on linux. The savegame was created with 64bit.
I can't attach the savegame because its over a MB but I can mail it if you want.
I'm not actually bothered by this but thought I should mention it.

Here's what it says:
FATAL ERROR: fabrik_t::rdwr()
no besch for FishPort1945

Aborted
14
Simutrans-Extended development / Re: 8.0 feedback
I can confirm the urban sprawl problem with the 32bit version on a 64bit system. After city generation with timeline from 1945 a city of 40k people took up half the screen at maximum zoom at 1920*1080.
15
Simutrans-Extended development / Re: Refining obsolescence - feedback requested
Bit late but I think this is a great idea.
Just a couple of comments
I think having the second date relative to the first one (as in write "10 years" rather than "1965") is a good idea, it doesn't make it any harder to change the second date, but it does make it easier to change the first one. This will probably avoid many accidental errors in this regard.
I also like the idea of higher prices at the beginning of a vehicles production/use but it does make it harder at the beginning. So ideally it should come with an off-switch
16
Simutrans-Extended development / Regression in 8.0 - segfaults on start on linux64
I started a new thread because it must be a different problem, the version from jamespetts' git as of 8may worked for me. I tried both the downloaded 8.0 file as well as a self-compile from a fresh git pull. The 32bit downloaded file works fine (well, it starts, haven't gotten any further yet lol).
Here's the backtraces:
gdb simexp-jamespetts-2010-05-29
Program received signal SIGSEGV, Segmentation fault.
0x000000000061ede3 in display_fb_internal (xp=<value optimized out>, yp=<value optimized out>, w=<value optimized out>, h=12,
    color=<value optimized out>, dirty=<value optimized out>, cL=182, cR=520, cT=267, cB=307) at simgraph16.cc:3095
3095                                    *lp++ = longcolval;
(gdb) bt
#0  0x000000000061ede3 in display_fb_internal (xp=<value optimized out>, yp=<value optimized out>, w=<value optimized out>, h=12,
    color=<value optimized out>, dirty=<value optimized out>, cL=182, cR=520, cT=267, cB=307) at simgraph16.cc:3095
#1  0x0000000000621f34 in display_fillbox_wh_clip (xp=<value optimized out>, yp=<value optimized out>, w=<value optimized out>,
    h=<value optimized out>, color=<value optimized out>, dirty=<value optimized out>) at simgraph16.cc:3129
#2  0x000000000049179e in button_t::zeichnen (this=0xa81bb8, offset=<value optimized out>) at gui/components/gui_button.cc:368
#3  0x00000000004a4724 in gui_table_t::paint_cells (this=0xa81698, offset=<value optimized out>) at gui/components/gui_table.cc:166
#4  0x00000000004a4a59 in gui_table_t::zeichnen (this=0xa81698, offset=...) at gui/components/gui_table.cc:349
#5  0x00000000004a352d in gui_scrollpane_t::zeichnen (this=0xa81898, pos=<value optimized out>)
    at gui/components/gui_scrollpane.cc:148
#6  0x00000000004d471d in gui_container_t::zeichnen (this=<value optimized out>, offset=<value optimized out>)
    at gui/gui_container.cc:123
#7  0x00000000004fcc1a in pakselector_t::zeichnen (this=<value optimized out>, p=<value optimized out>, gr=<value optimized out>)
    at gui/pakselector.cc:85
#8  0x00000000005ab877 in ask_objfilename (argc=1, argv=0x7fffffffdae8) at simmain.cc:247
#9  simu_main (argc=1, argv=0x7fffffffdae8) at simmain.cc:651
#10 0x00000000006251e4 in main (argc=1, argv=0x7fffffffdae8) at simsys_s.cc:748
(gdb) quit



gdb simexp-DL-2010-05-24-c478903
Program received signal SIGSEGV, Segmentation fault.
0x000000000063334b in display_fillbox_wh_clip(short, short, short, short, unsigned short, int) ()
(gdb) bt
#0  0x000000000063334b in display_fillbox_wh_clip(short, short, short, short, unsigned short, int) ()
#1  0x0000000000496a02 in button_t::zeichnen(koord) ()
#2  0x00000000004acff7 in gui_table_t::paint_cells(koord const&) ()
#3  0x00000000004ad131 in gui_table_t::zeichnen(koord) ()
#4  0x00000000004ab4d3 in gui_scrollpane_t::zeichnen(koord) ()
#5  0x00000000004dcc97 in gui_container_t::zeichnen(koord) ()
#6  0x0000000000506b63 in pakselector_t::zeichnen(koord, koord) ()
#7  0x00000000005b9e79 in simu_main(int, char**) ()
#8  0x0000000000637fe4 in main ()
18
Simutrans-Extended development / Re: Issue/bug tracking tools
Well replacing the forum with a bugtracker would definitely be a bad idea, but having it additionally might be worth considering. OTOH if the current system works well - "never touch a running a system" ;)
19
Simutrans-Extended development / Re: Experimental on Linux
This reminds me why I use Python for my own programs lol.
In any case I found another reproducable segfault, but I'll post it as a new thread since it appears to be a different issue.

And yes, git is brilliant :)
21
Simutrans-Extended development / Re: Experimental on Linux
yes you're right, I found that activating NEW_PATHING lets the program run fine, whilst OPTIMISE breaks it. Now I looked in the Makefile and the only conclusion I can draw is that it's a toolchain bug. If anyone agrees I'll head over to GCC and post a bugreport.

ansgar: in the meantime, can you deactivate OPTIMISE for the amd64 autobuild?
22
Simutrans-Extended development / Re: Experimental on Linux
Ok it seems I found what causes the segfault on startup with the autobuild. It's either OPTIMISE = 1 or -DNEW_PATHING.
Here's the backtrace for a start, I'll try which of these the final culprit is now and then try it with devel. I realise now that I should've tried devel first, didn't take into account that these flags can influence which code is compiled *sigh*

Program received signal SIGSEGV, Segmentation fault.
0x000000000062997b in display_fb_internal (xp=<value optimized out>, yp=<value optimized out>, w=<value optimized out>, h=88,
    color=<value optimized out>, dirty=<value optimized out>, cL=<value optimized out>, cR=<value optimized out>, cT=0,
    cB=<value optimized out>) at simgraph16.cc:2959
2959                                    *lp++ = longcolval;
(gdb) bt
#0  0x000000000062997b in display_fb_internal (xp=<value optimized out>, yp=<value optimized out>, w=<value optimized out>, h=88,
    color=<value optimized out>, dirty=<value optimized out>, cL=<value optimized out>, cR=<value optimized out>, cT=0,
    cB=<value optimized out>) at simgraph16.cc:2959
#1  0x0000000000629aee in display_fillbox_wh (xp=44, yp=176, w=20338, h=1, color=<value optimized out>, dirty=-135966870)
    at simgraph16.cc:2990
#2  0x00000000004d6c1b in gui_frame_t::zeichnen (this=<value optimized out>, pos=..., gr=<value optimized out>) at gui/gui_frame.cc:155
#3  0x00000000004fe59c in pakselector_t::zeichnen (this=0x2c, p=..., gr=<value optimized out>) at gui/pakselector.cc:64
#4  0x00000000005aa74e in ask_objfilename (argc=1, argv=<value optimized out>) at simmain.cc:247
#5  simu_main (argc=1, argv=<value optimized out>) at simmain.cc:644
#6  0x000000000062dc67 in main (argc=1, argv=0x7fffffffdac8) at simsys_s.cc:743
(gdb) quit
23
Simutrans-Extended development / Re: Experimental on Linux
No, no, the autobuild might have ccache installed, and that may be causing breakage there.
Ah ok, yes that could be a cause. But the bug linked appears to be specific to Gentoo's handling of having two-in-one platforms, and was marked fixed (by update to an ecl****, which are again Gentoo-specific) more than a year ago. But I guess until proven otherwise we should consider that an option.

Ansgar: Is ccache active on the autobuild system?
24
Simutrans-Extended development / Re: Issue/bug tracking tools
Sourceforge has a bugtracking system for projects, that could be used. I definitely think it's a good idea to have one. I reckon some types of people can be quite motivated by the more structured approach of a formal bug tracker.
Maybe it'll be used, maybe not - but it only takes a few clicks by a simutrans project admin to activate so I think it's worth a shot. There's also some functions that simply can't be replicated by using a forum, e.g. dependencies and meta-bugs. A bugtracker also makes things easier to follow, e.g. one can see straight away if a bug only affects a certain platform, whether it affects just std or just exp or both, etc.
As for the mouldering bugs.. there could be a "policy" to simply close bugs with a standard notice once they haven't seen activity in say 3 months. Then if the reporter (or anyone else) finds that the bug is in fact still existent it can always be re-opened. And if nobody can be bothered to perform this task - who cares. Anyone who actually tries simutrans will see it's a great game, irrespective of the open bug count :)
25
Simutrans-Extended development / Re: Experimental on Linux
Good idea but I don't have ccache installed so that can't be it :(
I'm not sure if you understood me right, my own build appears to work fine (it loads with the experimental britain pak, it loads my save game originally made with the i386 autobuild, I tried running it a couple of minutes) but the autobuild segfaults before it even asks me which pak I want to use.
So we can exclude my run-environment, the actual code and the pak as sources of the problem with the autobuild. (I refer to the problem that it doesnt even launch, the problem in vector-tpl.h

Now of the top of my head I can think of these remaining suspects:
- lack of DEBUG in the 04-11 autobuild causes the problem
- some other difference between sdog's and mine vs. the autobuild config causes it
- the versions of GCC/libraries used in autobuild cause it
- the versions of GCC/libs used during compile is incompatible with the versions used by sdog and me.

Not knowing much of C the last two are my favourites right now, so I'm emerging the old libraries.

sdog: I think it might be worth opening a new thread for the segfault you discovered during running your own build. I think it's save to ****ume that that is a different fault then whatever is causing the autobuild to segfault on startup.
27
Simutrans-Extended development / Re: Experimental on Linux
Then I'm really confused, how can it be that the auto-build segfaults but my own build works? What exact settings (and GCC and library versions) are used to make the autobuild, I could try rebuilding with those to try and reduce the number of possible causes.
34
Incorporated Patches and Solved Bug Reports / Compile errors in Linux 64-bit
Ok I got the latest svn from svn://tron.homeunix.org/simutrans/simutrans/trunk and am getting the same error, but oddly in a different line:
===> CXX simgraph16.cc
g++: unrecognized option '-NDEBUG'
simgraph16.cc: In function ‘void rezoom_img(image_id)’:
simgraph16.cc:1290: warning: comparison between signed and unsigned integer expressions
simgraph16.cc: ****embler messages:
simgraph16.cc:2370: Error: suffix or operands invalid for `jmp'
make: *** [simgraph16.o] Error 1

This is again with gcc-4.4.3-r2
35
Incorporated Patches and Solved Bug Reports / Compile errors in Linux 64-bit
I just installed gcc-4.4.3-r2 and I tried make clean && make but same problem. I'm installing gcc-4.3.4 now as well just to see if thats the problem.

Oh and just for the record I completely agree that 64bit should be lower priority, but its nice and I think also important in the medium-long term to keep going at it with low priority :)