Bug in wormhole scanner

For test results, bug reports, announcements of new builds etc.

Moderators: winston, another_commander, Getafix

Post Reply
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Bug in wormhole scanner

Post by Eric Walch »

I just had a crash with Oolite 1.73. Responsible is the new wormhole scanner. On loading my last save that contained woay. The reason for the crash is that not all oxp.s were present during this load. Looking in my save file it contained ships from an not installed OXP. Adding that oxp back solved the problem. So somehow there misses a check for existing ships. :!:

Code: Select all

Process:         OoliteDev [607]
Path:            /Users/ericwalch/Oolite/trunk/build/Debug/OoliteDev.app/Contents/MacOS/OoliteDev
Identifier:      org.aegidian.oolite
Version:         Oolite version 1.73 (1.73)
Code Type:       X86 (Native)
Parent Process:  launchd [73]

Date/Time:       2009-07-20 12:03:20.270 +0200
OS Version:      Mac OS X 10.5.7 (9J61)
Report Version:  6
Anonymous UUID:  8F0E24B1-5FC1-4401-846B-F94A6FDA55B9

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Crashed Thread:  0

Application Specific Information:
objc[607]: FREED(id): message retain sent to freed object=0x1e201a00
[mesh.load.failed.fileNotFound] OOMesh.m:798: ***** ERROR: could not find neoanaconda.dat


Thread 0 Crashed:
0   libobjc.A.dylib               	0x961dbbfa _objc_error + 116
1   libobjc.A.dylib               	0x961dbc30 __objc_error + 52
2   libobjc.A.dylib               	0x961da637 _freedHandler + 58
3   com.apple.CoreFoundation      	0x91bd3286 CFRetain + 86
4   com.apple.CoreFoundation      	0x91ba2e12 CFDictionaryAddValue + 530
5   com.apple.CoreFoundation      	0x91ba3424 CFDictionaryCreate + 132
6   com.apple.CoreFoundation      	0x91c4514b -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 699
7   com.apple.CoreFoundation      	0x91c4826c +[NSDictionary dictionaryWithObjectsAndKeys:] + 332
8   org.aegidian.oolite           	0x00124aca -[WormholeEntity initWithDict:] + 882 (WormholeEntity.m:110)
9   org.aegidian.oolite           	0x000b3f94 -[PlayerEntity setCommanderDataFromDictionary:] + 6121 (PlayerEntity.m:724)
10  org.aegidian.oolite           	0x000add92 -[PlayerEntity(LoadSave) loadPlayerFromFile:] + 396 (PlayerEntityLoadSave.m:425)
11  org.aegidian.oolite           	0x000ae502 -[PlayerEntity(OOLoadSavePrivate) loadPlayerWithPanel] + 248 (PlayerEntityLoadSave.m:511)
12  org.aegidian.oolite           	0x000ac905 -[PlayerEntity(LoadSave) loadPlayer] + 124 (PlayerEntityLoadSave.m:105)
13  org.aegidian.oolite           	0x00123f15 -[PlayerEntity(OOControlsPrivate) pollDemoControls:] + 628 (PlayerEntityControls.m:2866)
14  org.aegidian.oolite           	0x00119a1d -[PlayerEntity(Controls) pollControls:] + 733 (PlayerEntityControls.m:297)
15  org.aegidian.oolite           	0x000b6a6e -[PlayerEntity update:] + 278 (PlayerEntity.m:1286)
16  org.aegidian.oolite           	0x0004cb23 -[Universe update:] + 3559 (Universe.m:5357)
17  org.aegidian.oolite           	0x000129a3 -[GameController doPerformGameTick] + 224 (GameController.m:315)
18  org.aegidian.oolite           	0x000128bd -[GameController performGameTick:] + 42 (GameController.m:284)
19  com.apple.Foundation          	0x97288517 __NSFireTimer + 279
20  com.apple.CoreFoundation      	0x91bd1ac5 CFRunLoopRunSpecific + 4469
21  com.apple.CoreFoundation      	0x91bd1c78 CFRunLoopRunInMode + 88
22  com.apple.HIToolbox           	0x90d4628c RunCurrentEventLoopInMode + 283
23  com.apple.HIToolbox           	0x90d460a5 ReceiveNextEventCommon + 374
24  com.apple.HIToolbox           	0x90d45f19 BlockUntilNextEventMatchingListInMode + 106
25  com.apple.AppKit              	0x90043d0d _DPSNextEvent + 657
26  com.apple.AppKit              	0x900435c0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
27  com.apple.AppKit              	0x9003c5fb -[NSApplication run] + 795
28  com.apple.AppKit              	0x90009834 NSApplicationMain + 574
29  org.aegidian.oolite           	0x00002f55 main + 35 (main.m:14)
30  org.aegidian.oolite           	0x000024c2 _start + 216
31  org.aegidian.oolite           	0x000023e9 start + 41
User avatar
Micha
Commodore
Commodore
Posts: 815
Joined: Tue Sep 02, 2008 2:01 pm
Location: London, UK
Contact:

Post by Micha »

Sorry for the delay - fixed in r2289.

The code loading the saved Wormholes now tries to populate the wormhole with any ship fitting the roles of the ships which couldn't be loaded. If this doesn't work either (eg, the ship in question had a custom role which the currently loaded environment doesn't have), the ship is skipped, which leads to potentially empty wormholes.
The glass is twice as big as it needs to be.
Post Reply