Skip to main content

News

Topic: Sphere 5.5.1 (miniSphere) (Read 412525 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.3
Reply #765
And for your little demo game?
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: minisphere 1.5.3
Reply #766

And for your little demo game?


Sorry, I forgot, here it is:

Code: [Select]

Parsing command line
  Game path: <none provided>
  Frameskip limit: 5 frames
  CPU throttle: ON
  Console verbosity: L4

Initializing Allegro
Initializing Dyad
Loading system configuration
Opening File 0 as '~sys/system.ini'
Initializing async manager
Initializing Mersenne Twister
Seeding MT19937 (1437426614)
Initializing Galileo
Initializing Audialis
Creating new Mixer 0 at 44 kHz
  Format: 2ch 44100 Hz, 16-bit
Incrementing Mixer 0 refcount, new: 1
Initializing input
Opening File 1 as '~sys/../minisphere.conf'
Reading key 'keymap_Player1_MENU' from File 1
Reading key 'keymap_Player1_UP' from File 1
Reading key 'keymap_Player1_DOWN' from File 1
Reading key 'keymap_Player1_LEFT' from File 1
Reading key 'keymap_Player1_RIGHT' from File 1
Reading key 'keymap_Player1_A' from File 1
Reading key 'keymap_Player1_B' from File 1
Reading key 'keymap_Player1_X' from File 1
Reading key 'keymap_Player1_Y' from File 1
Reading key 'keymap_Player2_MENU' from File 1
Reading key 'keymap_Player2_UP' from File 1
Reading key 'keymap_Player2_DOWN' from File 1
Reading key 'keymap_Player2_LEFT' from File 1
Reading key 'keymap_Player2_RIGHT' from File 1
Reading key 'keymap_Player2_A' from File 1
Reading key 'keymap_Player2_B' from File 1
Reading key 'keymap_Player2_X' from File 1
Reading key 'keymap_Player2_Y' from File 1
Reading key 'keymap_Player3_MENU' from File 1
Reading key 'keymap_Player3_UP' from File 1
Reading key 'keymap_Player3_DOWN' from File 1
Reading key 'keymap_Player3_LEFT' from File 1
Reading key 'keymap_Player3_RIGHT' from File 1
Reading key 'keymap_Player3_A' from File 1
Reading key 'keymap_Player3_B' from File 1
Reading key 'keymap_Player3_X' from File 1
Reading key 'keymap_Player3_Y' from File 1
Reading key 'keymap_Player4_MENU' from File 1
Reading key 'keymap_Player4_UP' from File 1
Reading key 'keymap_Player4_DOWN' from File 1
Reading key 'keymap_Player4_LEFT' from File 1
Reading key 'keymap_Player4_RIGHT' from File 1
Reading key 'keymap_Player4_A' from File 1
Reading key 'keymap_Player4_B' from File 1
Reading key 'keymap_Player4_X' from File 1
Reading key 'keymap_Player4_Y' from File 1
File 1 no longer in use, deallocating
Initializing spriteset manager
Initializing map engine
Initializing persons manager
Initializing JavaScript
  Duktape v1.2.2
  Error evaluating compiler script
  RangeError: compiler recursion limit (line 8)
  CoffeeScript support not enabled
Initializing Sphere API
  v2.0 (minisphere 1.5.3)
  minisphere
  sphere-legacy-api
  sphere-obj-constructors
  sphere-obj-props
  sphere-audialis
  sphere-coffeescript
  sphere-commonjs
  sphere-galileo
  sphere-map-engine
  sphere-spherefs
  minisphere-async-api
  minisphere-galileo-shaders
  minisphere-new-sockets
  minisphere-rng-object
  frameskip-api
  set-script-function
Reading key 'Arrow' from File 0
Loading Image 0 as '~sys/pointer.png'
Reading key 'UpArrow' from File 0
Loading Image 1 as '~sys/up_arrow.png'
Reading key 'DownArrow' from File 0
Loading Image 2 as '~sys/down_arrow.png'
Reading key 'WindowStyle' from File 0
Reading 16x16 Image 3 from open file
Reading 16x16 Image 4 from open file
Reading 16x16 Image 5 from open file
Reading 16x16 Image 6 from open file
Reading 16x16 Image 7 from open file
Reading 16x16 Image 8 from open file
Reading 16x16 Image 9 from open file
Reading 16x16 Image 10 from open file
Reading 16x16 Image 11 from open file
Setting up jump points for longjmp
Looking for a game to launch
Opening game '/Users/lux/dev/minisphere/bin/games/nmix/game.sgm'
  Title: NMix
  Author: NeoLogiX
  Resolution: 320x240
Creating render window
Loading Image 12 as '~sgm/icon.png'
  Failed to load Image 12Loading Image 12 as '~sys/icon.png'
Decrementing Image 12 refcount, new: 0
Image 12 no longer in use, deallocating
Opening File 2 as 'keymap.mini'
Reading key 'keymap_Player1_MENU' from File 2
Reading key 'keymap_Player1_UP' from File 2
Reading key 'keymap_Player1_DOWN' from File 2
Reading key 'keymap_Player1_LEFT' from File 2
Reading key 'keymap_Player1_RIGHT' from File 2
Reading key 'keymap_Player1_A' from File 2
Reading key 'keymap_Player1_B' from File 2
Reading key 'keymap_Player1_X' from File 2
Reading key 'keymap_Player1_Y' from File 2
Reading key 'keymap_Player2_MENU' from File 2
Reading key 'keymap_Player2_UP' from File 2
Reading key 'keymap_Player2_DOWN' from File 2
Reading key 'keymap_Player2_LEFT' from File 2
Reading key 'keymap_Player2_RIGHT' from File 2
Reading key 'keymap_Player2_A' from File 2
Reading key 'keymap_Player2_B' from File 2
Reading key 'keymap_Player2_X' from File 2
Reading key 'keymap_Player2_Y' from File 2
Reading key 'keymap_Player3_MENU' from File 2
Reading key 'keymap_Player3_UP' from File 2
Reading key 'keymap_Player3_DOWN' from File 2
Reading key 'keymap_Player3_LEFT' from File 2
Reading key 'keymap_Player3_RIGHT' from File 2
Reading key 'keymap_Player3_A' from File 2
Reading key 'keymap_Player3_B' from File 2
Reading key 'keymap_Player3_X' from File 2
Reading key 'keymap_Player3_Y' from File 2
Reading key 'keymap_Player4_MENU' from File 2
Reading key 'keymap_Player4_UP' from File 2
Reading key 'keymap_Player4_DOWN' from File 2
Reading key 'keymap_Player4_LEFT' from File 2
Reading key 'keymap_Player4_RIGHT' from File 2
Reading key 'keymap_Player4_A' from File 2
Reading key 'keymap_Player4_B' from File 2
Reading key 'keymap_Player4_X' from File 2
Reading key 'keymap_Player4_Y' from File 2
File 2 no longer in use, deallocating
Initializing shader support
Loading system font
Reading key 'Font' from File 0
Loading Font 0 as '~sys/system.rfn'
Creating Image 13 at 128x192
Creating Image 14 as 8x12 subimage of Image 13
Creating Image 15 as 8x12 subimage of Image 13
Creating Image 16 as 8x12 subimage of Image 13
Creating Image 17 as 8x12 subimage of Image 13
Creating Image 18 as 8x12 subimage of Image 13
Creating Image 19 as 8x12 subimage of Image 13
Creating Image 20 as 8x12 subimage of Image 13
Creating Image 21 as 8x12 subimage of Image 13
Creating Image 22 as 8x12 subimage of Image 13
Creating Image 23 as 8x12 subimage of Image 13
Creating Image 24 as 8x12 subimage of Image 13
Creating Image 25 as 8x12 subimage of Image 13
Creating Image 26 as 8x12 subimage of Image 13
Creating Image 27 as 8x12 subimage of Image 13
Creating Image 28 as 8x12 subimage of Image 13
Creating Image 29 as 8x12 subimage of Image 13
Creating Image 30 as 8x12 subimage of Image 13
Creating Image 31 as 8x12 subimage of Image 13
Creating Image 32 as 8x12 subimage of Image 13
Creating Image 33 as 8x12 subimage of Image 13
Creating Image 34 as 8x12 subimage of Image 13
Creating Image 35 as 8x12 subimage of Image 13
Creating Image 36 as 8x12 subimage of Image 13
Creating Image 37 as 8x12 subimage of Image 13
Creating Image 38 as 8x12 subimage of Image 13
Creating Image 39 as 8x12 subimage of Image 13
Creating Image 40 as 8x12 subimage of Image 13
Creating Image 41 as 8x12 subimage of Image 13
Creating Image 42 as 8x12 subimage of Image 13
Creating Image 43 as 8x12 subimage of Image 13
Creating Image 44 as 8x12 subimage of Image 13
Creating Image 45 as 8x12 subimage of Image 13
Creating Image 46 as 8x12 subimage of Image 13
Creating Image 47 as 3x12 subimage of Image 13
Creating Image 48 as 5x12 subimage of Image 13
Creating Image 49 as 8x12 subimage of Image 13
Creating Image 50 as 7x12 subimage of Image 13
Creating Image 51 as 8x12 subimage of Image 13
Creating Image 52 as 8x12 subimage of Image 13
Creating Image 53 as 3x12 subimage of Image 13
Creating Image 54 as 5x12 subimage of Image 13
Creating Image 55 as 5x12 subimage of Image 13
Creating Image 56 as 7x12 subimage of Image 13
Creating Image 57 as 7x12 subimage of Image 13
Creating Image 58 as 4x12 subimage of Image 13
Creating Image 59 as 5x12 subimage of Image 13
Creating Image 60 as 3x12 subimage of Image 13
Creating Image 61 as 6x12 subimage of Image 13
Creating Image 62 as 7x12 subimage of Image 13
Creating Image 63 as 7x12 subimage of Image 13
Creating Image 64 as 6x12 subimage of Image 13
Creating Image 65 as 6x12 subimage of Image 13
Creating Image 66 as 7x12 subimage of Image 13
Creating Image 67 as 6x12 subimage of Image 13
Creating Image 68 as 7x12 subimage of Image 13
Creating Image 69 as 7x12 subimage of Image 13
Creating Image 70 as 7x12 subimage of Image 13
Creating Image 71 as 7x12 subimage of Image 13
Creating Image 72 as 3x12 subimage of Image 13
Creating Image 73 as 4x12 subimage of Image 13
Creating Image 74 as 6x12 subimage of Image 13
Creating Image 75 as 7x12 subimage of Image 13
Creating Image 76 as 6x12 subimage of Image 13
Creating Image 77 as 6x12 subimage of Image 13
Creating Image 78 as 8x12 subimage of Image 13
Creating Image 79 as 7x12 subimage of Image 13
Creating Image 80 as 7x12 subimage of Image 13
Creating Image 81 as 7x12 subimage of Image 13
Creating Image 82 as 7x12 subimage of Image 13
Creating Image 83 as 7x12 subimage of Image 13
Creating Image 84 as 7x12 subimage of Image 13
Creating Image 85 as 7x12 subimage of Image 13
Creating Image 86 as 7x12 subimage of Image 13
Creating Image 87 as 5x12 subimage of Image 13
Creating Image 88 as 6x12 subimage of Image 13
Creating Image 89 as 8x12 subimage of Image 13
Creating Image 90 as 7x12 subimage of Image 13
Creating Image 91 as 7x12 subimage of Image 13
Creating Image 92 as 7x12 subimage of Image 13
Creating Image 93 as 7x12 subimage of Image 13
Creating Image 94 as 7x12 subimage of Image 13
Creating Image 95 as 7x12 subimage of Image 13
Creating Image 96 as 8x12 subimage of Image 13
Creating Image 97 as 6x12 subimage of Image 13
Creating Image 98 as 7x12 subimage of Image 13
Creating Image 99 as 7x12 subimage of Image 13
Creating Image 100 as 7x12 subimage of Image 13
Creating Image 101 as 7x12 subimage of Image 13
Creating Image 102 as 7x12 subimage of Image 13
Creating Image 103 as 7x12 subimage of Image 13
Creating Image 104 as 7x12 subimage of Image 13
Creating Image 105 as 4x12 subimage of Image 13
Creating Image 106 as 6x12 subimage of Image 13
Creating Image 107 as 4x12 subimage of Image 13
Creating Image 108 as 7x12 subimage of Image 13
Creating Image 109 as 8x12 subimage of Image 13
Creating Image 110 as 4x12 subimage of Image 13
Creating Image 111 as 7x12 subimage of Image 13
Creating Image 112 as 7x12 subimage of Image 13
Creating Image 113 as 7x12 subimage of Image 13
Creating Image 114 as 7x12 subimage of Image 13
Creating Image 115 as 7x12 subimage of Image 13
Creating Image 116 as 6x12 subimage of Image 13
Creating Image 117 as 7x12 subimage of Image 13
Creating Image 118 as 7x12 subimage of Image 13
Creating Image 119 as 5x12 subimage of Image 13
Creating Image 120 as 5x12 subimage of Image 13
Creating Image 121 as 7x12 subimage of Image 13
Creating Image 122 as 5x12 subimage of Image 13
Creating Image 123 as 7x12 subimage of Image 13
Creating Image 124 as 7x12 subimage of Image 13
Creating Image 125 as 7x12 subimage of Image 13
Creating Image 126 as 7x12 subimage of Image 13
Creating Image 127 as 7x12 subimage of Image 13
Creating Image 128 as 6x12 subimage of Image 13
Creating Image 129 as 7x12 subimage of Image 13
Creating Image 130 as 6x12 subimage of Image 13
Creating Image 131 as 7x12 subimage of Image 13
Creating Image 132 as 7x12 subimage of Image 13
Creating Image 133 as 7x12 subimage of Image 13
Creating Image 134 as 7x12 subimage of Image 13
Creating Image 135 as 7x12 subimage of Image 13
Creating Image 136 as 7x12 subimage of Image 13
Creating Image 137 as 5x12 subimage of Image 13
Creating Image 138 as 3x12 subimage of Image 13
Creating Image 139 as 5x12 subimage of Image 13
Creating Image 140 as 8x12 subimage of Image 13
Creating Image 141 as 6x12 subimage of Image 13
Creating Image 142 as 8x12 subimage of Image 13
Creating Image 143 as 8x12 subimage of Image 13
Creating Image 144 as 8x12 subimage of Image 13
Creating Image 145 as 8x12 subimage of Image 13
Creating Image 146 as 8x12 subimage of Image 13
Creating Image 147 as 8x12 subimage of Image 13
Creating Image 148 as 8x12 subimage of Image 13
Creating Image 149 as 8x12 subimage of Image 13
Creating Image 150 as 8x12 subimage of Image 13
Creating Image 151 as 8x12 subimage of Image 13
Creating Image 152 as 8x12 subimage of Image 13
Creating Image 153 as 8x12 subimage of Image 13
Creating Image 154 as 8x12 subimage of Image 13
Creating Image 155 as 8x12 subimage of Image 13
Creating Image 156 as 8x12 subimage of Image 13
Creating Image 157 as 8x12 subimage of Image 13
Creating Image 158 as 8x12 subimage of Image 13
Creating Image 159 as 8x12 subimage of Image 13
Creating Image 160 as 8x12 subimage of Image 13
Creating Image 161 as 8x12 subimage of Image 13
Creating Image 162 as 8x12 subimage of Image 13
Creating Image 163 as 8x12 subimage of Image 13
Creating Image 164 as 8x12 subimage of Image 13
Creating Image 165 as 8x12 subimage of Image 13
Creating Image 166 as 8x12 subimage of Image 13
Creating Image 167 as 8x12 subimage of Image 13
Creating Image 168 as 8x12 subimage of Image 13
Creating Image 169 as 8x12 subimage of Image 13
Creating Image 170 as 8x12 subimage of Image 13
Creating Image 171 as 8x12 subimage of Image 13
Creating Image 172 as 8x12 subimage of Image 13
Creating Image 173 as 8x12 subimage of Image 13
Creating Image 174 as 8x12 subimage of Image 13
Creating Image 175 as 8x12 subimage of Image 13
Creating Image 176 as 8x12 subimage of Image 13
Creating Image 177 as 8x12 subimage of Image 13
Creating Image 178 as 8x12 subimage of Image 13
Creating Image 179 as 8x12 subimage of Image 13
Creating Image 180 as 8x12 subimage of Image 13
Creating Image 181 as 8x12 subimage of Image 13
Creating Image 182 as 8x12 subimage of Image 13
Creating Image 183 as 8x12 subimage of Image 13
Creating Image 184 as 8x12 subimage of Image 13
Creating Image 185 as 8x12 subimage of Image 13
Creating Image 186 as 8x12 subimage of Image 13
Creating Image 187 as 8x12 subimage of Image 13
Creating Image 188 as 8x12 subimage of Image 13
Creating Image 189 as 8x12 subimage of Image 13
Creating Image 190 as 8x12 subimage of Image 13
Creating Image 191 as 8x12 subimage of Image 13
Creating Image 192 as 8x12 subimage of Image 13
Creating Image 193 as 8x12 subimage of Image 13
Creating Image 194 as 8x12 subimage of Image 13
Creating Image 195 as 8x12 subimage of Image 13
Creating Image 196 as 8x12 subimage of Image 13
Creating Image 197 as 8x12 subimage of Image 13
Creating Image 198 as 8x12 subimage of Image 13
Creating Image 199 as 8x12 subimage of Image 13
Creating Image 200 as 8x12 subimage of Image 13
Creating Image 201 as 8x12 subimage of Image 13
Creating Image 202 as 8x12 subimage of Image 13
Creating Image 203 as 8x12 subimage of Image 13
Creating Image 204 as 8x12 subimage of Image 13
Creating Image 205 as 8x12 subimage of Image 13
Creating Image 206 as 8x12 subimage of Image 13
Creating Image 207 as 8x12 subimage of Image 13
Creating Image 208 as 8x12 subimage of Image 13
Creating Image 209 as 8x12 subimage of Image 13
Creating Image 210 as 8x12 subimage of Image 13
Creating Image 211 as 8x12 subimage of Image 13
Creating Image 212 as 8x12 subimage of Image 13
Creating Image 213 as 8x12 subimage of Image 13
Creating Image 214 as 8x12 subimage of Image 13
Creating Image 215 as 8x12 subimage of Image 13
Creating Image 216 as 8x12 subimage of Image 13
Creating Image 217 as 8x12 subimage of Image 13
Creating Image 218 as 8x12 subimage of Image 13
Creating Image 219 as 8x12 subimage of Image 13
Creating Image 220 as 8x12 subimage of Image 13
Creating Image 221 as 8x12 subimage of Image 13
Creating Image 222 as 8x12 subimage of Image 13
Creating Image 223 as 8x12 subimage of Image 13
Creating Image 224 as 8x12 subimage of Image 13
Creating Image 225 as 8x12 subimage of Image 13
Creating Image 226 as 8x12 subimage of Image 13
Creating Image 227 as 8x12 subimage of Image 13
Creating Image 228 as 8x12 subimage of Image 13
Creating Image 229 as 8x12 subimage of Image 13
Creating Image 230 as 8x12 subimage of Image 13
Creating Image 231 as 8x12 subimage of Image 13
Creating Image 232 as 8x12 subimage of Image 13
Creating Image 233 as 8x12 subimage of Image 13
Creating Image 234 as 8x12 subimage of Image 13
Creating Image 235 as 8x12 subimage of Image 13
Creating Image 236 as 8x12 subimage of Image 13
Creating Image 237 as 8x12 subimage of Image 13
Creating Image 238 as 8x12 subimage of Image 13
Creating Image 239 as 8x12 subimage of Image 13
Creating Image 240 as 8x12 subimage of Image 13
Creating Image 241 as 8x12 subimage of Image 13
Creating Image 242 as 8x12 subimage of Image 13
Creating Image 243 as 8x12 subimage of Image 13
Creating Image 244 as 8x12 subimage of Image 13
Creating Image 245 as 8x12 subimage of Image 13
Creating Image 246 as 8x12 subimage of Image 13
Creating Image 247 as 8x12 subimage of Image 13
Creating Image 248 as 8x12 subimage of Image 13
Creating Image 249 as 8x12 subimage of Image 13
Creating Image 250 as 8x12 subimage of Image 13
Creating Image 251 as 8x12 subimage of Image 13
Creating Image 252 as 8x12 subimage of Image 13
Creating Image 253 as 8x12 subimage of Image 13
Creating Image 254 as 8x12 subimage of Image 13
Creating Image 255 as 8x12 subimage of Image 13
Creating Image 256 as 8x12 subimage of Image 13
Creating Image 257 as 8x12 subimage of Image 13
Creating Image 258 as 8x12 subimage of Image 13
Creating Image 259 as 8x12 subimage of Image 13
Creating Image 260 as 8x12 subimage of Image 13
Creating Image 261 as 8x12 subimage of Image 13
Creating Image 262 as 8x12 subimage of Image 13
Creating Image 263 as 8x12 subimage of Image 13
Creating Image 264 as 8x12 subimage of Image 13
Creating Image 265 as 8x12 subimage of Image 13
Creating Image 266 as 8x12 subimage of Image 13
Creating Image 267 as 8x12 subimage of Image 13
Creating Image 268 as 8x12 subimage of Image 13
Creating Image 269 as 8x12 subimage of Image 13
Decrementing Image 13 refcount, new: 257
Decrementing Image 13 refcount, new: 256
Incrementing Font 0 refcount, new: 1
Calling game()

JS Error: game.js:6 - Error: Hello, mixer!
Shutting down map engine
Shutting down persons manager
Shutting down input
Shutting down Duktape
Shutting down Dyad
Shutting down spriteset manager
  Objects created: 0
  Cache hits: 0
Shutting down Audialis
Decrementing Mixer 0 refcount, new: 0
Mixer 0 no longer in use, deallocating
engine(37980,0x108c34000) malloc: *** error for object 0x7febeb812200: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.3
Reply #767
Okay, so in this case it's crashing trying to free the main mixer.  So why on earth does the stack contain no minisphere code whatsoever...?  The only thing I can think of is that some sort of exception is being raised and Allegro's shim for main() is catching it, obscuring the real source of the bug.

This is quite a stumper.
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: minisphere 1.5.3
Reply #768
Or it's on a different thread.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.3
Reply #769

Or it's on a different thread.


That's what I suspected at first too, but the stack says otherwise: there's a call_user_main() in there, which wouldn't make sense for a worker thread, and I also see an exit() in there, so it's running atexit stuff.  Looks like the main thread to me.

Wait a minute!  I seem to remember that Duktape calls abort() in the case of unrecoverable errors.  Allegro isn't throwing any asserts even though it's clearly a debug build (Allegro source shown in lldb), which means I may be barking up the wrong tree.  CoffeeScript triggered a recursion error during startup, while it works normally here.  So something wonky may actually be going on in Duktape...

NEO, add this define to the top of duktape.c:
Code: (c) [Select]
#define DUK_OPT_ASSERTIONS


And recompile.  See if any asserts fail.
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: minisphere 1.5.3
Reply #770
So something wonky may actually be going on in Duktape...

NEO, add this define to the top of duktape.c:
Code: (c) [Select]
#define DUK_OPT_ASSERTIONS


And recompile.  See if any asserts fail.


The console output doesn't show any failed asserts, no.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.3
Reply #771
Hm, well it was worth a shot at least.  Having studied your backtrace AGAIN (it was very illuminating, thanks!), I notice an exit() call in there.  So something, somewhere is calling, I assume abort() in response to the crash, and that could be why main is no longer on the stack (do exit()/abort() unwind the stack?).  That's why I suspected Duktape, because I know it will do so in case of an unrecoverable error.

I find it interesting that it still crashes in response to canceling the file dialog, but in a different spot than the crash on shutdown.  I'm curious now, will it run normally if you give it an actual game (not a Hello World stub) to run and only crash on shutdown, or would issues show up sooner...

By the way, not related to the crash, but could you add a define for DUK_OPT_DEEP_C_STACK to duktape.c and let me know if CoffeeScript starts working again (i.e. the RangeError disappears)?
  • Last Edit: July 21, 2015, 09:12:15 am by Lord English
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: minisphere 1.5.3
Reply #772

By the way, not related to the crash, but could you add a define for DUK_OPT_DEEP_C_STACK to duktape.c and let me know if CoffeeScript starts working again (i.e. the RangeError disappears)?

The RangeError does indeed disappear, yes.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.3
Reply #773
Thanks. :D

Now if only I could figure out what's causing these crashes...  I won't rule out that the bug is on my end.  I know I've encountered similar issues in the past where things that should fail end up working on Windows preventing me from reproducing them.  For instance, a while ago DaVince discovered a crash in 1.2.2 that I couldn't reproduce, caused by a double call to fclose().  This has the same effect as a double free in Linux but in Windows it doesn't raise any red flags whatsoever--it succeeds without complaint.  I only figured it out after poring over the RawFile code for a while.
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: minisphere 1.5.3
Reply #774

Thanks. :D

Now if only I could figure out what's causing these crashes...  I won't rule out that the bug is on my end.  I know I've encountered similar issues in the past where things that should fail end up working on Windows preventing me from reproducing them.  For instance, a while ago DaVince discovered a crash in 1.2.2 that I couldn't reproduce, caused by a double call to fclose().  This has the same effect as a double free in Linux but in Windows it doesn't raise any red flags whatsoever--it succeeds without complaint.  I only figured it out after poring over the RawFile code for a while.


If I could understand Allegro better I would help poring over Audialis, since if it likely ends up being a double free to allegro_audio it's almost certainly there.

*sigh* I am so far behind in my independent programming studies and now currently lack motivation to learn anything useful :'(

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.6.0
Reply #775
minisphere 1.6.0 is released.  See changelog for details.

The debugging feature should work, as it just uses the Duktape debug API.  A client needs to be written using Duktape's remote debug protocol to take advantage of it, however:
https://github.com/svaarala/duktape/blob/master/doc/debugger.rst
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.6.1
Reply #776
1.6.1 fixes a bug in the Sockets API where listening sockets wouldn't accept connections from IPv4 clients (including local clients, i.e. those connecting to 127.0.0.1).

I can also definitively say the debugging support in 1.6 works great.  I got a proof of concept plugin working in Sphere Studio that just sends a "resume" message to the engine.  The game runs upon receiving this message, so everything's in order so far!  Now to implement full debugger support in Sphere Studio... ;D
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.6.1
Reply #777
@NEO, regarding Audialis:
Looks like minisphere isn't at fault here after all, it's an Allegro bug:
https://www.allegro.cc/forums/thread/615559/1015654

Everyone else: The debugger is coming along nicely. :)  Pretty soon we'll all be able to debug Sphere games like any other app!
  • Last Edit: August 02, 2015, 03:06:41 am by Lord English
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.6.1
Reply #778
NEO, could you try building the latest Allegro from the github mirror and let me know if the crashes are gone?
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: minisphere 1.6.1
Reply #779
(building Allegro from Git on OS X for future reference: cd allegro5; git pull; mkdir build; cd build; cmake ..; sudo make install)


NEO, could you try building the latest Allegro from the github mirror and let me know if the crashes are gone?


Rebuilt Allegro, pulled latest minisphere, removed MNG stuff as usual (I'll eventually go find libmng and build it to resolve this bit), recompiled. Ran my one-liner and exits clean! Ran and canceled choosing a game and exits clean! Ran CellarRush.spk and got an error that it failed to load sound file '../music/dungeon-v2.ogg' and exits clean!

For reference, building Allegro has consistently given me warnings about inability to build in loading of many audio formats like vorbis and speed.

Alright! Except for me advancing on the MNG front and figuring out how to fix audio building without building all the libs from scratch (it'd be nice if homebrew would update Allegro) it seems Sphere on Mac can indeed progress further! Now to resume my Pang96 conversion... ;)