Oolite consumes all memory

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: winston, another_commander, Getafix

Walker
Average
Average
Posts: 12
Joined: Mon Feb 06, 2006 10:36 am

next one

Post by Walker »

and last one for this session:

after cpu load resumes to normal:

(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x4095cb66 in poll () from /lib/i686/libc.so.6
(gdb) list
55 [controller applicationDidFinishLaunching: nil];
56 #else
57 return NSApplicationMain(argc, (const char *)argv);
58 #endif
59
60 // never reached
61 return 0;
62 }
63
64 /*
(gdb) bt
#0 0x4095cb66 in poll () from /lib/i686/libc.so.6
#1 0x40723429 in -[GSRunLoopCtxt pollUntil:within:] (self=0x83235b8, _cmd=0x4082bfe8, milliseconds=4, contexts=0x831fd78) at GSRunLoopCtxt.m:342
#2 0x4069a430 in -[NSRunLoop acceptInputForMode:beforeDate:] (self=0x831f3e0, _cmd=0x4082c000, mode=0x4082c0d8, limit_date=0xa368728) at NSRunLoop.m:1062
#3 0x4069a7ce in -[NSRunLoop runMode:beforeDate:] (self=0x831f3e0, _cmd=0x4082c010, mode=0x4082c0d8, date=0x8323e50) at NSRunLoop.m:1134
#4 0x4069a9f8 in -[NSRunLoop runUntilDate:] (self=0x831f3e0, _cmd=0x4082c008, date=0x8323e50) at NSRunLoop.m:1165
#5 0x4069a963 in -[NSRunLoop run] (self=0x831f3e0, _cmd=0x815fed8) at NSRunLoop.m:1148
#6 0x0805bb73 in -[GameController applicationDidFinishLaunching:] (self=0x831e420, _cmd=0x8162af0, notification=0x0) at GameController.m:388
#7 0x0806ce0c in main (argc=1, argv=0xbfffec84) at main.m:55


next cpu load rising to 100% (but a lot time passed without problems):
(gdb) bt
#0 0x405ce779 in -[GSDictionary objectForKey:] (self=0x9f1e798, _cmd=0x8175240, aKey=0x8175734) at GSIMap.h:315
#1 0x080ed8c5 in -[StationEntity dockingInstructionsForShip:] (self=0x55728010, _cmd=0x8170a00, ship=0x55ff8010) at StationEntity.m:357
#2 0x080cbd7e in -[ShipEntity(AI) requestDockingCoordinates] (self=0x55ff8010, _cmd=0x823c460) at ShipEntity (AI).m:1799
#3 0x40677bbd in -[NSObject performSelector:] (self=0x55ff8010, _cmd=0x815d820, aSelector=0x823c460) at NSObject.m:1756
#4 0x08051461 in -[AI takeAction:] (self=0x9a516e0, _cmd=0x815d7e8, action=0x8a2e078) at AI.m:307
#5 0x08051168 in -[AI reactToMessage:] (self=0x9a516e0, _cmd=0x815d7c0, message=0x815d92c) at AI.m:249
#6 0x08050f2f in -[AI setState:] (self=0x9a516e0, _cmd=0x815d7d8, stateName=0xe9cf200) at AI.m:209
#7 0x0805155c in -[AI takeAction:] (self=0x9a516e0, _cmd=0x815d7e8, action=0x8a2cfb0) at AI.m:300
#8 0x08051168 in -[AI reactToMessage:] (self=0x9a516e0, _cmd=0x815d7c0, message=0x81757e8) at AI.m:249
#9 0x080516ed in -[AI think] (self=0x9a516e0, _cmd=0x81781e8) at AI.m:344
#10 0x0810db08 in -[Universe update:] (self=0x8549e10, _cmd=0x815ff00, delta_t=0.010002990296925418) at Universe.m:5087
#11 0x0805bd12 in -[GameController doStuff:] (self=0x831e420, _cmd=0x81634e8, sender=0x0) at GameController.m:444
#12 0x0806ebe6 in -[MyOpenGLView pollControls:] (self=0x82e4810, _cmd=0x815fea8, sender=0x98787d0) at MyOpenGLView.m:976
#13 0x40677cd0 in -[NSObject performSelector:withObject:] (self=0x82e4810, _cmd=0x40831458, aSelector=0x815fea8, anObject=0x98787d0) at NSObject.m:1782
#14 0x406c1239 in -[NSTimer fire] (self=0x98787d0, _cmd=0x4082bf80) at NSTimer.m:218
#15 0x406995ac in -[NSRunLoop limitDateForMode:] (self=0x831f3e0, _cmd=0x4082bee0, mode=0x4082c0d8) at NSRunLoop.m:815
#16 0x4069a75f in -[NSRunLoop runMode:beforeDate:] (self=0x831f3e0, _cmd=0x4082c010, mode=0x4082c0d8, date=0x8323e50) at NSRunLoop.m:1107
#17 0x4069a9f8 in -[NSRunLoop runUntilDate:] (self=0x831f3e0, _cmd=0x4082c008, date=0x8323e50) at NSRunLoop.m:1165
#18 0x4069a963 in -[NSRunLoop run] (self=0x831f3e0, _cmd=0x815fed8) at NSRunLoop.m:1148
#19 0x0805bb73 in -[GameController applicationDidFinishLaunching:] (self=0x831e420, _cmd=0x8162af0, notification=0x0) at GameController.m:388
#20 0x0806ce0c in main (argc=1, argv=0xbfffec84) at main.m:55
(gdb) list
55 [controller applicationDidFinishLaunching: nil];
56 #else
57 return NSApplicationMain(argc, (const char *)argv);
58 #endif
59
60 // never reached
61 return 0;
62 }
63
64 /*

(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x408fd057 in malloc () from /lib/i686/libc.so.6
(gdb) bt
#0 0x408fd057 in malloc () from /lib/i686/libc.so.6
/usr/GNUstep/System/Tools/debugapp: line 235: 9762 Speicherzugriffsfehler "$GDB" $args "$file_appname" "$@"


end of the story :x

so i don't know if this helps a bit more, it still seems to be in the underlying system a bit


what i saw and found disturbing though, was the use of malloc together with the obj-c memory management (ofwhich i know nothing)

is it maybe possible, that both don't mix so well, so there has to be another allocation method used in interfacing c code?
Walker
Average
Average
Posts: 12
Joined: Mon Feb 06, 2006 10:36 am

i am not really sure

Post by Walker »

but being in more peaceful systems generally doesn't trigger this bug, it is more often happening in revolting systems with lots of pirates fighting from what i saw

for example being around ceesxe and leoned normally doesn't trigger this (it does sometimes, but really seldom)

changing my flight route to Ususor and around quickly brought me into this bug though (Ususor having 21 pirate vessels and 3 sun skim pirates at this entry time)
User avatar
Selezen
---- E L I T E ----
---- E L I T E ----
Posts: 2530
Joined: Tue Mar 29, 2005 9:14 am
Location: Tionisla
Contact:

Post by Selezen »

Can I just point out that it may be better to collate the consistent errors or problems and report them in one go, or even PM them to giles and/or winston and whoever else, rather than post endless crash logs?

I thought that the usual process was to email crash logs or this sort of thing to the developers?
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

tjwhaynes:
I suspect that for the trace with the bellf()s, the stack was corrupted. bellf() is defined in legacy_random.c; it only calls printf() and randrot_rand() (which is a leaf function). Further investigation shows tha my_glDisable(), which is also on your first stack trace, is never called and the app builds fine with it commented out. It’s quite possible gdb is failing to get a meaningful call frame and is sniffing the stack, which will tend to include junk. (This is speculation based on the behaviour of MACSBug.)

(Hmm. This legacy_random stuff could probably be optimised quite a bit. Not that it’s actually costing a lot of time or anything.)

Any crash in objc_msg_lookup() suggests corrupted memory.

This all suggests a memory stomper. Are you using recent code, i.e. after the fix of the dangling-subentity-pointer bug?


Walker:
The fact that your backtraces of CPU spikes both contain a chain of -[AI foo:] messages supports the current favoured hypothesis. If you could confirm that more samples of CPU spikes are also showing AI activity, it might be helpful… although pasting dozens of logs here for us to look at probably isn’t the best way. ;-)

Possibly we need tools to dump and/or trace AI state; possibly something in the update cycle that times AI for each entity and snitches on ones that think too much.
Walker
Average
Average
Posts: 12
Joined: Mon Feb 06, 2006 10:36 am

hehe

Post by Walker »

:oops:

no problem, i will check for AI messages

and i did use svn again ... this time rev 252

i should stay with 1.62-2 i know but i always hope for the bug to be gone :lol:
Walker
Average
Average
Posts: 12
Joined: Mon Feb 06, 2006 10:36 am

mmh

Post by Walker »

after playing hours further without problem it started again, and when i try to get back to the debugger, gdb just segfaults :? i'll try another round
Walker
Average
Average
Posts: 12
Joined: Mon Feb 06, 2006 10:36 am

sry for posting such things

Post by Walker »

gdb) bt
#0 0x4069ba57 in -[NSScanner dealloc] (self=0xaefe278, _cmd=0x408278f8) at NSScanner.m:240
#1 0x40677fc5 in -[NSObject release] (self=0xaefe278, _cmd=0x408142f0) at NSObject.m:1837
#2 0x40606494 in -[NSAutoreleasePool dealloc] (self=0x86de050, _cmd=0x40814348) at NSAutoreleasePool.m:372
#3 0x4060636b in -[NSAutoreleasePool release] (self=0x86de050, _cmd=0x81634f0) at NSAutoreleasePool.m:308
#4 0x0806ec0c in -[MyOpenGLView pollControls:] (self=0x82d3a30, _cmd=0x815fea8, sender=0xa2f0588) at MyOpenGLView.m:978
#5 0x40677cd0 in -[NSObject performSelector:withObject:] (self=0x82d3a30, _cmd=0x40831458, aSelector=0x815fea8, anObject=0xa2f0588) at NSObject.m:1782
#6 0x406c1239 in -[NSTimer fire] (self=0xa2f0588, _cmd=0x4082bf80) at NSTimer.m:218
#7 0x406995ac in -[NSRunLoop limitDateForMode:] (self=0x8320198, _cmd=0x4082bee0, mode=0x4082c0d8) at NSRunLoop.m:815
#8 0x4069a75f in -[NSRunLoop runMode:beforeDate:] (self=0x8320198, _cmd=0x4082c010, mode=0x4082c0d8, date=0x8324c08) at NSRunLoop.m:1107
#9 0x4069a9f8 in -[NSRunLoop runUntilDate:] (self=0x8320198, _cmd=0x4082c008, date=0x8324c08) at NSRunLoop.m:1165
#10 0x4069a963 in -[NSRunLoop run] (self=0x8320198, _cmd=0x815fed8) at NSRunLoop.m:1148
#11 0x0805bb73 in -[GameController applicationDidFinishLaunching:] (self=0x831f1d8, _cmd=0x8162af0, notification=0x0) at GameController.m:388
#12 0x0806ce0c in main (argc=1, argv=0xbfffec84) at main.m:55
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x4086df32 in __ieee754_pow () from /lib/i686/libm.so.6
(gdb) bt
#0 0x4086df32 in __ieee754_pow () from /lib/i686/libm.so.6
#1 0x4087077e in pow () from /lib/i686/libm.so.6
#2 0x4069d725 in GSScanDouble (buf=0xbfffe130, length=4, result=0xbfffe140) at NSScanner.m:1300
#3 0x405dfbe9 in -[GSCString doubleValue] (self=0xffffffff, _cmd=0x8170720) at GSString.m:1206
#4 0x080c4b1a in -[ShipEntity(AI) pauseAI:] (self=0x8170720, _cmd=0x823d630, intervalString=0xcd1ac88) at ShipEntity (AI).m:59
#5 0x40677cd0 in -[NSObject performSelector:withObject:] (self=0x974f7c8, _cmd=0x815d800, aSelector=0x823d630, anObject=0xcd1ac88) at NSObject.m:1782
#6 0x08051461 in -[AI takeAction:] (self=0xae00680, _cmd=0x815d7e8, action=0x8a2e110) at AI.m:307
#7 0x08051168 in -[AI reactToMessage:] (self=0xae00680, _cmd=0x815d7c0, message=0x81757e8) at AI.m:249
#8 0x080516ed in -[AI think] (self=0xae00680, _cmd=0x81781e8) at AI.m:344
#9 0x0810db08 in -[Universe update:] (self=0x854ad00, _cmd=0x815ff00, delta_t=0.0099979947262909263) at Universe.m:5087
#10 0x0805bd12 in -[GameController doStuff:] (self=0x831f1d8, _cmd=0x81634e8, sender=0x0) at GameController.m:444
#11 0x0806ebe6 in -[MyOpenGLView pollControls:] (self=0x82d3a30, _cmd=0x815fea8, sender=0xa2f0588) at MyOpenGLView.m:976
#12 0x40677cd0 in -[NSObject performSelector:withObject:] (self=0x82d3a30, _cmd=0x40831458, aSelector=0x815fea8, anObject=0xa2f0588) at NSObject.m:1782
#13 0x406c1239 in -[NSTimer fire] (self=0xa2f0588, _cmd=0x4082bf80) at NSTimer.m:218
#14 0x406995ac in -[NSRunLoop limitDateForMode:] (self=0x8320198, _cmd=0x4082bee0, mode=0x4082c0d8) at NSRunLoop.m:815
#15 0x4069a75f in -[NSRunLoop runMode:beforeDate:] (self=0x8320198, _cmd=0x4082c010, mode=0x4082c0d8, date=0x8324c08) at NSRunLoop.m:1107
#16 0x4069a9f8 in -[NSRunLoop runUntilDate:] (self=0x8320198, _cmd=0x4082c008, date=0x8324c08) at NSRunLoop.m:1165
#17 0x4069a963 in -[NSRunLoop run] (self=0x8320198, _cmd=0x815fed8) at NSRunLoop.m:1148
#18 0x0805bb73 in -[GameController applicationDidFinishLaunching:] (self=0x831f1d8, _cmd=0x8162af0, notification=0x0) at GameController.m:388
#19 0x0806ce0c in main (argc=1, argv=0xbfffec84) at main.m:55


this both backtraces come from the same cpu lockup point now, AI msg's are only in the last one

(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x41791e11 in s11790 () from /usr/X11R6/lib/modules/dri/fglrx_dri.so
(gdb) bt
#0 0x41791e11 in s11790 () from /usr/X11R6/lib/modules/dri/fglrx_dri.so
#1 0x415f2a65 in s6057 () from /usr/X11R6/lib/modules/dri/fglrx_dri.so
#2 0x4179dfd2 in s13452 () from /usr/X11R6/lib/modules/dri/fglrx_dri.so
#3 0x416b5ac2 in s436 () from /usr/X11R6/lib/modules/dri/fglrx_dri.so
#4 0x416b6257 in s9675 () from /usr/X11R6/lib/modules/dri/fglrx_dri.so
#5 0x0807e118 in -[PlanetEntity drawEntity::] (self=0x53039010, _cmd=0x8165518, immediate=0 '\000', translucent=0 '\000') at PlanetEntity.m:1241
#6 0x0807e1ea in -[PlanetEntity drawEntity::] (self=0x4f5d3010, _cmd=0x8178018, immediate=0 '\000', translucent=0 '\000') at PlanetEntity.m:1313
#7 0x08105e6d in -[Universe drawFromEntity:] (self=0x854ad00, _cmd=0x8163450, n=0) at Universe.m:3392
#8 0x0806dd57 in -[MyOpenGLView drawRect:] (self=0x8163450, _cmd=0x8163440, rect={origin = {x = 0, y = 0}, size = {width = 1128, height = 718}}) at MyOpenGLView.m:324
#9 0x0806dc71 in -[MyOpenGLView display] (self=0x82d3a30, _cmd=0x815ff08) at NSGeometry.h:189
#10 0x0805bca4 in -[GameController doStuff:] (self=0x831f1d8, _cmd=0x81634e8, sender=0x0) at GameController.m:450
#11 0x0806ebe6 in -[MyOpenGLView pollControls:] (self=0x82d3a30, _cmd=0x815fea8, sender=0xa2f0588) at MyOpenGLView.m:976
#12 0x40677cd0 in -[NSObject performSelector:withObject:] (self=0x82d3a30, _cmd=0x40831458, aSelector=0x815fea8, anObject=0xa2f0588) at NSObject.m:1782
#13 0x406c1239 in -[NSTimer fire] (self=0xa2f0588, _cmd=0x4082bf80) at NSTimer.m:218
#14 0x406995ac in -[NSRunLoop limitDateForMode:] (self=0x8320198, _cmd=0x4082bee0, mode=0x4082c0d8) at NSRunLoop.m:815
#15 0x4069a75f in -[NSRunLoop runMode:beforeDate:] (self=0x8320198, _cmd=0x4082c010, mode=0x4082c0d8, date=0x8324c08) at NSRunLoop.m:1107
#16 0x4069a9f8 in -[NSRunLoop runUntilDate:] (self=0x8320198, _cmd=0x4082c008, date=0x8324c08) at NSRunLoop.m:1165
#17 0x4069a963 in -[NSRunLoop run] (self=0x8320198, _cmd=0x815fed8) at NSRunLoop.m:1148
#18 0x0805bb73 in -[GameController applicationDidFinishLaunching:] (self=0x831f1d8, _cmd=0x8162af0, notification=0x0) at GameController.m:388
#19 0x0806ce0c in main (argc=1, argv=0xbfffec84) at main.m:55
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x408fe772 in malloc_consolidate () from /lib/i686/libc.so.6
(gdb) bt
#0 0x408fe772 in malloc_consolidate () from /lib/i686/libc.so.6
#1 0x408fe63a in _int_free () from /lib/i686/libc.so.6
#2 0x408fd22f in free () from /lib/i686/libc.so.6
/usr/GNUstep/System/Tools/debugapp: line 235: 11003 Speicherzugriffsfehler "$GDB" $args "$file_appname" "$@"


well, i don't post more backtraces now ....
tjwhaynes
Average
Average
Posts: 9
Joined: Wed Sep 28, 2005 12:29 am

Post by tjwhaynes »

Ahruman wrote:
tjwhaynes:
I suspect that for the trace with the bellf()s, the stack was corrupted. bellf() is defined in legacy_random.c; it only calls printf() and randrot_rand() (which is a leaf function). Further investigation shows tha my_glDisable(), which is also on your first stack trace, is never called and the app builds fine with it commented out. It’s quite possible gdb is failing to get a meaningful call frame and is sniffing the stack, which will tend to include junk. (This is speculation based on the behaviour of MACSBug.)

(Hmm. This legacy_random stuff could probably be optimised quite a bit. Not that it’s actually costing a lot of time or anything.)

Any crash in objc_msg_lookup() suggests corrupted memory.

This all suggests a memory stomper. Are you using recent code, i.e. after the fix of the dangling-subentity-pointer bug?
This is the autopackage for 1.62 which is a departure for me because I normally track the SVN latest (on my AMD64 box which is currently at the dealers being prodded to work out what has blown).

I'll try to build a proper debug version of oolite. I've debugged other oolite nasties before using gdb with a proper debug build.

Cheers,
Toby Haynes
Marsu42
Harmless
Harmless
Posts: 1
Joined: Wed Feb 15, 2006 9:19 pm

Post by Marsu42 »

... in the meantime, I'm restarting the game every 2nd planet I visit, since my PC otherwise runs out of virtual memory when there are many encounters and the kernel kills the oolite task.

Hopy someone finds the bug soon - on the other hand, maybe it's a secret Thargoid plot to get rid of us :->
tjwhaynes
Average
Average
Posts: 9
Joined: Wed Sep 28, 2005 12:29 am

Better gdb traces...

Post by tjwhaynes »

Here's a few proper stacks (this time from my AMD64 Ubuntu box which is working again :-) ). It looks like we are deep in the AI - I have no idea whether all these stacks are helping. Let me know if you want me to run with some debug code - normally I run at about 40% cpu usage in oolite so I have plenty of CPU headroom still.

Code: Select all

Program received signal SIGINT, Interrupt.
[Switching to Thread 46912561770688 (LWP 19975)]
0x00002aaaabd744ea in GSToUnicode (dst=0x7fffff8defe8, size=0x7fffff8deff4,
    src=0xe897330 "5.0»*", slen=3, enc=NSISOLatin1StringEncoding, zone=0x0,
    options=0) at Unicode.m:1161
1161    Unicode.m: No such file or directory.
        in Unicode.m
(gdb) bt
#0  0x00002aaaabd744ea in GSToUnicode (dst=0x7fffff8defe8,
    size=0x7fffff8deff4, src=0xe897330 "5.0»*", slen=3,
    enc=NSISOLatin1StringEncoding, zone=0x0, options=0) at Unicode.m:1161
#1  0x00002aaaabc119c9 in doubleValue_c (self=0xe897300) at GSString.m:1177
#2  0x00002aaaabc118ee in -[GSCString doubleValue] (self=0xe897300,
    _cmd=0x682240) at GSString.m:2149
#3  0x00000000004a277b in -[ShipEntity(AI) setDesiredRangeTo:] (
    self=0x2aaab91b3020, _cmd=0x792320, rangeString=0xe897300)
    at ShipEntity (AI).m:72
#4  0x00002aaaabcb9b7e in -[NSObject performSelector:withObject:] (
    self=0x2aaab91b3020, _cmd=0x6488f0, aSelector=0x792320, anObject=0xe897300)
    at NSObject.m:1811
#5  0x000000000040d525 in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfd3f30) at AI.m:307
#6  0x000000000040d0f3 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x648ac0) at AI.m:249
#7  0x000000000040cdae in -[AI setState:] (self=0x11cf610, _cmd=0x6488a0,
    stateName=0xe8968a0) at AI.m:209
#8  0x000000000040d4c2 in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfdc0c0) at AI.m:300
#9  0x000000000040d0f3 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x6908c0) at AI.m:249
#10 0x000000000040d80b in -[AI think] (self=0x11cf610, _cmd=0x699d60)
    at AI.m:344
#11 0x0000000000506e02 in -[Universe update:] (self=0xaab490, _cmd=0x651410,
    delta_t=0.010379999876022339) at Universe.m:5087
#12 0x000000000041c875 in -[GameController doStuff:] (self=0x924aa0,
    _cmd=0x65ace0, sender=0x0) at GameController.m:444
#13 0x00000000004362ea in -[MyOpenGLView pollControls:] (self=0x8f2af0,
    _cmd=0x651360, sender=0x1983ab0) at MyOpenGLView.m:976
#14 0x00002aaaabcb9b7e in -[NSObject performSelector:withObject:] (
    self=0x8f2af0, _cmd=0x2aaaabf35120, aSelector=0x651360, anObject=0x1983ab0)
    at NSObject.m:1811
#15 0x00002aaaabd02fb3 in -[NSTimer fire] (self=0x1983ab0, _cmd=0x2aaaabf25250)
---Type <return> to continue, or q <return> to quit---
    at NSTimer.m:216
#16 0x00002aaaabcd5fd0 in -[NSRunLoop limitDateForMode:] (self=0x8e6550,
    _cmd=0x2aaaabf25120, mode=0x2aaaabf25440) at NSRunLoop.m:1765
#17 0x00002aaaabcd701a in -[NSRunLoop runMode:beforeDate:] (self=0x8e6550,
    _cmd=0x2aaaabf25370, mode=0x2aaaabf25440, date=0x947020)
    at NSRunLoop.m:2044
#18 0x00002aaaabcd72c1 in -[NSRunLoop runUntilDate:] (self=0x8e6550,
    _cmd=0x2aaaabf25360, date=0x947020) at NSRunLoop.m:2102
#19 0x00002aaaabcd71de in -[NSRunLoop run] (self=0x8e6550, _cmd=0x6513c0)
    at NSRunLoop.m:2085
#20 0x000000000041c63a in -[GameController applicationDidFinishLaunching:] (
    self=0x924aa0, _cmd=0x6584c0, notification=0x0) at GameController.m:388
#21 0x00000000004328ee in main (argc=1, argv=0x7fffff8dffc8) at main.m:55

Program received signal SIGINT, Interrupt.
0x00002aaaac27e3a7 in free () from /lib/libc.so.6
(gdb) bt
#0  0x00002aaaac27e3a7 in free () from /lib/libc.so.6
#1  0x00002aaaac27fbb2 in malloc () from /lib/libc.so.6
#2  0x00002aaaabf7f96a in objc_malloc () from /usr/lib/libobjc.so.1
#3  0x00002aaaabd24b7a in default_malloc (zone=0x2aaaabf453e0, size=192)
    at NSZone.m:464
#4  0x00002aaaabbf404a in NSZoneMalloc (zone=0x2aaaabf453e0, size=192)
    at NSZone.h:307
#5  0x00002aaaabbf3f4e in GSIMapMoreNodes (map=0x18478e58, required=8)
    at GSIMap.h:453
#6  0x00002aaaabbf40db in GSIMapInitWithZoneAndCapacity (map=0x18478e58,
    zone=0x2aaaabf453e0, capacity=8) at GSIMap.h:913
#7  0x00002aaaabbf4d4e in -[GSMutableDictionary initWithCapacity:] (
    self=0x18478e50, _cmd=0x2aaaabefb710, cap=8) at GSDictionary.m:368
#8  0x00002aaaabc7c73f in +[NSMutableDictionary dictionaryWithCapacity:] (
    self=0x2aaaabefad00, _cmd=0x6900f0, numItems=8) at NSDictionary.m:1174
#9  0x00000000004db372 in instructions (station_id=677, coords=
      {x = 11673.0547, y = -103385.742, z = 744977.938}, speed=0, range=100,
    ai_message=0x6908c0, comms_message=0x0, match_rotation=0 '\000')
    at StationEntity.m:259
#10 0x00000000004dcf05 in -[StationEntity dockingInstructionsForShip:] (
    self=0x2aaab7430020, _cmd=0x682800, ship=0x2aaab91b3020)
    at StationEntity.m:443
#11 0x00000000004ac5c0 in -[ShipEntity(AI) requestDockingCoordinates] (
    self=0x2aaab91b3020, _cmd=0x790430) at ShipEntity (AI).m:1799
#12 0x00002aaaabcb9a5e in -[NSObject performSelector:] (self=0x2aaab91b3020,
    _cmd=0x648930, aSelector=0x790430) at NSObject.m:1785
#13 0x000000000040d55a in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfd3ff0) at AI.m:309
#14 0x000000000040d0f3 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x648ac0) at AI.m:249
#15 0x000000000040cdae in -[AI setState:] (self=0x11cf610, _cmd=0x6488a0,
    stateName=0x18478150) at AI.m:209
#16 0x000000000040d4c2 in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfdc0c0) at AI.m:300
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x00002aaaabf83643 in objc_msg_lookup () from /usr/lib/libobjc.so.1
(gdb) bt
#0  0x00002aaaabf83643 in objc_msg_lookup () from /usr/lib/libobjc.so.1
#1  0x00002aaaabcee061 in +[NSString stringWithFormat:] (self=0x2aaaabf30340,
    _cmd=0x690100, format=0x690720) at NSString.m:517
#2  0x00000000004db3f8 in instructions (station_id=677, coords=
      {x = 11673.0547, y = -103385.742, z = 744977.938}, speed=0, range=100,
    ai_message=0x6908c0, comms_message=0x0, match_rotation=0 '\000')
    at StationEntity.m:260
#3  0x00000000004dcf05 in -[StationEntity dockingInstructionsForShip:] (
    self=0x2aaab7430020, _cmd=0x682800, ship=0x2aaab91b3020)
    at StationEntity.m:443
#4  0x00000000004ac5c0 in -[ShipEntity(AI) requestDockingCoordinates] (
    self=0x2aaab91b3020, _cmd=0x790430) at ShipEntity (AI).m:1799
#5  0x00002aaaabcb9a5e in -[NSObject performSelector:] (self=0x2aaab91b3020,
    _cmd=0x648930, aSelector=0x790430) at NSObject.m:1785
#6  0x000000000040d55a in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfd3ff0) at AI.m:309
#7  0x000000000040d0f3 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x648ac0) at AI.m:249
#8  0x000000000040cdae in -[AI setState:] (self=0x11cf610, _cmd=0x6488a0,
    stateName=0x1b55c330) at AI.m:209
#9  0x000000000040d4c2 in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfdc0c0) at AI.m:300
#10 0x000000000040d0f3 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x6908c0) at AI.m:249
#11 0x000000000040d80b in -[AI think] (self=0x11cf610, _cmd=0x699d60)
    at AI.m:344
#12 0x0000000000506e02 in -[Universe update:] (self=0xaab490, _cmd=0x651410,
    delta_t=0.010379999876022339) at Universe.m:5087
#13 0x000000000041c875 in -[GameController doStuff:] (self=0x924aa0,
    _cmd=0x65ace0, sender=0x0) at GameController.m:444
#14 0x00000000004362ea in -[MyOpenGLView pollControls:] (self=0x8f2af0,
    _cmd=0x651360, sender=0x1983ab0) at MyOpenGLView.m:976
#15 0x00002aaaabcb9b7e in -[NSObject performSelector:withObject:] (
    self=0x8f2af0, _cmd=0x2aaaabf35120, aSelector=0x651360, anObject=0x1983ab0)
---Type <return> to continue, or q <return> to quit---
    at NSObject.m:1811
#16 0x00002aaaabd02fb3 in -[NSTimer fire] (self=0x1983ab0, _cmd=0x2aaaabf25250)
    at NSTimer.m:216
#17 0x00002aaaabcd5fd0 in -[NSRunLoop limitDateForMode:] (self=0x8e6550,
    _cmd=0x2aaaabf25120, mode=0x2aaaabf25440) at NSRunLoop.m:1765
#18 0x00002aaaabcd701a in -[NSRunLoop runMode:beforeDate:] (self=0x8e6550,
    _cmd=0x2aaaabf25370, mode=0x2aaaabf25440, date=0x947020)
    at NSRunLoop.m:2044
#19 0x00002aaaabcd72c1 in -[NSRunLoop runUntilDate:] (self=0x8e6550,
    _cmd=0x2aaaabf25360, date=0x947020) at NSRunLoop.m:2102
#20 0x00002aaaabcd71de in -[NSRunLoop run] (self=0x8e6550, _cmd=0x6513c0)
    at NSRunLoop.m:2085
#21 0x000000000041c63a in -[GameController applicationDidFinishLaunching:] (
    self=0x924aa0, _cmd=0x6584c0, notification=0x0) at GameController.m:388
#22 0x00000000004328ee in main (argc=1, argv=0x7fffff8dffc8) at main.m:55
(gdb)
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x00002aaaabc2f420 in +[NSArray arrayWithArray:] (self=0x2aaaabee3080,
    _cmd=0x6487e0, array=0xfb1140) at NSArray.m:190
190     NSArray.m: No such file or directory.
        in NSArray.m
(gdb) bt
#0  0x00002aaaabc2f420 in +[NSArray arrayWithArray:] (self=0x2aaaabee3080,
    _cmd=0x6487e0, array=0xfb1140) at NSArray.m:190
#1  0x000000000040d025 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x648aa0) at AI.m:241
#2  0x000000000040cd10 in -[AI setState:] (self=0x11cf610, _cmd=0x6488a0,
    stateName=0x1f3b2bf0) at AI.m:206
#3  0x000000000040d4c2 in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfdc0c0) at AI.m:300
#4  0x000000000040d0f3 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x6908c0) at AI.m:249
#5  0x000000000040d80b in -[AI think] (self=0x11cf610, _cmd=0x699d60)
    at AI.m:344
#6  0x0000000000506e02 in -[Universe update:] (self=0xaab490, _cmd=0x651410,
    delta_t=0.010379999876022339) at Universe.m:5087
#7  0x000000000041c875 in -[GameController doStuff:] (self=0x924aa0,
    _cmd=0x65ace0, sender=0x0) at GameController.m:444
#8  0x00000000004362ea in -[MyOpenGLView pollControls:] (self=0x8f2af0,
    _cmd=0x651360, sender=0x1983ab0) at MyOpenGLView.m:976
#9  0x00002aaaabcb9b7e in -[NSObject performSelector:withObject:] (
    self=0x8f2af0, _cmd=0x2aaaabf35120, aSelector=0x651360, anObject=0x1983ab0)
    at NSObject.m:1811
#10 0x00002aaaabd02fb3 in -[NSTimer fire] (self=0x1983ab0, _cmd=0x2aaaabf25250)
    at NSTimer.m:216
#11 0x00002aaaabcd5fd0 in -[NSRunLoop limitDateForMode:] (self=0x8e6550,
    _cmd=0x2aaaabf25120, mode=0x2aaaabf25440) at NSRunLoop.m:1765
#12 0x00002aaaabcd701a in -[NSRunLoop runMode:beforeDate:] (self=0x8e6550,
    _cmd=0x2aaaabf25370, mode=0x2aaaabf25440, date=0x947020)
    at NSRunLoop.m:2044
#13 0x00002aaaabcd72c1 in -[NSRunLoop runUntilDate:] (self=0x8e6550,
    _cmd=0x2aaaabf25360, date=0x947020) at NSRunLoop.m:2102
#14 0x00002aaaabcd71de in -[NSRunLoop run] (self=0x8e6550, _cmd=0x6513c0)
    at NSRunLoop.m:2085
#15 0x000000000041c63a in -[GameController applicationDidFinishLaunching:] (
    self=0x924aa0, _cmd=0x6584c0, notification=0x0) at GameController.m:388
---Type <return> to continue, or q <return> to quit---
#16 0x00000000004328ee in main (argc=1, argv=0x7fffff8dffc8) at main.m:55
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x00002aaaabbf3ae1 in GSIMapBucketForKey (map=0x6831a0, key=
      {obj = 0x219c59d8, nso = 0x219c59d8}) at GSIMap.h:323
323     GSIMap.h: No such file or directory.
        in GSIMap.h
(gdb) bt
#0  0x00002aaaabbf3ae1 in GSIMapBucketForKey (map=0x6831a0, key=
      {obj = 0x219c59d8, nso = 0x219c59d8}) at GSIMap.h:323
#1  0x00002aaaabbf4b96 in -[GSDictionary objectForKey:] (self=0x219c58c0,
    _cmd=0x682480, aKey=0x6831a0) at GSDictionary.m:331
#2  0x00000000004ac940 in -[ShipEntity(AI) requestDockingCoordinates] (
    self=0x2aaab91b3020, _cmd=0x790430) at ShipEntity (AI).m:1813
#3  0x00002aaaabcb9a5e in -[NSObject performSelector:] (self=0x2aaab91b3020,
    _cmd=0x648930, aSelector=0x790430) at NSObject.m:1785
#4  0x000000000040d55a in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfd3ff0) at AI.m:309
#5  0x000000000040d0f3 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x648ac0) at AI.m:249
#6  0x000000000040cdae in -[AI setState:] (self=0x11cf610, _cmd=0x6488a0,
    stateName=0x219c6c50) at AI.m:209
#7  0x000000000040d4c2 in -[AI takeAction:] (self=0x11cf610, _cmd=0x6488c0,
    action=0xfdc0c0) at AI.m:300
#8  0x000000000040d0f3 in -[AI reactToMessage:] (self=0x11cf610,
    _cmd=0x648870, message=0x6908c0) at AI.m:249
#9  0x000000000040d80b in -[AI think] (self=0x11cf610, _cmd=0x699d60)
User avatar
winston
Pirate
Pirate
Posts: 731
Joined: Mon Sep 27, 2004 10:21 pm
Location: Port St. Mary, Isle of Man
Contact:

Post by winston »

See the thread in 'Testing and Bug Reports' which has an object dump. The problem definitely starts out in the AI code - I have not yet been able to determine whether it's a problem with Oolite's code or GNUstep. I'm keeping a very open mind about it - although Giles has not encountered it on the Mac, it's one of those annoying bugs that are difficult to recreate and don't always happen (from this thread we see that some people see it after about 10 minutes of gameplay, yet it once took me 14 hours to reproduce it on my hardware, and normally takes me at least a couple of hours to reproduce. For all we know it might happen only once every 100 hours of play on the Mac!)

But this is the nature of anything that's triggered by AI - the AI is somewhat non-deterministic in what it does.
The current suspects for the trigger are: docking AI and wormholes. I've only ever seen it happen with multiple wormholes in the system (I may try and just disable wormholes and re-run the game to eliminate them from my enquiries). Short of sitting at my PC for hours on end, the fastest way I've found of reproducing this is to launch and sit somewhere near the space station (without blocking the entrance, normally I loiter by the witch point beacon).

At the same time I can't discount a bug in GNUstep, so I re-built the GNUstep base shared libraries as a debug build.
tjwhaynes
Average
Average
Posts: 9
Joined: Wed Sep 28, 2005 12:29 am

Repeatability

Post by tjwhaynes »

I often trade between Ensoreus and Ararus (Galaxy 1) as they are the classic Rich-Industrial/Poor Agricultural close pair for good trading runs. Ararus is an anarchy world and it is there that I have had almost all of the memory consumers wipeouts. I rarely make more than two or three runs to the Ararus station before I hit this bug.

And I'll check out the other thread :-)

Cheers,
Toby Haynes
User avatar
chomann
Above Average
Above Average
Posts: 29
Joined: Mon Oct 27, 2008 6:21 pm

me too!

Post by chomann »

ive had this bug too ive been searching for what it sould be ...but im using the 1.65 oolite build is there anything to do to fix it ?
"To boldly go where no man has gone before, and drop off my Trumbles." ~ Ashby
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2882
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

I've been playing on 1.71 for quite a while and found it a lot more stable and memory leak free. I play on an old steam powered system, but all the shaders and other high-end stuff is turned off if you don't have the power to support it. Bugs are squashed as the development releases move on, but 1.71 runs much better than 1.65, so definatley worth updating to. Everything that works on 1.65 still works on 1.71 and there's now quite a few OXPs about that require 1.70 or higher. :wink:
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
chomann
Above Average
Above Average
Posts: 29
Joined: Mon Oct 27, 2008 6:21 pm

1.7 so sad

Post by chomann »

so i tried version 1.7 but just cold not get it to run after i installed it...even as root. It seems as though i am stuck with 1.65 in the repositories.. is there any way to fix this issue or maybe some tricks to get 1.7 to initialize? I could try all day but even after installing the libjs.so that it was screaming for it still didnt run and still screamed for the same thing....please help i hate having such an unstable game ....thanks
"To boldly go where no man has gone before, and drop off my Trumbles." ~ Ashby
Post Reply