Re: [Freeciv-Dev] Server hangs on an Alpha
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Matthew OConnor wrote:
>
> I searched the bug tracking system and the mailing list archives so I
> apologize if this has come up before, but I don't believe it has.
>
> The Setup:
> Running Alpha Linux Redhat 6.0 with glibc 2.1.1-7 and egcs 2.91.66.
> int is 32-bit, long is 64-bit, long long is 64-bit, pointers are 64-bit
>
> The Software:
> Freeciv 1.8.0, FreeCiv 1.8.1 and FreeCiv CVS (Wed Jul 28 1999)
>
> Compilation Flags:
> All code was compiled with "-O0 -ggdb" no optimization was used.
>
> The Bug:
>
> When you set the "generator" option to any value other than 1 the
> server hangs. (Note: this bug is present on an Alpha, Intel-like
> machines work just fine)
>
> These exact steps will cause the server to hang for me:
>
> set generator 2
> create ai
> start
> -- server hangs
>
> Also "set generator 3" and "set generator 4" will cause the server
> to hang.
>
> Well the 1st time makeisland() is called islemass is 0, so we enter
> in the then-block of the if-statement. Now this is were the
> weirdness happens. I reproduce the then-block of the above
> if-statement so I can refer to it easily:
>
> Line 1126 if (!islemass) {
> Line 1127 /* setup initial static parameters
> */
> Line 1128 balance = 0;
> Line 1129 isleindex = 3; /* 0= none, 1= arctic, 2= antarctic */
> Line 1130
> Line 1131 checkmass= totalmass;
> Line 1132
> Line 1133 /* caveat: this should really be sent to all players */
> Line 1134 if(totalmass>3000)
> Line 1135 freelog(LOG_NORMAL,"high landmass - this may take a few
> seconds");
> Line 1136
> Line 1137 i = map.riverlength + map.mountains
> Line 1138 + map.deserts + map.forestsize + map.swampsize;
> Line 1139 i = i <= 90 ? 100 : i * 11 / 10;
> Line 1140 tilefactor = totalmass / i;
> Line 1141 riverbuck = -myrand(totalmass);
> Line 1142 mountbuck = -myrand(totalmass);
> Line 1143 desertbuck = -myrand(totalmass);
> Line 1144 forestbuck = -myrand(totalmass);
> Line 1145 swampbuck = -myrand(totalmass);
> Line 1146 lastplaced = totalmass;
> Line 1147 } else {
>
> Now on the 1st call to makeisland() islemass is zero. We go through
> lines 1127 to 1140 just fine. Then at line 1141 we "magically" go
> back to the beginning of makeisland(). Now remember, I compiled
> with -O0. There is no code optimization going on.
>
Thank you, that is a very accurate and helpful report.
One idea would be to isolate the error and
find out if it is really a compiler bug.
What happens if lines L 1141 to L 1145 are moved to the top( below L 1126 ?)
Does the bug also occur if completely different code ( several printf's for
example )
is between L1126 and L1127 ?
--
Peter Schäfer - mailto:schaefer@xxxxxx, schaefer@xxxxxx
Support the Campaign to Save Iridium Telecom -
phone Beavis 0049191088888888180332332 for a good time.
(Don't try this anywhere were you leave any evidence.)
- [Freeciv-Dev] Re: Server hangs on an Alpha, (continued)
- Re: [Freeciv-Dev] Server hangs on an Alpha, Nicolas Brunel, 1999/07/28
- Re: [Freeciv-Dev] Server hangs on an Alpha, Matthew OConnor, 1999/07/28
- Re: [Freeciv-Dev] Server hangs on an Alpha, Nicolas Brunel, 1999/07/28
- Re: [Freeciv-Dev] Server hangs on an Alpha, Rizos Sakellariou, 1999/07/29
- Re: [Freeciv-Dev] Server hangs on an Alpha, Matthew OConnor, 1999/07/29
- Re: [Freeciv-Dev] Server hangs on an Alpha, Nicolas Brunel, 1999/07/29
- Re: [Freeciv-Dev] Server hangs on an Alpha, David Pfitzner, 1999/07/29
- Re: [Freeciv-Dev] Server hangs on an Alpha, David Pfitzner, 1999/07/29
Re: [Freeciv-Dev] Server hangs on an Alpha,
Peter Schaefer <=
|
|