Obviously this is not a bug, rather it only happens with my builds.
I still don't know what's happening, maybe it's something related to makefile.
For now I only have the gdb log:
Thread 1 "sim" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
at pthread_kill.c:44
Downloading source file /usr/src/debug/glibc-2.39-13.fc40.x86_64/nptl/pthread_kill.c
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) where
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
at pthread_kill.c:44
#1 0x00007ffff76ab1b3 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2 0x00007ffff765365e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007ffff763b902 in __GI_abort () at abort.c:79
#4 0x00007ffff763b81e in __assert_fail_base
(fmt=0x7ffff77c3b58 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x902a30 "(get_random_mode() & INTERACTIVE_RANDOM) == 0", file=file@entry=0x902a10 "src/simutrans/world/simworld.cc", line=line@entry=3130, function=function@entry=0x9029e8 "void karte_t::set_schedule_counter()") at assert.c:94
#5 0x00007ffff764b977 in __assert_fail
(assertion=0x902a30 "(get_random_mode() & INTERACTIVE_RANDOM) == 0", file=0x902a10 "src/simutrans/world/simworld.cc", line=3130, function=0x9029e8 "void karte_t::set_schedule_counter()") at assert.c:103
#6 0x000000000080151d in karte_t::set_schedule_counter (this=<optimized out>)
at src/simutrans/world/simworld.cc:3130
#7 0x0000000000809257 in karte_t::set_schedule_counter (this=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
Edit.
I tried using the "setup-development.sh", but I get this at the end:
===> LD /home/casa/Downloads/simutrans-master/simutrans-master2/sim
/usr/bin/ld: cannot find -lbz2: No such file or directory
/usr/bin/ld: cannot be found -lpng16: No such file or directory
/usr/bin/ld: cannot be found -lz: No such file or directory
/usr/bin/ld: cannot be found -lharfbuzz: No such file or directory
/usr/bin/ld: cannot find -lglib-2.0: No such file or directory
/usr/bin/ld: cannot be found -lpcre2-8: No such file or directory
/usr/bin/ld: cannot find -lfreetype: No such file or directory
/usr/bin/ld: cannot be found -lgraphite2: No such file or directory
/usr/bin/ld: cannot be found -lbrotlidec: No such file or directory
/usr/bin/ld: cannot find -lbrotlicommon: No such file or directory
/usr/bin/ld: cannot find -lfontconfig: No such file or directory
/usr/bin/ld: cannot find -lfreetype: No such file or directory
/usr/bin/ld: cannot find -lzstd: No such file or directory
/usr/bin/ld: cannot find -lbz2: No such file or directory
/usr/bin/ld: cannot be found -lz: No such file or directory
/usr/bin/ld: cannot find -lpng: No such file or directory
collect2: error: ld returned exit status 1
make: *** [common.mk:29: /home/casa/Downloads/simutrans-master/simutrans-master2/sim] Error 1
Update translations
No simutrans executable found! Aborted!
Edit2.
To generate a simutrans binary I do the following:
I modify "config.template" to:
#BACKEND := gdi
BACKEND := sdl2
#BACKEND := posix
#OSTYPE := amiga
#OSTYPE := freebsd
#OSTYPE := haiku
OSTYPE := linux
#OSTYPE := mac
#OSTYPE := mingw
#OSTYPE := openbsd
DEBUG := 1 # Level 1-3, higher number means more debug-friendly but slower, see Makefile
MSG_LEVEL := 3 # Level 1-4, more runtime debug messages (without only warnings and errors)
OPTIMISE := 1 # Add umpteen optimisation flags
PROFILE := 1 # Enable profiling
PROFILE := 2 # Enable profiling with optimisation flags, can be used with `OPTIMISE = 1'
And then I use make.
set_schedule_counter is called while you are not in a SYNC_STEP. Before get_scenario()->rotate90(cached_size.x) is called. If the scenario somehow messes up the sync_step mode, this could happen.
Was the rotation initiated by a script or by clicking?
Was a scenario running?
Quote from: prissi on May 31, 2024, 01:48:47 PMWas the rotation initiated by a script or by clicking?
I am using rotate map from toolbar.
It happens regardless of whether a script is used or not.
Thread 1 "sim" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6,
no_tid=no_tid@entry=0) at pthread_kill.c:44
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) where
#0 __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007ffff76ab1b3 in __pthread_kill_internal (threadid=<optimized out>,
signo=6) at pthread_kill.c:78
#2 0x00007ffff765365e in __GI_raise (sig=sig@entry=6)
at ../sysdeps/posix/raise.c:26
#3 0x00007ffff763b902 in __GI_abort () at abort.c:79
#4 0x00007ffff763b81e in __assert_fail_base (
fmt=0x7ffff77c3b58 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=assertion@entry=0x7b2898 "(get_random_mode() & INTERACTIVE_RANDOM) == 0", file=file@entry=0x7b2778 "src/simutrans/world/simworld.cc",
line=line@entry=3130,
function=function@entry=0x7b2870 "void karte_t::set_schedule_counter()")
at assert.c:94
#5 0x00007ffff764b977 in __assert_fail (
assertion=0x7b2898 "(get_random_mode() & INTERACTIVE_RANDOM) == 0",
file=0x7b2778 "src/simutrans/world/simworld.cc", line=3130,
function=0x7b2870 "void karte_t::set_schedule_counter()") at assert.c:103
#6 0x0000000000753750 in karte_t::set_schedule_counter (
this=this@entry=0x24a3220) at src/simutrans/world/simworld.cc:3130
#7 0x0000000000758993 in karte_t::rotate90 (this=0x24a3220)
at src/simutrans/world/simworld.cc:2464
#8 0x00000000006f730d in tool_rotate90_t::init (this=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
It's strange that this only happens in my builds, I suspect that there may be some library that has lost compatibility (conflict with standards or things like that) or "setup-development.sh" is not configuring things correctly.
I am using fedora 40 and my system is recently updated (this happened in fedora 39 as well), in fact I updated to f40 in the hope that there would be no more errors.