$ cat /mnt/mesh_root/tmp/CRM-CRASH/hauki-obsdemodumpbas_17469cc4_CRASH.bas_dump
{
"nextLineToExecute": 250,
"memory": {
"tila": "Alustettu",
"PID": 2795881,
"laskuri": 10
},
"program": {
"10": "REM === SMART DUMP & SIGNALS DEMO ===",
"20": "PRINT \">>> 1. Aktivoidaan CRASH DUMP hC$tC$vedokset\"",
"30": "ON CRASH DUMP INTO \"/mnt/mesh_root/tmp/CRM-CRASH/\"",
"40": "PRINT \">>> 2. Aktivoidaan POSIX-signaalien (SIGUSR1)
kuuntelija\"",
"50": "ON SIGNAL \"SIGUSR1\" DUMP \"hot_snap\"",
"60": "SET tila = \"Alustettu\"",
"70": "PRINT \">>> Haetaan nykyisen Node.js prosessin PID signaalin
testausta varten...\"",
"80": "JS DEFINE \"getpid\" \"function() { return process.pid; }\"",
"90": "JS CALL \"getpid\" INTO PID",
"100": "PRINT \">>> 3. Tehdaan manuaalinen DUMP STATE (Smart State
Dump)\"",
"110": "DUMP STATE \"boot_valmis\"",
"120": "PRINT \">>> Tila tallennettu.\"",
"130": "PRINT \" \"",
"140": "PRINT \"\u001b[42m\u001b[30m Voit testata lennosta tehtyC$ vedosta
ajamalla TOISESSA TERMINAALISSA: \u001b[0m\"",
"150": "PRINT \"\u001b[32m kill -SIGUSR1 \" + PID + \" \u001b[0m\"",
"160": "PRINT \" \"",
"170": "SET laskuri = 0",
"180": "SET laskuri = laskuri + 1",
"190": "PRINT \"Puksutetaan... \" + laskuri + \" (Odota, tai kokeile
signaalia!)\"",
"200": "JS DEFINE \"wait\" \"function(){return new Promise(r=>setTimeout(r,
1000));}\"",
"210": "JS CALL \"wait\" INTO DUMMY",
"220": "IF laskuri == 10 THEN GOTO 240",
"230": "GOTO 180",
"240": "PRINT \">>> 4. Simuloidaan odottamaton KATASTROFI (Lukemalla
tiedostoa jota ei ole)\"",
"250": "FS READ \"/tmp/tiedostoa_jota_ei_ole_olemassa_123.txt\" INTO
DUMMY",
"260": "PRINT \"Tahan ei koskaan paasta...\""
},
"lineNumbers": [
10,
20,
30,
40,
50,
60,
70,
80,
90,
100,
110,
120,
130,
140,
150,
160,
170,
180,
190,
200,
210,
220,
230,
240,
250,
260
],
"logs": [],
"crashed": true,
"lastError": "ENOENT: no such file or directory, open '/tmp/tiedostoa_jota_ei
_ole_olemassa_123.txt'",
"yieldReason": "",
"errorTrap": -1
}$