Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PathZilla crashed OTTD #3189

Closed
DorpsGek opened this issue Sep 9, 2009 · 1 comment
Closed

PathZilla crashed OTTD #3189

DorpsGek opened this issue Sep 9, 2009 · 1 comment
Labels
component: AI/Game script (squirrel) This issue is related to Squirrel (Scripting language) flyspray This issue is imported from FlySpray (https://bugs.openttd.org/)

Comments

@DorpsGek
Copy link
Member

DorpsGek commented Sep 9, 2009

frosch opened the ticket and wrote:

PathZilla 5 (not really compatible with trunk anyway) is able to crash OTTD. Introduced in r17223.
Just start enough instances of it, and one will crash somewhen. Or try attached TTO game with enough PathZillas set up.

Backtrace with r17491:

# 8 0xb6a6b6ce in _assert_fail () from /lib/libc.so.6
No symbol table info available.
# 9 0x081862c1 in sqvector::operator[] (this=0xa79b0e8, pos=4294967295)
at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/squirrel/squtils.h:91
_PRETTY_FUNCTION
= "T& sqvector::operator const [with T = SQObjectPtr]"
# 10 0x0819f226 in SQFunctionProto::GetLocal (this=0xa9c1ee0, vm=0xa79b0d0, stackbase=4294967293, nseq=0, nop=81)
at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/squirrel/sqobject.cpp:208
i = 8
nvars = 11
res = (const SQChar ) 0x0
# 11 0x08182abe in sq_getlocal (v=0xa79b0d0, level=4, idx=8) at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/squirrel/sqapi.cpp:906
ci = (SQVM::CallInfo &) @0xaaad238: {_ip = 0xa9c21d0, _literals = 0xa9c2228, _closure = { = {_type = OT_CLOSURE, _unVal = {
pTable = 0xa9beec8, pArray = 0xa9beec8, pClosure = 0xa9beec8, pGenerator = 0xa9beec8, pNativeClosure = 0xa9beec8, pString = 0xa9beec8,
pUserData = 0xa9beec8, nInteger = 177991368, fFloat = 1.50157766e-32, pUserPointer = 0xa9beec8, pFunctionProto = 0xa9beec8,
pRefCounted = 0xa9beec8, pDelegable = 0xa9beec8, pThread = 0xa9beec8, pClass = 0xa9beec8, pInstance = 0xa9beec8, pWeakRef = 0xa9beec8,
raw = 177991368}}, }, _generator = 0x0, _etraps = 0, _prevstkbase = 8, _prevtop = 23, _target = 7, _ncalls = 1, root = 0,
_vargs = {size = 0, base = 0}}
c = (class SQClosure *) 0xa9beec8
func = (SQFunctionProto *) 0xa9c1ee0
cstksize = 7
lvl = 2
stackbase = -3
# 12 0x08180a3c in sqstd_printcallstack (v=0xa79b0d0) at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp:33
si = {funcname = 0xa60f37c "Start", source = 0xa60bce4 "/home/frosch/.openttd/content_download/ai/PathZilla.5.tar/pathzilla.5/main.nut",
line = 181}
i = 1
s = (const SQChar ) 0xa99a59c "road"
seq = 8
b = 1
f = 0
level = 4
name = (const SQChar ) 0xa98f9b4 "roadType"
pf = (SQPRINTFUNCTION) 0x8390778 <Squirrel::ErrorPrintFunc(SQVM
, char const
, ...)>
_PRETTY_FUNCTION
= "void sqstd_printcallstack(SQVM)"
# 13 0x08390932 in Squirrel::RunError (vm=0xa79b0d0,
error=0xabaa29c "You are not allowed to execute any DoCommand (even indirect) in your constructor, Save(), Load(), and any valuator.")
at /home/frosch/daten/ottd/trunk1/src/script/squirrel.cpp:80
pf = (SQPRINTFUNCTION) 0x83906c0 <Squirrel::PrintFunc(SQVM*, char const*, ...)>
buf = "Your script made an error: You are not allowed to execute any DoCommand (even indirect) in your constructor, Save(), Load(), and any valuator.\n\000ÔP\003¸ddú¿\210²\032\b\000\000\000\000ôo¤¶¨bú¿¹IU\b`bú¿$\025¤¶@bú¿¨bú¿¼ÃY\b\000\000\000\000°fú¿"...
engine = (Squirrel ) 0xa791188
func = (void (
)(bool, const SQChar *)) 0x81bf0fe
# 14 0x0839099c in Squirrel::_RunError (vm=0xa79b0d0) at /home/frosch/daten/ottd/trunk1/src/script/squirrel.cpp:91
sErr = (
const SQChar *) 0xabaa29c "You are not allowed to execute any DoCommand (even indirect) in your constructor, Save(), Load(), and any valuator."
# 15 0x081a92dd in SQVM::CallNative (this=0xa79b0d0, nclosure=0xa79d4c0, nargs=2, stackbase=70, retval=@0xbffa66b8, suspend=@0xbffa6673)
at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/squirrel/sqvm.cpp:1172
can_suspend = 1
nparamscheck = 0
tcs = 0
oldtop = 72
oldstackbase = 35
lci = {_ip = 0x0, _literals = 0x0, _closure = { = {_type = OT_NATIVECLOSURE, _unVal = {pTable = 0xa79d4c0, pArray = 0xa79d4c0,
pClosure = 0xa79d4c0, pGenerator = 0xa79d4c0, pNativeClosure = 0xa79d4c0, pString = 0xa79d4c0, pUserData = 0xa79d4c0, nInteger = 175756480,
fFloat = 1.20289277e-32, pUserPointer = 0xa79d4c0, pFunctionProto = 0xa79d4c0, pRefCounted = 0xa79d4c0, pDelegable = 0xa79d4c0,
pThread = 0xa79d4c0, pClass = 0xa79d4c0, pInstance = 0xa79d4c0, pWeakRef = 0xa79d4c0, raw = 175756480}}, }, _generator = 0x0,
_etraps = 0, _prevstkbase = 35, _prevtop = 37, _target = 0, _ncalls = 1, _root = 0, vargs = {size = 0, base = 0}}
outers = 0
ret = -1229422272
# 16 0x081ae312 in SQVM::Call (this=0xa79b0d0, closure=@0xa79b118, nparams=2, stackbase=70, outres=@0xbffa66b8, raiseerror=0, can_suspend=0)
at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/squirrel/sqvm.cpp:1471
suspend = 10
prevstackbase = 35
_PRETTY_FUNCTION
= "bool SQVM::Call(SQObjectPtr&, SQInteger, SQInteger, SQObjectPtr&, SQBool, SQBool)"
# 17 0x081b1540 in SQVM::CallErrorHandler (this=0xa79b0d0, error=@0xbffa6788)
at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/squirrel/sqvm.cpp:1107
out = { = {_type = OT_NULL, _unVal = {pTable = 0x0, pArray = 0x0, pClosure = 0x0, pGenerator = 0x0, pNativeClosure = 0x0,
pString = 0x0, pUserData = 0x0, nInteger = 0, fFloat = 0, pUserPointer = 0x0, pFunctionProto = 0x0, pRefCounted = 0x0, pDelegable = 0x0,
pThread = 0x0, pClass = 0x0, pInstance = 0x0, pWeakRef = 0x0, raw = 0}}, }
# 18 0x081addf8 in SQVM::Execute (this=0xa79b0d0, closure=@0x85b1060, target=70, nargs=-1, stackbase=-1, outres=@0xbffa68b8, raiseerror=1,
et=ET_RESUME_THROW_VM) at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/squirrel/sqvm.cpp:1046
currerror = { = {_type = OT_STRING, _unVal = {pTable = 0xabaa280, pArray = 0xabaa280, pClosure = 0xabaa280, pGenerator = 0xabaa280,
pNativeClosure = 0xabaa280, pString = 0xabaa280, pUserData = 0xabaa280, nInteger = 180003456, fFloat = 1.79722742e-32, pUserPointer = 0xabaa280,
pFunctionProto = 0xabaa280, pRefCounted = 0xabaa280, pDelegable = 0xabaa280, pThread = 0xabaa280, pClass = 0xabaa280, pInstance = 0xabaa280,
pWeakRef = 0xabaa280, raw = 180003456}}, }
n = 0
last_top = 70
ad = {n = 0xa79b160}
traps = 0
ct_target = 1
ct_stackbase = -1074108376
ct_tailcall = 182
_PRETTY_FUNCTION
= "bool SQVM::Execute(SQObjectPtr&, SQInteger, SQInteger, SQInteger, SQObjectPtr&, SQBool, SQVM::ExecutionType)"
# 19 0x08181827 in sq_resumeerror (v=0xa79b0d0) at /home/frosch/daten/ottd/trunk1/src/3rdparty/squirrel/squirrel/sqapi.cpp:1020
ret = { = {type = OT_NULL, unVal = {pTable = 0x0, pArray = 0x0, pClosure = 0x0, pGenerator = 0x0, pNativeClosure = 0x0,
pString = 0x0, pUserData = 0x0, nInteger = 0, fFloat = 0, pUserPointer = 0x0, pFunctionProto = 0x0, pRefCounted = 0x0, pDelegable = 0x0,
pThread = 0x0, pClass = 0x0, pInstance = 0x0, pWeakRef = 0x0, raw = 0}}, }
# 20 0x0839032c in Squirrel::ResumeError (this=0xa791188) at /home/frosch/daten/ottd/trunk1/src/script/squirrel.cpp:200
_PRETTY_FUNCTION
= "void Squirrel::ResumeError()"
# 21 0x081beeb2 in AIInstance::GameLoop (this=0xa4fb8d8) at /home/frosch/daten/ottd/trunk1/src/ai/ai_instance.cpp:388
e = {msg = 0x847f438 "You are not allowed to execute any DoCommand (even indirect) in your constructor, Save(), Load(), and any valuator."}
# 22 0x081b5033 in AI::GameLoop () at /home/frosch/daten/ottd/trunk1/src/ai/ai_core.cpp:76
company_index = 2
c = (const Company *) 0xa49d150
_PRETTY_FUNCTION
= "static void AI::GameLoop()"
# 23 0x08326369 in StateGameLoop () at /home/frosch/daten/ottd/trunk1/src/openttd.cpp:1170
old_company = OWNER_BEGIN

Attachments

Reported version: trunk
Operating system: All


This issue was imported from FlySpray: https://bugs.openttd.org/task/3189
@DorpsGek
Copy link
Member Author

Rubidium closed the ticket.

Reason for closing: Fixed

In r17515


This comment was imported from FlySpray: https://bugs.openttd.org/task/3189

@DorpsGek DorpsGek added flyspray This issue is imported from FlySpray (https://bugs.openttd.org/) bug component: AI/Game script (squirrel) This issue is related to Squirrel (Scripting language) labels Apr 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: AI/Game script (squirrel) This issue is related to Squirrel (Scripting language) flyspray This issue is imported from FlySpray (https://bugs.openttd.org/)
Projects
None yet
Development

No branches or pull requests

1 participant