Opened 16 months ago
Last modified 12 months ago
#6699 new defect
[macOS] Memory issue with 27412 — at Version 6
Reported by: | Langbart | Owned by: | |
---|---|---|---|
Priority: | Must Have | Milestone: | Backlog |
Component: | Core engine | Keywords: | |
Cc: | Patch: |
Description (last modified by )
to consistently reproduce (1)
- add this debug message in
chatHelper.js
-
binaries/data/mods/public/simulation/ai/petra/chatHelper.js
a b PETRA.chatNewDiplomacy = function(gameState, player, newDiplomaticStance) 220 220 221 221 PETRA.chatAnswerRequestDiplomacy = function(gameState, player, requestType, response, requiredTribute) 222 222 { 223 warn(uneval(['debug', gameState, player, requestType, response, requiredTribute])) 223 224 Engine.PostCommand(PlayerID, { 224 225 "type": "aichat", 225 226 "message": "/msg " + gameState.sharedScript.playersData[player].name + " " +
- start the attached replay from ticket #6654 (~2mins long)
- the game freezes at the 97th turn
- forcefully quit the
pyrogenesis
app - check activity monitor for
spindump
- For the case described above, the process is always called
spindump
to allocate large amounts of memory, but the process can also be calledsandboxed
orReportCrash
in other situations.
- For the case described above, the process is always called
to consistently reproduce (2)
- pass this to the terminal and run
pyrogenesis -replay-visual="/Users/paria\ crash"
- the game crashes with the following message
- check activity monitor for
ReportCrash
- same as above with
spindump
, if I don`t stop the process manually, the PC becomes unusable with time
- same as above with
bisect
- with [27411] the game would also freeze, but once I would forcefully close
pyrogenesis
no extra process would be eating up my memory- screenshot below is from the terminal after I forcefully closed
pyrogenesis
on [27411]
- screenshot below is from the terminal after I forcefully closed
lldb
❯ lldb /Users/paria/Developer/0ad/binaries/system/pyrogenesis (lldb) target create "/Users/paria/Developer/0ad/binaries/system/pyrogenesis" Current executable set to '/Users/paria/Developer/0ad/binaries/system/pyrogenesis' (x86_64). (lldb) run Process 30292 launched: '/Users/paria/Developer/0ad/binaries/system/pyrogenesis' (x86_64) TIMER| InitVfs: 4.318 ms FILES| Main log written to '/Users/paria/Library/Application Support/0ad/logs/mainlog.html' FILES| Interesting log written to '/Users/paria/Library/Application Support/0ad/logs/interestinglog.html' TIMER| CONFIG_Init: 4.892 ms 2023-01-20 07:51:29.481425+0100 pyrogenesis[30292:473289] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x105c57c90> F8BB1C28-BAE8-11D6-9C31-00039315CD46 2023-01-20 07:51:29.516097+0100 pyrogenesis[30292:473289] HALC_ShellDriverPlugIn::Open: Can't get a pointer to the Open routine 2023-01-20 07:51:29.517053+0100 pyrogenesis[30292:473289] HALC_ShellDriverPlugIn::Open: Can't get a pointer to the Open routine Sound: AlcInit success, using Built-in Output 2023-01-20 07:51:30.786611+0100 pyrogenesis[30292:473699] flock failed to lock maps file: errno = 35 2023-01-20 07:51:30.787768+0100 pyrogenesis[30292:473699] flock failed to lock maps file: errno = 35 FILES| UserReport written to '/Users/paria/Library/Application Support/0ad/logs/userreport_hwdetect.txt' TIMER| RunHardwareDetection: 4.635 ms FILES| Hardware details written to '/Users/paria/Library/Application Support/0ad/logs/system_info.txt' TIMER| write_sys_info: 16.725 ms TIMER| InitRenderer: 36.447 ms TIMER| ps_console: 10.27 ms TIMER| ps_lang_hotkeys: 3.191 ms TIMER| common/modern/setup.xml: 2.435 ms TIMER| common/modern/styles.xml: 454 us TIMER| common/modern/sprites.xml: 1.41 ms TIMER| common/global.xml: 1.139 ms TIMER| common/setup.xml: 641 us TIMER| common/sprites.xml: 594 us TIMER| common/styles.xml: 212 us TIMER| pregame/backgrounds/: 10.32 ms TIMER| pregame/sprites.xml: 257 us TIMER| pregame/styles.xml: 165 us TIMER| pregame/mainmenu.xml: 58.827 ms TIMER| common/modern/setup.xml: 346 us TIMER| common/modern/styles.xml: 263 us TIMER| common/modern/sprites.xml: 1.991 ms TIMER| common/global.xml: 444 us TIMER| common/sprites.xml: 696 us TIMER| splashscreen/setup.xml: 1.086 ms TIMER| splashscreen/splashscreen.xml: 17.149 ms TIMER| common/modern/setup.xml: 234 us TIMER| common/modern/styles.xml: 245 us TIMER| common/modern/sprites.xml: 1.634 ms TIMER| common/setup.xml: 313 us TIMER| common/sprites.xml: 525 us TIMER| common/styles.xml: 133 us TIMER| replaymenu/sprites.xml: 937 us TIMER| replaymenu/replay_menu.xml: 94.863 ms Loading 0 cached replays, removed 0 outdated entries, loaded 23 new entries TIMER| ReloadReplayCache: 32.221 ms TIMER| GetReplays: 32.252 ms Starting to replay /Users/paria/Library/Application Support/0ad/replays/0.0.27/2023-01-20_0022/commands.txt TIMER| common/modern/setup.xml: 205 us TIMER| common/modern/styles.xml: 237 us TIMER| common/modern/sprites.xml: 1.359 ms TIMER| common/global.xml: 380 us TIMER| common/setup.xml: 260 us TIMER| common/sprites.xml: 505 us TIMER| common/styles.xml: 126 us TIMER| loading/styles.xml: 1.499 ms TIMER| loading/sprites.xml: 574 us TIMER| loading/loading.xml: 18.904 ms Creating playerbases... 0.049432s. Creating bumps... 0.359240s. Creating forests... 0.026114s. Creating grass patches... 0.197126s. Creating dirt patches... 0.085542s. Creating big patches... 0.152022s. Creating stone mines... 0.000517s. Creating small stone quarries... 0.000163s. Creating metal mines... 0.000126s. Creating small decorative rocks... 0.004137s. Creating large decorative rocks... 0.002268s. Creating rabbits... 0.005529s. Creating berry bush... 0.005431s. Creating sheep... 0.003131s. Creating straggler trees... 0.005814s. Creating large grass tufts... 0.008383s. Creating bushes... 0.005455s. Total map generation time: 0.918331s. Total entities: 751, Terrain entities: 53, Textures: 7. TIMER| ParseTerrain: 4.379 ms TIMER| ParseEntities: 1.17386 s TIMER| common/modern/setup.xml: 201 us TIMER| common/modern/styles.xml: 226 us TIMER| common/modern/sprites.xml: 1.322 ms TIMER| common/resources/: 4.344 ms TIMER| common/global.xml: 366 us TIMER| common/setup.xml: 281 us TIMER| common/sprites.xml: 471 us TIMER| common/styles.xml: 114 us TIMER| session/setup.xml: 2.36 ms TIMER| session/sprites.xml: 1.317 ms TIMER| session/styles.xml: 669 us TIMER| session/session.xml: 139.62 ms GAME STARTED, ALL INIT COMPLETE Executing turn 1 of 572 Executing turn 2 of 572 Executing turn 3 of 572 Executing turn 4 of 572 Executing turn 5 of 572 Executing turn 6 of 572 Executing turn 7 of 572 Executing turn 8 of 572 Executing turn 9 of 572 Executing turn 10 of 572 Executing turn 11 of 572 Executing turn 12 of 572 Executing turn 13 of 572 Executing turn 14 of 572 Executing turn 15 of 572 Executing turn 16 of 572 Executing turn 17 of 572 Executing turn 18 of 572 Executing turn 19 of 572 Executing turn 20 of 572 Executing turn 21 of 572 Executing turn 22 of 572 Executing turn 23 of 572 Executing turn 24 of 572 Executing turn 25 of 572 Executing turn 26 of 572 Executing turn 27 of 572 Executing turn 28 of 572 Executing turn 29 of 572 Executing turn 30 of 572 Executing turn 31 of 572 Executing turn 32 of 572 Executing turn 33 of 572 Executing turn 34 of 572 Executing turn 35 of 572 Executing turn 36 of 572 Executing turn 37 of 572 Executing turn 38 of 572 Executing turn 39 of 572 Executing turn 40 of 572 Executing turn 41 of 572 Executing turn 42 of 572 Executing turn 43 of 572 Executing turn 44 of 572 Executing turn 45 of 572 Executing turn 46 of 572 Executing turn 47 of 572 Executing turn 48 of 572 Executing turn 49 of 572 Executing turn 50 of 572 Executing turn 51 of 572 Executing turn 52 of 572 Executing turn 53 of 572 Executing turn 54 of 572 Executing turn 55 of 572 Executing turn 56 of 572 Executing turn 57 of 572 Executing turn 58 of 572 Executing turn 59 of 572 Executing turn 60 of 572 Executing turn 61 of 572 Executing turn 62 of 572 Executing turn 63 of 572 Executing turn 64 of 572 Executing turn 65 of 572 Executing turn 66 of 572 Executing turn 67 of 572 Executing turn 68 of 572 Executing turn 69 of 572 Executing turn 70 of 572 Executing turn 71 of 572 Executing turn 72 of 572 Executing turn 73 of 572 Executing turn 74 of 572 Executing turn 75 of 572 Executing turn 76 of 572 Executing turn 77 of 572 Executing turn 78 of 572 Executing turn 79 of 572 Executing turn 80 of 572 Executing turn 81 of 572 Executing turn 82 of 572 Executing turn 83 of 572 Executing turn 84 of 572 Executing turn 85 of 572 Executing turn 86 of 572 Executing turn 87 of 572 Executing turn 88 of 572 Executing turn 89 of 572 Executing turn 90 of 572 Executing turn 91 of 572 Executing turn 92 of 572 Executing turn 93 of 572 Executing turn 94 of 572 Executing turn 95 of 572 Executing turn 96 of 572 Executing turn 97 of 572 pyrogenesis was compiled with optimization - stepping may behave oddly; variables may not be available. Process 30292 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGTERM frame #0: 0x0000000100a004dc pyrogenesis`JSString* js::ToStringSlow<(js::AllowGC)1>(cx=0x0000000107012000, arg=<unavailable>)1>::HandleType) at Barrier.h:0:31 [opt] 1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 * vim: set ts=8 sts=2 et sw=2 tw=80: 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef gc_Barrier_h Target 0: (pyrogenesis) stopped. (lldb) bt * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGTERM * frame #0: 0x0000000100a004dc pyrogenesis`JSString* js::ToStringSlow<(js::AllowGC)1>(cx=0x0000000107012000, arg=<unavailable>)1>::HandleType) at Barrier.h:0:31 [opt] frame #1: 0x0000000100a0fdef pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] JSString* js::ToString<(js::AllowGC)1>(cx=0x0000000107012000, v=JS::HandleValue @ r14) at StringType.h:1801:10 [opt] frame #2: 0x0000000100a0fde4 pyrogenesis`js::ValueToSource(cx=<unavailable>, v=JS::HandleValue @ r14) at ToSource.cpp:152 [opt] frame #3: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf70c8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #4: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #5: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbf7450) at Object.cpp:158:19 [opt] frame #6: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf7428)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #7: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf7428, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #8: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #9: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf7428, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #10: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #11: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #12: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf75d8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #13: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #14: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbf7960) at Object.cpp:158:19 [opt] frame #15: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf7938)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #16: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf7938, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #17: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #18: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf7938, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #19: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #20: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #21: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf7ae8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #22: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #23: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbf7e70) at Object.cpp:158:19 [opt] frame #24: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf7e48)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #25: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf7e48, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #26: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #27: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf7e48, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #28: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #29: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #30: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf7ff8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #31: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #32: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbf8380) at Object.cpp:158:19 [opt] frame #33: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf8358)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #34: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf8358, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #35: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #36: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf8358, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #37: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #38: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #39: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf8508, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #40: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #41: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbf8890) at Object.cpp:158:19 [opt] frame #42: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf8868)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #43: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf8868, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #44: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #45: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf8868, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #46: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #47: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #48: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf8a18, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #49: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #50: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbf8da0) at Object.cpp:158:19 [opt] frame #51: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf8d78)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #52: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf8d78, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #53: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #54: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf8d78, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #55: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #56: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #57: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf8f28, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #58: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #59: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbf92b0) at Object.cpp:158:19 [opt] frame #60: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf9288)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #61: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf9288, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #62: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #63: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf9288, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #64: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #65: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #66: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf9438, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #67: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #68: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbf97c0) at Object.cpp:158:19 [opt] frame #69: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf9798)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #70: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf9798, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #71: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #72: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf9798, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #73: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #74: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #75: 0x000000010080437d pyrogenesis`js::ArrayToSource(cx=<unavailable>, obj=JS::HandleObject @ r14) at Array.cpp:1075:13 [opt] frame #76: 0x000000010081d274 pyrogenesis`array_toSource(cx=0x0000000107012000, argc=0, vp=<unavailable>) at Array.cpp:1119:19 [opt] frame #77: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbf9b28)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #78: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbf9b28, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #79: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #80: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbf9b28, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #81: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #82: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #83: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbf9cd8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #84: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #85: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbfa060) at Object.cpp:158:19 [opt] frame #86: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfa038)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #87: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfa038, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #88: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #89: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfa038, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #90: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #91: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #92: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbfa1e8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #93: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #94: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbfa570) at Object.cpp:158:19 [opt] frame #95: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfa548)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #96: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfa548, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #97: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #98: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfa548, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #99: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #100: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #101: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbfa6f8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #102: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #103: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbfaa80) at Object.cpp:158:19 [opt] frame #104: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfaa58)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #105: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfaa58, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #106: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #107: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfaa58, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #108: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #109: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #110: 0x000000010080437d pyrogenesis`js::ArrayToSource(cx=<unavailable>, obj=JS::HandleObject @ r14) at Array.cpp:1075:13 [opt] frame #111: 0x000000010081d274 pyrogenesis`array_toSource(cx=0x0000000107012000, argc=0, vp=<unavailable>) at Array.cpp:1119:19 [opt] frame #112: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfade8)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #113: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfade8, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #114: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #115: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfade8, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #116: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #117: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #118: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbfaf98, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #119: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #120: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbfb320) at Object.cpp:158:19 [opt] frame #121: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfb2f8)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #122: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfb2f8, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #123: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #124: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfb2f8, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #125: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #126: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #127: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbfb4a8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #128: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #129: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbfb830) at Object.cpp:158:19 [opt] frame #130: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfb808)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #131: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfb808, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #132: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #133: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfb808, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #134: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #135: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #136: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbfb9b8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #137: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #138: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbfbd40) at Object.cpp:158:19 [opt] frame #139: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfbd18)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #140: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfbd18, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #141: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #142: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfbd18, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #143: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #144: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #145: 0x0000000100849490 pyrogenesis`js::ObjectToSource(this=0x00007ffeefbfbec8, id=JS::HandleId @ r14, val=JS::HandleValue @ rbp, kind=Normal)::$_4::operator()(JS::Handle<JS::PropertyKey>, JS::Handle<JS::Value>, PropertyKind) const at Object.cpp:331:32 [opt] frame #146: 0x0000000100848f11 pyrogenesis`js::ObjectToSource(cx=0x0000000107012000, obj=JS::HandleObject @ r15) at Object.cpp:0 [opt] frame #147: 0x0000000100857bc7 pyrogenesis`obj_toSource(cx=0x0000000107012000, argc=<unavailable>, vp=0x00007ffeefbfc250) at Object.cpp:158:19 [opt] frame #148: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfc228)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #149: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfc228, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #150: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #151: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfc228, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #152: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #153: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #154: 0x000000010080437d pyrogenesis`js::ArrayToSource(cx=<unavailable>, obj=JS::HandleObject @ r14) at Array.cpp:1075:13 [opt] frame #155: 0x000000010081d274 pyrogenesis`array_toSource(cx=0x0000000107012000, argc=0, vp=<unavailable>) at Array.cpp:1119:19 [opt] frame #156: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfc5b8)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #157: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfc5b8, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #158: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #159: 0x00000001007f8cf9 pyrogenesis`js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ scalar, thisv=JS::HandleValue @ scalar, args=0x00007ffeefbfc5b8, rval=JS::MutableHandleValue @ r14, reason=<unavailable>) at Interpreter.cpp:588:8 [opt] frame #160: 0x0000000100a10162 pyrogenesis`js::ValueToSource(JSContext*, JS::Handle<JS::Value>) [inlined] js::Call(cx=0x0000000107012000, fval=JS::HandleValue @ r13, thisObj=<unavailable>, rval=JS::MutableHandleValue @ r14) at Interpreter.h:99:10 [opt] frame #161: 0x0000000100a10123 pyrogenesis`js::ValueToSource(cx=0x0000000107012000, v=<unavailable>) at ToSource.cpp:173 [opt] frame #162: 0x000000010096fa71 pyrogenesis`str_uneval(cx=<unavailable>, argc=<unavailable>, vp=0x0000000123e13ad8) at String.cpp:370:19 [opt] frame #163: 0x00000001007f83fd pyrogenesis`js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [inlined] CallJSNative(cx=0x0000000107012000, native=<unavailable>, reason=Call, args=0x00007ffeefbfc7e0)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) at Interpreter.cpp:426:13 [opt] frame #164: 0x00000001007f832c pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfc7e0, construct=<unavailable>, reason=Call) at Interpreter.cpp:511 [opt] frame #165: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #166: 0x00000001007f202a pyrogenesis`Interpret(JSContext*, js::RunState&) [inlined] js::CallFromStack(cx=0x0000000107012000, args=0x00007ffeefbfc7e0) at Interpreter.cpp:575:10 [opt] frame #167: 0x00000001007f2020 pyrogenesis`Interpret(cx=0x0000000107012000, state=0x00007ffeefbfcbe0) at Interpreter.cpp:3226 [opt] frame #168: 0x00000001007e9f71 pyrogenesis`js::RunScript(cx=0x0000000107012000, state=0x00007ffeefbfcbe0) at Interpreter.cpp:395:13 [opt] frame #169: 0x00000001007f8796 pyrogenesis`js::InternalCallOrConstruct(cx=0x0000000107012000, args=0x00007ffeefbfcd10, construct=NO_CONSTRUCT, reason=<unavailable>) at Interpreter.cpp:543:13 [opt] frame #170: 0x00000001007f8cc3 pyrogenesis`InternalCall(cx=<unavailable>, args=<unavailable>, reason=<unavailable>) at Interpreter.cpp:571:10 [opt] [artificial] frame #171: 0x00000001007f8c22 pyrogenesis`js::CallFromStack(cx=<unavailable>, args=<unavailable>) at Interpreter.cpp:575:10 [opt] [artificial] frame #172: 0x0000000100d76a2a pyrogenesis`js::jit::DoCallFallback(cx=<unavailable>, frame=<unavailable>, stub=0x0000000107ddbd28, argc=<unavailable>, vp=<unavailable>, res=JS::MutableHandleValue @ 0x00007ffeefbfcc90) at BaselineIC.cpp:1595:10 [opt] frame #173: 0x00000e7add817d88 (lldb)
related ticket
- #6697 is the ticket where I documented the consumption of my memory and mistakenly assumed it had something to do with
0ad/library/
changes- instead of rewriting the ticket, this ticket was created
related articles
Change History (9)
by , 16 months ago
Attachment: | terminal.png added |
---|
follow-up: 2 comment:1 by , 16 months ago
comment:2 by , 16 months ago
Replying to Stan‘:
In your case it's printing the game state thousands of times that crashes the game. Is it just a way to make it faster? Can't be vulkan if it happened before. So it's Spidermonley most likely but it's probably cause we're doing something it does not like
the issue is not about the lldb
(ignore that), it about an external processing spinning up called spindump
.
follow-up: 5 comment:3 by , 16 months ago
@langbart -> Did this happen to you in regular play? Or just when adding some debugs?
comment:5 by , 16 months ago
Replying to wraitii:
@langbart -> Did this happen to you in regular play? Or just when adding some debugs?
- I have also noticed it in a regular game but have not found consistently reproducible steps.
- I described some details here: Comment 1 in Ticket 6697
comment:6 by , 16 months ago
Description: | modified (diff) |
---|
The description was extended by another possibility to reproduce the problem consistently.
by , 16 months ago
Attachment: | term_report.png added |
---|
by , 16 months ago
Attachment: | ReportCrash.png added |
---|
In your case it's printing the game state thousands of times that crashes the game. Is it just a way to make it faster? Can't be vulkan if it happened before. So it's Spidermonley most likely but it's probably cause we're doing something it does not like