How many Nested EVENTS?

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
leel1967l
Normal user
Posts: 73
Joined: 30 Nov 2017, 18:29

How many Nested EVENTS?

#1 Post by leel1967l » 26 Mar 2018, 20:10

Hi,
I am trying to figure why my Wemos D1 is behaving weird...
Question: can I have three EVENTS nested?

i.e. first trigger calls first event, that calls a second event, that calls a third event.

Just to make sure that it's something that can be done, in order to exclude it from my investigation...
Because as soon as I paste these rules the unit becomes unstable and unresponsive and reboots frequently.

I have the following rules:

Code: Select all

On System#Boot do  
  gpio,14,1 //z1
  gpio,12,1 //z2
  gpio,13,1 //z3
  
  taskvalueset 1,1,1 // r1=off
  taskvalueset 1,2,1 // r2=off
  taskvalueset 1,3,1 // r3=off
  taskvalueset 1,4,1 // r4=off
endon

on import1#master do
  oled,4,1,M=[import1#master#O]
  if [import1#master]=1
    event,zone1trigger
  else
    event,zoneAllOff
  endif
endon

on Clock#Time=All,**:*5 do
  publish /ESPT6/dummy/requestedTempUpdate,%uptime%
endon

on updateTemp1 do
  taskvalueset,5,1,%eventvalue%
  taskRun,5
  oled,3,1,T1=[temp#t1]
endon  

on updateTemp2 do
  taskvalueset,5,2,%eventvalue%
  taskRun,5
endon  

on updateTemp3 do
  taskvalueset,5,3,%eventvalue%
  taskRun,5
endon  

on task1 do
  taskvalueset,4,1,%eventvalue%
  taskRun,4
endon

on temp#t1 do
  oled,3,1,T1=[temp#t1]
  event,zone1trigger
endon

on import1#set1 do
  oled,2,1,S1=[import1#set1]
  oled,4,1,received
  event,zone1trigger
endon

on zone1trigger do
  if [import1#master]=1
    event,zone1
  else
    event,zoneAllOff
  endif
endon

on zone1 do
  if [temp#t1]<[import1#set1]-0.5
    taskvalueset,1,1,0
    gpio,14,0 //turn zone1 ON
  endif
  if [temp#t1]>[import1#set1]+0.5
    taskvalueset,1,1,1
    gpio,14,1 //turn zone1 OFF
  endif
endon

on zoneAllOff do
    taskvalueset,1,1,1
    gpio,14,1 //turn zone1 OFF
endon
Attachments
2018-03-26 (3).png
2018-03-26 (3).png (57.84 KiB) Viewed 11702 times

User avatar
toffel969
Normal user
Posts: 469
Joined: 03 Jan 2017, 10:58
Location: Germany

Re: How many Nested EVENTS?

#2 Post by toffel969 » 27 Mar 2018, 11:59

That usually happens with syntax errors. As such there should be no limit on how many events can be nested.

I see a problem with your syntax though, I post corrected version underneath

Code: Select all

On System#Boot do  
  gpio,14,1 //z1
  gpio,12,1 //z2
  gpio,13,1 //z3
  
  taskvalueset 1,1,1 // r1=off
  taskvalueset 1,2,1 // r2=off
  taskvalueset 1,3,1 // r3=off
  taskvalueset 1,4,1 // r4=off
endon

on import1#master do
  oled,4,1,M=[import1#master]
  if [import1#master]=1
    event,zone1trigger
  else
    event,zoneAllOff
  endif
endon

on Clock#Time=All,**:*5 do
  publish /ESPT6/dummy/requestedTempUpdate,%uptime%
endon

on updateTemp1 do
  taskvalueset,5,1,%eventvalue%
  taskRun,5
  oled,3,1,T1=[temp#t1]
endon  

on updateTemp2 do
  taskvalueset,5,2,%eventvalue%
  taskRun,5
endon  

on updateTemp3 do
  taskvalueset,5,3,%eventvalue%
  taskRun,5
endon  

on task1 do
  taskvalueset,4,1,%eventvalue%
  taskRun,4
endon

on temp#t1 do
  oled,3,1,T1=[temp#t1]
  event,zone1trigger
endon

on import1#set1 do
  oled,2,1,S1=[import1#Set1]
  oled,4,1,received
  event,zone1trigger
endon

on zone1trigger do
  if [import1#master]=1
    event,zone1
  else
    event,zoneAllOff
  endif
endon

on zone1 do
  if [temp#t1]<[import1#set1]-0.5
    taskvalueset,1,1,0
    gpio,14,0 //turn zone1 ON
  endif
  if [temp#t1]>[import1#set1]+0.5
    taskvalueset,1,1,1
    gpio,14,1 //turn zone1 OFF
  endif
endon

on zoneAllOff do
    taskvalueset,1,1,1
    gpio,14,1 //turn zone1 OFF
endon
Domoticz on Raspi 2 -- 14 ESP units (hacked Sonoff,NodeMCUs, Wemos, self-built units) running with RC140- Mega 2.0.0 dev8

leel1967l
Normal user
Posts: 73
Joined: 30 Nov 2017, 18:29

Re: How many Nested EVENTS?

#3 Post by leel1967l » 27 Mar 2018, 12:10

Hi @toffel969
thanks for your reply.

I see you corrected two lines:

from: oled,4,1,M=[import1#master#O]
to: oled,4,1,M=[import1#master]
-> ASAIK, #O is now allowed to format the output and to display ON/OFF instead of 1/0

And from: oled,2,1,S1=[import1#set1]
to: oled,2,1,S1=[import1#Set1]
-> does the capital letter is necessary? I thought that the interpreter convert everything to lowercase.

Any other syntax errors?

arion_p
Normal user
Posts: 24
Joined: 05 Mar 2018, 22:02

Re: How many Nested EVENTS?

#4 Post by arion_p » 27 Mar 2018, 12:28

toffel969 wrote: 27 Mar 2018, 11:59 As such there should be no limit on how many events can be nested.
That is not true. Every nested event will consume stack space. As a result the maximum nesting level is limited by stack space (RAM). I don't know if there is protection against stack overflow. If there is, the expected behaviour would to reset the system. If there is no protection, usually stack will overwrite heap space and global variables leading to unpredictable behaviour.

User avatar
toffel969
Normal user
Posts: 469
Joined: 03 Jan 2017, 10:58
Location: Germany

Re: How many Nested EVENTS?

#5 Post by toffel969 » 27 Mar 2018, 12:49

arion_p wrote: 27 Mar 2018, 12:28
toffel969 wrote: 27 Mar 2018, 11:59 As such there should be no limit on how many events can be nested.
That is not true. Every nested event will consume stack space. As a result the maximum nesting level is limited by stack space (RAM). I don't know if there is protection against stack overflow. If there is, the expected behaviour would to reset the system. If there is no protection, usually stack will overwrite heap space and global variables leading to unpredictable behaviour.
Ok, I did not consider the stack space, that might indeed be a limiting factor. Maybe the rules can be simplified, I will give it some thought,
Domoticz on Raspi 2 -- 14 ESP units (hacked Sonoff,NodeMCUs, Wemos, self-built units) running with RC140- Mega 2.0.0 dev8

User avatar
toffel969
Normal user
Posts: 469
Joined: 03 Jan 2017, 10:58
Location: Germany

Re: How many Nested EVENTS?

#6 Post by toffel969 » 27 Mar 2018, 13:01

Hi, I tried to understand your rules in more details. Why do you need the TaskRun commands on the import and the dummy device? They seem not necessary, from my expierience the dummy is updated without running the task. (It just doesn't trigger an event, but the value is updated and if you read from within an "if-statement" the running of the task is not necessary ) but maybe I don't understand. I commented them out. Another question, whats your delay setting on the dummy device?
Furthermore you are overwriting the mqtt import device with a Taskvalueset (isnt that for dummies only?). What is the purpose of task1 event?

Code: Select all


On System#Boot do  
  gpio,14,1 //z1
  gpio,12,1 //z2
  gpio,13,1 //z3
  
  taskvalueset 1,1,1 // r1=off
  taskvalueset 1,2,1 // r2=off
  taskvalueset 1,3,1 // r3=off
  taskvalueset 1,4,1 // r4=off
endon

on import1#master=1 do
  oled,4,1,M=[import1#master]
    event,zone1trigger
Endon

on import1#master=0 do
  oled,4,1,M=[import1#master]
    event,zoneAllOff
endon

on Clock#Time=All,**:*5 do
  publish /ESPT6/dummy/requestedTempUpdate,%uptime%
endon

on updateTemp1 do
  taskvalueset,5,1,%eventvalue%
  //taskRun,5
  oled,3,1,T1=[temp#t1]
endon  

on updateTemp2 do
  taskvalueset,5,2,%eventvalue%
  //taskRun,5
endon  

on updateTemp3 do
  taskvalueset,5,3,%eventvalue%
  //taskRun,5
endon  

//on task1 do
//  taskvalueset,4,1,%eventvalue%
//  taskRun,4
// endon

on temp#t1 do
  oled,3,1,T1=[temp#t1]
  event,zone1trigger
endon

on import1#set1 do
  oled,2,1,S1=[import1#set1]
  oled,4,1,received
  event,zone1trigger
endon

on zone1trigger do
  if [import1#master]=1
    event,zone1
  else
    event,zoneAllOff
  endif
endon

on zone1 do
  if [temp#t1]<[import1#set1]-0.5
    taskvalueset,1,1,0
    gpio,14,0 //turn zone1 ON
  endif
  if [temp#t1]>[import1#set1]+0.5
    taskvalueset,1,1,1
    gpio,14,1 //turn zone1 OFF
  endif
endon

on zoneAllOff do
    taskvalueset,1,1,1
    gpio,14,1 //turn zone1 OFF
endon

Domoticz on Raspi 2 -- 14 ESP units (hacked Sonoff,NodeMCUs, Wemos, self-built units) running with RC140- Mega 2.0.0 dev8

Martinus

Re: How many Nested EVENTS?

#7 Post by Martinus » 27 Mar 2018, 17:36

The rule engine currently processes at three levels max. However, the protection mechanism didn't work properly on the Mega where we have multiple rule sets and it crashed the system because of to many open files. The dev branch has been updated. It now stops processing before a new file handle is opened.
Exceeding nesting level should give a logged warning.

leel1967l
Normal user
Posts: 73
Joined: 30 Nov 2017, 18:29

Re: How many Nested EVENTS?

#8 Post by leel1967l » 27 Mar 2018, 23:00

toffel969 wrote: 27 Mar 2018, 13:01 Hi, I tried to understand your rules in more details. Why do you need the TaskRun commands on the import and the dummy device? They seem not necessary, from my expierience the dummy is updated without running the task. (It just doesn't trigger an event, but the value is updated and if you read from within an "if-statement" the running of the task is not necessary ) but maybe I don't understand. I commented them out. Another question, whats your delay setting on the dummy device?
Furthermore you are overwriting the mqtt import device with a Taskvalueset (isnt that for dummies only?). What is the purpose of task1 event?
Hi,
thanks for your reply.

The reason I used TaskRun was to force the execution of the [temp#t1] trigger in order to avoid to duplicate the code.

Anyway, I have simplified the code to the one below.
I update the MQTT import1 values through OPENHAB MQTT.

Result: after few updates the unit crashes on this line of code: core_esp8266_main.cpp:98 __yield

Can someone help? Thanks.

Code: Select all

On System#Boot do
  gpio,14,1 //z1
  gpio,12,1 //z2
  gpio,13,1 //z3
  
  taskvalueset,1,1,1 // r1=off
  taskvalueset,1,2,1 // r2=off
  taskvalueset,1,3,1 // r3=off
  taskvalueset,1,4,1 // r4=off
endon

on import1#set1 do
  event,zone1
endon

on zone1 do
  if [temp#t1]<[import1#set1]
    taskvalueset,1,1,0
    gpio,14,0 //turn zone1 ON
  else
    taskvalueset,1,1,1
    gpio,14,1 //turn zone1 OFF
  endif
endon
Serial log:

Code: Select all

INIT : Booting version: mega-20180326
INIT : Warm boot #9
FS   : Mounting...
FS   : Mount successful, used 76806 bytes of 113201
CRC  : program checksum       ...OK
CRC  : Settings CRC           ...OK
CRC  : SecuritySettings CRC   ...OK
INIT : Free RAM:17240
INIT : I2C
INIT : SPI not enabled
EVENT: System#Wake
WIFI : AP Mode disabled
WIFI : AP Mode ssid will be ESPT6-16 with address 192.168.4.1
IP   : Static IP :3456215232
WIFI : Connecting KeepOut attempt #0
EVENT: System#Boot
ACT  : gpio,14,1
SW   : GPIO 14 Set to 1
ACT  : gpio,12,1
SW   : GPIO 12 Set to 1
ACT  : gpio,13,1
SW   : GPIO 13 Set to 1
ACT  :
ACT  : taskvalueset,1,1,1
ACT  : taskvalueset,1,2,1
ACT  : taskvalueset,1,3,1
ACT  : taskvalueset,1,4,1
ACT  :
WD   : Uptime 0 ConnectFailures 0 FreeMem 14192
Dummy: value 1: 1.00
Dummy: value 2: 1.00
Dummy: value 3: 1.00
Dummy: value 4: 1.00
EVENT: Relay1#r1=1.00
EVENT: Relay1#r2=1.00
EVENT: Relay1#r3=1.00
EVENT: Relay1#r4=1.00
SYS  : 0.00
EVENT: SysInfo#UptimeDays=0.00
IP   : Static IP :3456215232
IMPT : MQTT 037 Intentional reconnect
WIFI : Connected! AP: KeepOut (BC:EE:7B:EF:A3:38) Ch: 9 Duration: 3104 ms
EVENT: WiFi#ChangedAccesspoint
WIFI : Static IP: 192.168.1.206 (ESPT6-16) GW: 192.168.1.1 SN: 255.255.255.0
EVENT: WiFi#Connected
Dummy: value 1: 0.00
Dummy: value 2: 0.00
Dummy: value 3: 0.00
Dummy: value 4: 0.00
EVENT: temp#t1=0.00
EVENT: temp#t2=0.00
EVENT: temp#t3=0.00
EVENT: temp#t4=0.00
Dummy: value 1: 0.00
Dummy: value 2: 0.00
Dummy: value 3: 0.00
Dummy: value 4: 0.00
EVENT: local#ls1=0.00
EVENT: local#ls2=0.00
EVENT: local#ls3=0.00
EVENT: local#ls4=0.00
Current Time Zone:  DST time start: 2018-03-25 02:00:00 offset: 120 minSTD time start: 2018-10-28 03:00:00 offset: 60 min
EVENT: Time#Initialized
EVENT: Clock#Time=Tue,22:52
IMPT : MQTT 037 Intentional reconnect
IMPT : Connected to MQTT broker with Client ID=ESPT6-Import
IMPT : [import1#Set1] subscribed to /OH2/status/nSetTemp1
IMPT : [import1#Set2] subscribed to /OH2/status/nSetTemp2
IMPT : [import1#Set3] subscribed to /OH2/status/nSetTemp3
IMPT : [import1#master] subscribed to /OH2/status/nMasterCaldaia
MQTT : Intentional reconnect
MQTT : Connected to broker with client ID: ESPClient_60:01:94:8E:BA:C9
Subscribed to: /ESPT6/#
EVENT: Clock#Time=Tue,22:53
IMPT : [import1#Set1] : 17.00
EVENT: import1#Set1=17.00
ACT  : event,zone1
EVENT: zone1
ACT  : taskvalueset,1,1,0
ACT  : gpio,14,0
SW   : GPIO 14 Set to 0
IMPT : [import1#Set2] : 24.00
EVENT: import1#Set2=24.00
IMPT : [import1#master] : 1.00
EVENT: import1#master=1.00
IMPT : [import1#Set1] : 11.00
EVENT: import1#Set1=11.00
ACT  : event,zone1
EVENT: zone1
ACT  : taskvalueset,1,1,0
ACT  : gpio,14,0
SW   : GPIO 14 Set to 0
IMPT : [import1#Set1] : 20.00
EVENT: import1#Set1=20.00
ACT  : event,zone1
EVENT: zone1
ACT  : taskvalueset,1,1,0
ACT  : gpio,14,0
SW   : GPIO 14 Set to 0
WD   : Uptime 1 ConnectFailures 0 FreeMem 12224
IMPT : [import1#Set1] : 13.00
EVENT: import1#Set1=13.00
ACT  : event,zone1
EVENT: zone1
ACT  : taskvalueset,1,1,0
ACT  : gpio,14,0
SW   : GPIO 14 Set to 0
IMPT : [import1#Set1] : 20.00
EVENT: import1#Set1=20.00
ACT  : event,zone1
EVENT: zone1
ACT  : taskvalueset,1,1,0
ACT  : gpio,14,0
SW   : GPIO 14 Set to 0
IMPT : [import1#Set1] : 13.00
EVENT: import1#Set1=13.00
ACT  : event,zone1
EVENT: zone1
ACT  : taskvalueset,1,1,0
ACT  : gpio,14,0
SW   : GPIO 14 Set to 0

Panic /home/travis/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/core_esp8266_main.cpp:98 __yield

ctx: sys
sp: 3fff4d40 end: 3fffffb0 offset: 01b0
And here the stack:

Code: Select all

>>>stack>>>
3fff4ef0:  00000001 00000001 3fff4fd4 4020c530
3fff4f00:  00000001 00000001 ffffffff 4020d47d
3fff4f10:  00000001 00000001 ffffffff 40241fa4
3fff4f20:  00000000 00000000 00000000 40223300
3fff4f30:  0000000e 00000000 00000000 00000000
3fff4f40:  00000000 3a544e00 3fff8f14 0000000f
3fff4f50:  00000000 3fff8f2c 0000000f 00000000
3fff4f60:  3fff8f44 0000000f 00000000 00000000
3fff4f70:  2c312c74 0d302c31 2020200a 69706720
3fff4f80:  34312c6f 2f20302c 7275742f 6f7a206e
3fff4f90:  2031656e 0a0d4e4f 6c652020 0a0d6573
3fff4fa0:  20202020 6b736174 756c6176 74657365
3fff4fb0:  3ffeae78 00000000 000003e8 3fff5a98
3fff4fc0:  3fff9224 3fff9264 00000000 00000000
3fff4fd0:  00000000 3fff92cc 0000000f 00000009
3fff4fe0:  3fff8efc 0000000f 00000009 3fff8ee4
3fff4ff0:  0000000f 00000009 3fff8ecc 0000000f
3fff5000:  00000000 3fff927c 0000000f 00000009
3fff5010:  3fff9294 0000002f 00000009 3fff8f5c
3fff5020:  0000001f 00000010 3fff507c 4020c3f7
3fff5030:  00000001 3fff51ac 00000027 3fff5070
3fff5040:  00000001 00000001 00000040 4020c530
3fff5050:  00000031 3fff51ac 00000001 3ffe8ae4
3fff5060:  0000b237 3fff51ac 00000001 402420e3
3fff5070:  3fff5a98 000005dd 000005dd 3fff920c
3fff5080:  0000000f 0000000a 3fff91f4 0000000f
3fff5090:  0000000a 3fff91dc 0000000f 0000000c
3fff50a0:  00000000 3fff910c 000000fc 402413a0
3fff50b0:  6e657665 3fff0074 3fff5120 4020c3a8
3fff50c0:  40287ae0 00000004 3fff5120 4020c3f7
3fff50d0:  3fff5a98 000005e0 000005e0 40210434
3fff50e0:  00000000 00000000 3fff5150 402108a4
3fff50f0:  3fff52e4 3fff52e4 3fff5230 4020c350
3fff5100:  656e6f00 3fff0031 3fff5230 4022ee10
3fff5110:  3fff52e4 3fff52e4 00000000 4022c8a8
3fff5120:  00000000 00000000 00000000 40210434
3fff5130:  00000000 00000000 3fff516c 402108a4
3fff5140:  3ffe8ae4 00000000 00000000 00000000
3fff5150:  00000000 00000000 00000000 40210434
3fff5160:  3fff52e4 0000000d 3fff51c8 402108a4
3fff5170:  3fff5230 00000000 3fff5230 4020c350
3fff5180:  00000000 00000031 3fff51a0 40217012
3fff5190:  3fff52e4 0000000d 00000000 40221bab
3fff51a0:  00000000 00000000 00000000 3fff91c4
3fff51b0:  0000000f 00000005 00000000 00000000
3fff51c0:  00000000 3fff5200 00000000 00000000
3fff51d0:  00000000 00000000 00000000 00000000
3fff51e0:  00000000 00000000 00000000 00000000
3fff51f0:  3ffe8ae4 3fff91ac 0000000f 00000000
3fff5200:  00000000 00000001 3fff52e4 4020c530
3fff5210:  00000001 00000000 0000000c 000000c0
3fff5220:  00000001 00000000 0000000c 40241fa1
3fff5230:  00000000 00000000 00000000 40223300
3fff5240:  00000000 00000000 00000000 00000000
3fff5250:  00000000 3a544e00 3fff908c 0000000f
3fff5260:  00000000 3fff9164 0000000f 00000000
3fff5270:  3fff917c 0000000f 00000000 00000000
3fff5280:  20317465 0a0d6f64 20202f2f 6b736174
3fff5290:  756c6176 74657365 312c362c 6d695b2c
3fff52a0:  74726f70 65732331 0d5d3174 6520200a
3fff52b0:  746e6576 6e6f7a2c 0a0d3165 6f646e65
3fff52c0:  3ffeae78 00000000 000003e8 3fff5a98
3fff52d0:  3fff9034 3fff9074 00000000 00000000
3fff52e0:  00000000 3fff9194 0000000f 0000000b
3fff52f0:  3fff9124 0000000f 0000000b 3fff910c
3fff5300:  0000000f 0000000b 3fff90f4 0000000f
3fff5310:  00000000 3fff90dc 0000000f 0000000b
3fff5320:  3fff90a4 0000002f 0000000b 3fff913c
3fff5330:  0000001f 00000012 3fff538c 4020c3f7
3fff5340:  00000001 3fff5464 0000003b 3fff5380
3fff5350:  00000000 00000000 00000040 4020c530
3fff5360:  00000031 3fff5464 00000001 3fff316e
3fff5370:  0000b220 3fff5464 00000001 402420e3
3fff5380:  00000000 3fff5464 3fff5390 3fff901c <
3fff5390:  0000000f 0000000a 3fff742c 0000000f
3fff53a0:  0000000a 3fff8ea4 0000001f 00000019
3fff53b0:  00000000 3fff55f0 3fff30a1 4024388c
3fff53c0:  32484f2f 6174732f 2f737574 7465536e
3fff53d0:  706d6554 00000031 00000000 00000000
3fff53e0:  00000000 00000000 484f2f00 74732f32
3fff53f0:  73757461 65536e2f 6d655474 00003270
3fff5400:  00000000 00000000 00000000 00000000
3fff5410:  4f2f0000 732f3248 75746174 536e2f73
3fff5420:  65547465 0033706d 00000000 00000000
3fff5430:  00000000 00000000 2f000000 2f32484f
3fff5440:  74617473 6e2f7375 7473614d 61437265
3fff5450:  6961646c 00000061 00000000 00000000
3fff5460:  00000000 3fff8e7c 0000001f 00000012
3fff5470:  3fff8e54 0000001f 0000001d 3fff8e2c
3fff5480:  0000001f 00000015 3fff8e04 0000001f
3fff5490:  00000015 3fff817c 0000000f 00000002
3fff54a0:  3fff8194 0000001f 00000014 3fff8154
3fff54b0:  0000001f 00000010 41500000 4020c3f7
3fff54c0:  3fff53c0 00000001 3fff5624 4020c429
3fff54d0:  3fff5640 3fff81e5 3fff5624 00000024
3fff54e0:  3fff5640 00000003 3fff55f0 40217dde
3fff54f0:  00003331 40293e84 3fff569c 00000030
3fff5500:  4000050c 3fff7422 0000005b 00000072
3fff5510:  40223959 00000030 00000018 ffffffff
3fff5520:  40223959 3fff57d0 3fff7428 000000ff
3fff5530:  0000ff00 00ff0000 ff000000 3fff5a98
3fff5540:  00000010 3fff55d0 00000000 40210759
3fff5550:  00000000 3fff55e0 00000000 3fff5a98
3fff5560:  00000010 3fff55f0 00000000 3fff569c
3fff5570:  3fff47e0 00000001 3fff1940 4025b210
3fff5580:  40293d9d 00000003 3fff55d0 40215224
3fff5590:  00000000 3fff55f0 3fff19fc 402626dd
3fff55a0:  4020afe0 3ffe8cc3 3fff19fc 3fff569c
3fff55b0:  3fff5a98 00000227 00000227 40210434
3fff55c0:  3fff5a98 000001fe 000001fe 40210434
3fff55d0:  00000000 3ffe8ae4 00000001 402108a4
3fff55e0:  40261b75 00000000 3fff569c 401076b8
3fff55f0:  00000300 00000c00 00000000 4026a500
3fff5600:  00000000 00000000 00000000 00000000
3fff5610:  00000000 40101a00 3fff812c 0000001f
3fff5620:  00000015 3fff726c 0000000f 00000002
3fff5630:  3fff7284 0000000f 00000000 00000000
3fff5640:  3fff72e4 0000000f 00000002 3fff8bc4
3fff5650:  0000001f 00000015 3fff5670 00000016
3fff5660:  3fff81c4 00000019 00000001 3fff56b0
3fff5670:  3fff56b0 0000b216 3fff81c4 40256670
3fff5680:  3fff56b0 00000002 00000015 40205786
3fff5690:  32484f2f 6174732f 2f737574 7465536e
3fff56a0:  706d6554 00000031 3fff81c4 40205698
3fff56b0:  3fff5a01 00000014 3fff57dc 4020c429
3fff56c0:  3fff1b10 3fff5820 3fff57dc 4020c47a
3fff56d0:  3ffe9036 00000000 00000020 00000003
3fff56e0:  3fff1b10 3fff5820 00000005 4024367d
3fff56f0:  40101549 3ffef358 00000020 40100836
3fff5700:  00007fff 02b7776a 3fff0230 401016dc
3fff5710:  00000000 00000000 00000000 00000000
3fff5720:  3fff5a98 0000051d 0000051d 00000003
3fff5730:  3fff47e0 00000001 3fff1940 4025b210
3fff5740:  00000014 000028c0 00000518 40215224
3fff5750:  00000010 3fff57e0 3fff19e4 402626dd
3fff5760:  4020afe0 00000005 3fff19e4 4020c530
3fff5770:  00000010 00000001 3fff1940 40218a3e
3fff5780:  3fff5a98 00000518 00000518 40210434
3fff5790:  3fff1b10 00000005 3fff57c0 402108a4
3fff57a0:  3fff5a98 00000515 00000515 40210434
3fff57b0:  3fff1b10 00000005 3fff57e0 402108a4
3fff57c0:  3fff5a98 00000227 00000227 40210434
3fff57d0:  3fff7244 0000001f 00000014 3fff8b9c
3fff57e0:  0000001f 00000010 00000000 4020c350
3fff57f0:  3ffe8ae4 3fffc6fc 4028749b 40218fc6
3fff5800:  00000000 00000000 00000000 00000003
3fff5810:  3fff1b10 00000005 3fff5820 40221b48 <
3fff5820:  00000300 3fff0c00 00000000 3fff4801
3fff5830:  00000000 00000000 00000000 00000000
3fff5840:  00000000 00000003 3fff6c5c 0000000f
3fff5850:  00000000 3fff746c 0000000f 00000000
3fff5860:  3fff7414 0000000f 00000000 00000000
3fff5870:  893ac601 00000000 00000003 00000024
3fff5880:  3fff327b 3fff48bc 4020d3f4 3fff48d0
3fff5890:  00000000 00000000 0000b213 3fff48bc
3fff58a0:  3fffdad0 3fff1b10 3fff1ad0 40242173
3fff58b0:  3fffdad0 00000000 3ffe83b0 4024c035
3fff58c0:  00000000 00000000 00000001 4020d415
3fff58d0:  3fffdad0 00000000 3fff48b6 4020d440
3fff58e0:  feefeffe feefeffe 3fff48d0 402109a0
3fff58f0:  feefeffe 3fff48d0 00000006 00000000
3fff5900:  00000000 00000000 00000000 00000000
3fff5910:  00000000 00000001 3ffeb0fa 00000062
3fff5920:  3ffeb07e 000002b2 00000405 00000000
3fff5930:  00000000 00000000 00000000 00000000
3fff5940:  011f720c 011e1a30 4020e184 00000000
3fff5950:  ffffffff 00e9a789 00000000 4020e16c
3fff5960:  00000000 00000000 00000000 00000000
3fff5970:  00000000 00000000 00000000 00000000
3fff5980:  00000000 00000000 00000000 00000000
3fff5990:  00000000 00000000 00000000 00000000
3fff59a0:  00000000 00000000 00000000 00000000
3fff59b0:  00000000 00000000 00000000 00000000
3fff59c0:  00000000 00000000 00000000 00000000
3fff59d0:  00000000 00000000 00000000 00000000
3fff59e0:  00000000 00000000 00000000 00000000
3fff59f0:  00000000 00000000 00000000 00000000
3fff5a00:  00000000 00000000 00000000 00000000
3fff5a10:  00000000 00000000 00000000 00000000
3fff5a20:  00000000 00000000 00000000 00000000
3fff5a30:  00000000 00000000 00000000 00000000
3fff5a40:  00000000 00000000 00000000 00000000
3fff5a50:  00000000 00000000 00000000 00000000
3fff5a60:  00000000 00000000 00000000 00000000
3fff5a70:  00000000 00000000 00000000 00000000
3fff5a80:  00000000 00000000 3fff69b4 3fff6a54
3fff5a90:  ffffffff 00000ba2 3fff62f0 00000000
3fff5aa0:  00000000 00000000 00000000 00000000
3fff5ab0:  00000000 00000000 0204a8c0 6504a8c0
3fff5ac0:  00000000 0104a8c0 ffffffff 3fff7494
3fff5ad0:  00000000 00000000 00000000 00000100
3fff5ae0:  00001e17 00c60001 3fff8d4c 08080808
3fff5af0:  00000000 00010003 00000000 00000072
3fff5b00:  74692e31 6f6f702e 746e2e6c 726f2e70
3fff5b10:  00000067 00000000 00000000 00000000
3fff5b20:  00000000 00000000 00000000 00000000
3fff5b30:  00000000 00000000 00000000 00000000
3fff5b40:  00000000 00000000 00000000 00000000
3fff5b50:  00000000 00000000 00000000 00000000
3fff5b60:  00000000 00000000 00000000 00000000
3fff5b70:  00000000 00000000 00000000 00000000
3fff5b80:  00000000 00000000 00000000 00000000
3fff5b90:  00000000 00000000 00000000 00000000
3fff5ba0:  00000000 00000000 00000000 00000000
3fff5bb0:  00000000 00000000 00000000 00000000
3fff5bc0:  00000000 00000000 00000000 00000000
3fff5bd0:  00000000 00000000 00000000 00000000
3fff5be0:  00000000 00000000 00000000 00000000
3fff5bf0:  00000000 00000000 00000000 00000000
3fff5c00:  b235f725 402028a8 3fff581c 00000000
3fff5c10:  00000000 00000000 00000000 00000000
3fff5c20:  00000000 00000000 00000000 00000000
3fff5c30:  00000000 00000000 00000000 00000000
3fff5c40:  00000000 00000000 00000000 00000000
3fff5c50:  00000000 00000000 00000000 00000000
3fff5c60:  00000000 00000000 00000000 00000000
3fff5c70:  00000000 00000000 00000000 00000000
3fff5c80:  00000000 00000000 00000000 00000000
3fff5c90:  00000000 00000000 00000000 00000000
3fff5ca0:  00000000 00000000 00000000 00000000
3fff5cb0:  00000000 00000000 00000000 00000000
3fff5cc0:  00000000 00000000 00000000 00000000
3fff5cd0:  00000000 00000000 00000000 00000000
3fff5ce0:  00000000 00000000 00000000 00000000
3fff5cf0:  00000000 00000000 00000000 00000000
3fff5d00:  00000000 00000000 00000000 00000000
3fff5d10:  00000000 00000000 00000000 00000000
3fff5d20:  00000000 00000000 00000000 00000000
3fff5d30:  00000000 00000000 00000000 00000000
3fff5d40:  00000000 00000000 00000000 00000000
3fff5d50:  00000000 00000000 00000000 00000000
3fff5d60:  00000000 00000000 00000000 00000000
3fff5d70:  00000000 00000000 00000000 00000000
3fff5d80:  00000000 00000000 00000000 00000000
3fff5d90:  00000000 00000000 00000000 00000000
3fff5da0:  00000000 00000000 00000000 00000000
3fff5db0:  00000000 00000000 00000000 00000000
3fff5dc0:  00000000 00000000 00000000 00000000
3fff5dd0:  00000000 00000000 00000000 00000000
3fff5de0:  00000000 00000000 00000000 00000000
3fff5df0:  00000000 00000000 00000000 00000000
3fff5e00:  00000000 00000000 00000000 00000000
3fff5e10:  00000000 00000000 00000000 00000000
3fff5e20:  00000000 00000000 00000000 00000000
3fff5e30:  00000000 00000000 00000000 00000000
3fff5e40:  00000000 00000000 00000000 00000000
3fff5e50:  00000000 00000000 00000000 00000000
3fff5e60:  00000000 00000000 00000000 00000000
3fff5e70:  00000000 00000000 00000000 00000000
3fff5e80:  00000000 00000000 00000000 00000000
3fff5e90:  00000000 00000000 00000000 00000000
3fff5ea0:  00000000 00000000 00000000 00000000
3fff5eb0:  00000000 00000000 00000000 00000000
3fff5ec0:  00000000 00000000 00000000 00000000
3fff5ed0:  00000000 00000000 00000000 00000000
3fff5ee0:  00000000 00000000 00000000 00000000
3fff5ef0:  00000000 00000000 00000000 00000000
3fff5f00:  00000000 00000000 00000000 00000000
3fff5f10:  00000000 00000000 00000000 00000000
3fff5f20:  00000000 00000000 00000000 00000000
3fff5f30:  00000000 00000000 00000000 00000000
3fff5f40:  00000000 00000000 00000000 00000000
3fff5f50:  00000000 00000001 3fff62fc 00000003
3fff5f60:  00000000 00000012 00000001 00d97c4f
3fff5f70:  3fff6bd4 00000000 00000000 4f01a8c0
3fff5f80:  97342b90 0000fd96 00000000 00000702
3fff5f90:  00000000 0501a8c0 b8eb27b8 0000cf5f
3fff5fa0:  00000000 00000002 00000000 0101a8c0
3fff5fb0:  ef7beebc 000038a3 00000000 00000602
3fff5fc0:  00000000 00000000 00000000 00000000
3fff5fd0:  00000000 00000000 00000000 00000000
3fff5fe0:  00000000 00000000 00000000 00000000
3fff5ff0:  00000000 00000000 00000000 00000000
3fff6000:  00000000 00000000 00000000 00000000
3fff6010:  00000000 00000000 00000000 00000000
3fff6020:  00000000 00000000 00000000 00000000
3fff6030:  00000000 00000000 00000000 00000000
3fff6040:  00000000 00000000 00000000 00000000
3fff6050:  00000000 00000000 00000000 00000000
3fff6060:  00000000 00000000 020000e0 010000e0
3fff6070:  3fff72ac 000000ab 00000000 00000000
3fff6080:  00000000 00000000 00000000 001b0000
3fff6090:  00000018 00001a24 fa02a240 3ffedb06
3fff60a0:  3ffedb1a 00000000 00000000 00000000
3fff60b0:  0000001b 3ffedb1a 00000000 00000000
3fff60c0:  00000000 00000000 00000000 00000000
3fff60d0:  00000000 00000000 00000000 00000000
3fff60e0:  00000000 00000000 00000000 00000000
3fff60f0:  00000000 00000000 00000000 00000000
3fff6100:  00000000 00000000 00000000 00000000
3fff6110:  00000000 00000000 00000000 00000000
3fff6120:  00bf00cc 0ba1000d 058b0616 0000054b
3fff6130:  00000000 00000000 00000000 00000000
3fff6140:  00000000 00000000 00000000 00000000
3fff6150:  00000000 00000000 00000000 00000000
3fff6160:  00000000 00000000 00000000 00000000
3fff6170:  00000000 00000000 00000000 00000000
3fff6180:  00000000 00000000 00000000 00000000
3fff6190:  00000000 00000000 00000000 00000000
3fff61a0:  00000000 00000000 00000000 00000000
3fff61b0:  00000000 00000000 00000000 00000000
3fff61c0:  00000000 00000000 00000000 00000000
3fff61d0:  00000000 00000000 00000000 00000000
3fff61e0:  00000000 00000000 00000000 00000000
3fff61f0:  00000000 00000000 00000000 00000000
3fff6200:  00000000 00000000 00000000 00000000
3fff6210:  00000000 00000000 00000000 00000000
3fff6220:  00000000 00000000 00000000 00000000
3fff6230:  00000000 00000000 00000000 00000000
3fff6240:  00000000 00000000 00000000 00000000
3fff6250:  00000000 00000000 00000000 00000000
3fff6260:  00000000 00000000 00000000 00000000
3fff6270:  00000000 00000000 00000000 00000000
3fff6280:  00000000 00000000 00000000 00000000
3fff6290:  00000000 00000000 00000000 00000000
3fff62a0:  00000000 00000000 00000000 00000000
3fff62b0:  00000000 00000000 3fff71a4 3fff71a4
3fff62c0:  00000000 00000089 00000000 3fff8a94
3fff62d0:  3fff8abc 00000000 3fff62fc 00000000
3fff62e0:  00000000 00000000 00000000 00000000
3fff62f0:  00000001 012705fe 00000006 00000000
3fff6300:  08080808 00800000 3fff8a6c 10000004
3fff6310:  00000035 00000000 40269bc4 00000000
3fff6320:  00010009 3fff633c 000007d0 4026ca04
3fff6330:  00000000 00000000 0006000c 00000000
3fff6340:  00003a98 4010508c 00000000 00000000
3fff6350:  0009000f 3fff6324 00000000 40105058
3fff6360:  00000000 00000000 000c0012 3fff6384
3fff6370:  00000032 4010502c 00000000 00000000
3fff6380:  000f0015 3fff6354 0000012c 40105000
3fff6390:  00000000 00000000 0012001d 3ffeaae0
3fff63a0:  3fff63dc 40248658 00000000 402566a0
3fff63b0:  4025668c 0137049e 41424538 00000000
3fff63c0:  00000000 3fff7064 0000000f 00000001
3fff63d0:  00000000 00000000 00150025 3ffeaae0
3fff63e0:  3fff641c 4023c7f4 00000000 402566a0
3fff63f0:  4025668c 00000000 00000000 00000000
3fff6400:  00000000 3fff73ec 0000000f 00000007
3fff6410:  00000000 00000000 001d002d 3ffeaae0
3fff6420:  3fff645c 4023c814 00000000 402566a0
3fff6430:  4025668c 00000000 00000000 00000000
3fff6440:  00000000 3fff6cac 0000000f 0000000c
3fff6450:  00000000 00000000 00250035 3ffeaae0
3fff6460:  3fff649c 4023c854 00000000 402566a0
3fff6470:  4025668c 3fff6684 00000000 00000000
3fff6480:  00000000 3fff7494 0000000f 00000009
3fff6490:  00000000 00000000 002d003d 3ffeaae0
3fff64a0:  3fff64dc 4023c874 00000000 402566a0
3fff64b0:  4025668c 00000000 00000000 00000000
3fff64c0:  00000000 3fff80fc 0000000f 00000008
3fff64d0:  00000000 00000000 00350045 3ffeaae0
3fff64e0:  3fff651c 4023c834 00000000 402566a0
3fff64f0:  4025668c 00000000 00000000 00000000
3fff6500:  00000000 3fff8114 0000000f 0000000e
3fff6510:  00000000 00000000 003d004d 3ffeaae0
3fff6520:  3fff6574 4023c8ac 00000000 402566a0
3fff6530:  4025668c 00000000 00000000 00000000
3fff6540:  00000000 3fff655c 0000000f 00000004
3fff6550:  00000000 00000000 00450050 676f6c2f
3fff6560:  00000000 00000000 00000000 00000000
3fff6570:  004d0058 3ffeaae0 3fff65cc 4024930c
3fff6580:  00000000 402566a0 4025668c 00000000
3fff6590:  00000000 00000000 00000000 3fff65b4
3fff65a0:  0000000f 00000006 00000000 00000000
3fff65b0:  0050005b 6f6f742f 0000736c 00000000
3fff65c0:  00000000 00000000 00580063 3ffeaae0
3fff65d0:  3fff6624 4023ca14 00000000 402566a0
3fff65e0:  4025668c 00000000 00000000 00000000
3fff65f0:  00000000 3fff660c 0000000f 0000000b
3fff6600:  00000000 00000000 005b0066 6332692f
3fff6610:  6e616373 0072656e 00000000 00000000
3fff6620:  0063006e 3ffeaae0 3fff667c 4023ca34
3fff6630:  00000000 402566a0 4025668c 00000000
3fff6640:  00000000 00000000 00000000 3fff6664
3fff6650:  0000000f 0000000c 00000000 00000000
3fff6660:  00660071 6669772f 61637369 72656e6e
3fff6670:  00000000 00000000 006e0079 3ffeaae0
3fff6680:  3fff66d4 4024326c 0000ffff 402566a0
3fff6690:  4025668c 00000000 00000000 00000000
3fff66a0:  00000000 3fff66bc 0000000f 00000006
3fff66b0:  00000000 00000000 0071007c 676f6c2f
3fff66c0:  00006e69 00000000 00000000 00000000
3fff66d0:  00790084 3ffeaae0 3fff672c 4023c610
3fff66e0:  00000000 402566a0 4025668c 00000000
3fff66f0:  00000000 00000000 00000000 3fff6714
3fff6700:  0000000f 00000008 00000000 00000000
3fff6710:  007c0087 6e6f632f 6c6f7274 00000000
3fff6720:  00000000 00000000 0084008f 3ffeaae0
3fff6730:  3fff6784 4023ca70 00000000 402566a0
3fff6740:  4025668c 00000000 00000000 00000000
3fff6750:  00000000 3fff676c 0000000f 00000009
3fff6760:  00000000 00000000 00870092 776f642f
3fff6770:  616f6c6e 00000064 00000000 00000000
3fff6780:  008f009a 3ffeaae0 3fff67dc 4023cb7c
3fff6790:  00000000 402566a0 4025668c 03c10137
3fff67a0:  00000002 00000000 0000000a 3fff67c4
3fff67b0:  0000000f 00000007 00000001 00000000
3fff67c0:  0092009d 6c70752f 0064616f 00000000
3fff67d0:  00000000 00000000 009a00a5 3ffeaae0
3fff67e0:  3fff6834 4023cc08 00000000 402566a0
3fff67f0:  4025668c 4023cc44 0000c9ba 402566a0
3fff6800:  4025668c 3fff681c 0000000f 00000007
3fff6810:  00000002 00000000 009d00a8 6c70752f
3fff6820:  0064616f 00000000 00000000 82175a1a
3fff6830:  00a500b0 3ffeaae0 3fff688c 4023cde8
3fff6840:  10cc781e 402566a0 4025668c cfa9862d
3fff6850:  31cbedab 00000000 093f95f8 3fff6874
3fff6860:  0000000f 00000009 00000000 cb4819f8
3fff6870:  00a800b3 6c69662f 73696c65 00000074
3fff6880:  00000000 4b4f21c7 00b000bb 3ffeaae0
3fff6890:  3fff68e4 4024bb10 00000000 402566a0
3fff68a0:  4025668c 00000000 00000000 00000000
3fff68b0:  82175a1a 3fff68cc 0000000f 00000009
3fff68c0:  00000000 10cc781e 00b300be 7664612f
3fff68d0:  65636e61 00000064 00000000 013701d6
3fff68e0:  00bb00c6 3ffeaae0 3fff693c 40230ce0
3fff68f0:  00000000 402566a0 4025668c 00000000
3fff6900:  00000000 00000000 00000000 3fff6924
3fff6910:  0000000f 00000006 00000000 00000000
3fff6920:  00be00c9 7465732f 00007075 00000000
3fff6930:  00000000 00000000 00c600d1 3ffeaae0
3fff6940:  3fff87e4 40224058 00000000 402566a0
3fff6950:  4025668c 00000000 00000000 00000000
3fff6960:  00000000 3fff697c 0000000f 00000005
3fff6970:  00000000 4029dbc8 00c900d4 6f736a2f
3fff6980:  0000006e 00000000 00000000 3fff6d74
3fff6990:  00d100d7 6c75722f 00007365 00000000
3fff69a0:  00000000 0001eb00 00d400d8 3fff3bf4
3fff69b0:  00d700ec 3ffeb378 4020fc5c 4020fd20
3fff69c0:  4020fe68 00020000 000db000 00001000
3fff69d0:  00001000 00000100 00000020 00000000
3fff69e0:  00000000 00000016 00000003 3fff760c
3fff69f0:  3fff750c 3fff6f84 00000005 ffffffff
3fff6a00:  00000003 00000132 0000007b efff0000
3fff6a10:  3fff7714 00000578 402164d0 00000000
3fff6a20:  00000001 00000000 20090315 000db000
3fff6a30:  00020000 00000100 00001000 00000005
3fff6a40:  3fff750c 3fff6f84 3fff7714 00000000
3fff6a50:  00d800ef 3ffeb3a8 00000001 00000001
3fff6a60:  3fff69b4 00000000 00ec00f2 00000000
3fff6a70:  00000000 00000000 00000000 00000000
3fff6a80:  00ef00f5 00000000 00000000 00000000
3fff6a90:  00000000 00000000 00f200f8 00000000
3fff6aa0:  00000000 00000000 00000000 00000000
3fff6ab0:  00f500fb 00000000 00000000 00000000
3fff6ac0:  00000000 00000000 00f800fe 00000000
3fff6ad0:  00000000 00000000 00000000 00000000
3fff6ae0:  00fb0101 00000000 00000000 00000000
3fff6af0:  00000000 00000000 00fe0104 00000000
3fff6b00:  00000000 00000000 00000000 00000000
3fff6b10:  01010107 00000000 00000000 00000000
3fff6b20:  00000000 00000000 0104010a 00000000
3fff6b30:  00000000 00000000 00000000 00000000
3fff6b40:  0107010d 00000000 00000000 00000000
3fff6b50:  00000000 00000000 010a0110 00000000
3fff6b60:  00000000 00000000 00000000 00000000
3fff6b70:  010d0113 00000000 00000000 00000000
3fff6b80:  00000000 00000000 01100116 00000000
3fff6b90:  00000000 00000000 00000000 00000000
3fff6ba0:  01130119 7065654b 0074754f 00000000
3fff6bb0:  00000000 00000000 0116011c 00000000
3fff6bc0:  00000000 00000000 00000000 00000000
3fff6bd0:  0119011f 3fff636c 00000032 4026c948
3fff6be0:  00000000 3ffef358 011c0122 3ffea738
3fff6bf0:  00000002 00000001 3fff7084 00000000
3fff6c00:  011f0127 73726170 6d6f4365 646e616d
3fff6c10:  69727453 0000676e 00007367 00000000
3fff6c20:  00000000 00000000 01228128 01b10000
3fff6c30:  0127012d 73726170 6d655465 74616c70
3fff6c40:  73670065 32000000 00000000 00000000
3fff6c50:  00000000 00000000 01280130 00000000
3fff6c60:  00000000 00000000 00000000 3ffef358
3fff6c70:  012d8132 051f0232 00000058 00000000
3fff6c80:  01300137 656c7572 6374614d 74003268
3fff6c90:  46003365 00656c69 00000000 00000000
3fff6ca0:  00000000 039e0237 0132013a 6e6f632f
3fff6cb0:  6c6f7274 7372656c 00000000 20646973
3fff6cc0:  0137813c 023701b1 3fff8db4 0075252e
3fff6cd0:  013a0141 73726170 6d655465 74616c70
3fff6ce0:  35003365 32650029 00000000 00000000
3fff6cf0:  00000000 4c646461 013c0146 73726170
3fff6d00:  6d655465 74616c70 73670065 00000000
3fff6d10:  00007367 00000000 00000000 00000000
3fff6d20:  0141014b 73726170 6d6f4365 646e616d
3fff6d30:  69727453 0000676e 00000000 00000000
3fff6d40:  00000000 00000000 01460150 73726170
3fff6d50:  6d655465 74616c70 73003365 32650000
3fff6d60:  00000000 00000000 00000000 73726170
3fff6d70:  014b0152 54505345 36312d36 00000000
3fff6d80:  01500155 00000000 00000000 00000000
3fff6d90:  00000000 00000000 01520190 00000000
3fff6da0:  00000000 00000000 00000000 00000000
3fff6db0:  00000000 00000000 00000000 00000000
3fff6dc0:  00000000 00000000 00000000 00000000
3fff6dd0:  00000000 00000000 00000000 00000000
3fff6de0:  00000000 00000000 00000000 00000000
3fff6df0:  00000000 00000000 00000000 00000000
3fff6e00:  00000000 00000000 00000000 00000000
3fff6e10:  00000000 00000000 00000000 00000000
3fff6e20:  00000000 00000000 00000000 00000000
3fff6e30:  00000000 00000000 00000000 00000000
3fff6e40:  00000000 00000000 00000000 00000000
3fff6e50:  00000000 00000000 00000000 00000000
3fff6e60:  00000000 00000000 00000000 00000000
3fff6e70:  00000000 00000000 00000000 00000000
3fff6e80:  00000000 00000000 00000000 00000000
3fff6e90:  00000000 00000000 00000000 00000000
3fff6ea0:  00000000 00000000 00000000 00000000
3fff6eb0:  00000000 00000000 00000000 00000000
3fff6ec0:  00000000 00000000 00000000 00000000
3fff6ed0:  00000000 00000000 00000000 00000000
3fff6ee0:  00000000 00000000 00000000 00000000
3fff6ef0:  00000000 00000000 00000000 00000000
3fff6f00:  00000000 00000000 00000000 00000000
3fff6f10:  00000000 00000000 00000000 00000000
3fff6f20:  00000000 00000000 00000000 00000000
3fff6f30:  00000000 00000000 00000000 00000000
3fff6f40:  00000000 00000000 00000000 00000000
3fff6f50:  00000000 00000000 00000000 00000000
3fff6f60:  00000000 00000000 00000000 00000000
3fff6f70:  01550192 00000000 0001c200 01030101
3fff6f80:  019001a9 3fff69b8 80050001 000001f8
3fff6f90:  011f011f 00000000 00000140 00000140
3fff6fa0:  00000018 00000000 3fff69b8 80050002
3fff6fb0:  000001f8 011f011f 00000000 000001c0
3fff6fc0:  000001c0 00000018 00000000 3fff69b8
3fff6fd0:  80010000 00010000 01640164 00000000
3fff6fe0:  000029d8 000029d8 00000018 00000000
3fff6ff0:  00000000 00000000 00000000 00000000
3fff7000:  00000000 00000000 00000000 00000000
3fff7010:  00000000 00000000 00000000 00000000
3fff7020:  00000000 00000000 00000000 00000000
3fff7030:  00000000 00000000 019201ae 636c6143
3fff7040:  74616c75 74740065 73676e69 6e697400
3fff7050:  00007367 00000000 00000000 735f6c6c
3fff7060:  01a901b1 0000002f 00000000 00000000
3fff7070:  00000000 735f6c01 01ae81b2 013a0127
3fff7080:  01b101b6 00000000 3fff70a4 00000000
3fff7090:  40202c88 4020291c 00000001 00000000
3fff70a0:  01b201b9 40216830 00000000 402565fc
3fff70b0:  402565e8 00000000 01b601bc 3fff7124
3fff70c0:  3fff4564 3fff7084 3fff6bec 00000000
3fff70d0:  01b901c0 00000001 3fff710c 00000000
3fff70e0:  40202cdc 40202980 00000001 00000000
3fff70f0:  01bc01c3 3ffea738 00000002 00000001
3fff7100:  3fff70d4 00000000 01c001c6 40219b48
3fff7110:  00000000 40256624 40256610 00000000
3fff7120:  01c301c9 3fff718c 3fff70bc 3fff70d4
3fff7130:  3fff70f4 00000000 01c601cd 00000003
3fff7140:  3fff7174 00000000 40202d30 402028c4
3fff7150:  00000001 00000000 01c901d0 3ffea738
3fff7160:  00000002 00000001 3fff713c 00000000
3fff7170:  01cd01d3 402167f0 00000000 4025664c
3fff7180:  40256638 00000000 01d001d6 3fff4564
3fff7190:  3fff7124 3fff713c 3fff715c 00000000
3fff71a0:  01d301df 00000000 ce01a8c0 00ffffff
3fff71b0:  0101a8c0 4026d758 4026d660 40273578
3fff71c0:  3fff853c 00000000 00000000 402629f4
3fff71d0:  3fff6d74 600605dc ba8e9401 7765b3c9
3fff71e0:  00000002 00000000 01d601ea 00000000
3fff71f0:  3fff72e4 00000000 3fff72e4 00000000
3fff7200:  3fff72e4 00000000 3fff72e4 00000000
3fff7210:  3fff6c5c 00000000 3fff6c5c 00000000
3fff7220:  3fff6c5c 00000000 3fff72e4 00000000
3fff7230:  3fff72e4 00000000 3fff72e4 00000000
3fff7240:  01df01ef 54505345 6d492d36 74726f70
3fff7250:  20202020 20202020 00000000 00000000
3fff7260:  00000000 00000000 01ea01f2 00003331
3fff7270:  00000000 00000000 00000000 00000000
3fff7280:  01ef01f5 00000000 00000000 00000000
3fff7290:  00000000 00000000 01f281f7 023203d9
3fff72a0:  01f301f7 022905aa 01f501fa 00000000
3fff72b0:  3fff71a4 010000e0 fe8d0100 02010301
3fff72c0:  01f701fe 54505345 00000033 00000000
3fff72d0:  00000000 00000000 00000000 00000000
3fff72e0:  01fa0201 00003331 00000000 00000000
3fff72f0:  00000000 3ffef358 01fe0206 50746567
3fff7300:  74536e69 4a657461 004e4f53 00650000
3fff7310:  00007367 00000000 00000000 72617473
3fff7320:  0201020b 73726170 6d655465 74616c70
3fff7330:  32003265 32650029 00007300 00000000
3fff7340:  00000000 3132203e 02060210 64616f4c
3fff7350:  6b736154 74746553 73676e69 00000000
3fff7360:  00007367 00000000 00000000 20383430
3fff7370:  020b0215 73726170 6d655465 74616c70
3fff7380:  32003365 32650029 00007300 00000000
3fff7390:  00000000 70203231 0210021a 73726170
3fff73a0:  6d655465 74616c70 32330065 32650029
3fff73b0:  00000000 00000000 00000000 6f4c2038
3fff73c0:  0215021f 73726170 6d655465 74616c70
3fff73d0:  73003365 00656c00 00007367 00000000
3fff73e0:  00000000 20323133 021a0222 6e6f632f
3fff73f0:  00676966 00000000 00000000 20646973
3fff7400:  021f0223 3fff3bf4 02220224 3fff3bf4
3fff7410:  02230227 00000000 00000000 00000000
3fff7420:  00000000 00000000 0224022a 656c7572
3fff7430:  742e3173 00007478 00000000 01ea0073
3fff7440:  0227022f 3fff8d4c 00000000 00000000
3fff7450:  00000000 00000000 00000001 00000000
3fff7460:  00000000 72617400 022a0232 00000000
3fff7470:  00000000 00000000 00000000 00000000
3fff7480:  022f8234 013001f5 00000000 0075252e
3fff7490:  02320237 7261682f 72617764 00000065
3fff74a0:  00000000 00430000 02348239 03d9013a
3fff74b0:  75252e75 0075252e 0237023e 63657845
3fff74c0:  43657475 616d6d6f 6900646e 0000676e
3fff74d0:  00000000 00000000 00000000 00000000
3fff74e0:  02390243 636c6143 74616c75 65003265
3fff74f0:  36003300 00650029 00007367 00000000
3fff7500:  00000000 00000000 023e0284 00008005
3fff7510:  000000f8 000001f8 6c757201 2e317365
3fff7520:  00747874 00000000 00000000 00000000
3fff7530:  00000000 00000000 016a4000 016c016b
3fff7540:  ffffffff ffffffff ffffffff ffffffff
3fff7550:  ffffffff ffffffff ffffffff ffffffff
3fff7560:  ffffffff ffffffff ffffffff ffffffff
3fff7570:  ffffffff ffffffff ffffffff ffffffff
3fff7580:  ffffffff ffffffff ffffffff ffffffff
3fff7590:  ffffffff ffffffff ffffffff ffffffff
3fff75a0:  ffffffff ffffffff ffffffff ffffffff
3fff75b0:  ffffffff ffffffff ffffffff ffffffff
3fff75c0:  ffffffff ffffffff ffffffff ffffffff
3fff75d0:  ffffffff ffffffff ffffffff ffffffff
3fff75e0:  ffffffff ffffffff ffffffff ffffffff
3fff75f0:  ffffffff ffffffff ffffffff ffffffff
3fff7600:  ffffffff ffffffff ffffffff 00010001
3fff7610:  80010001 00010001 00010001 00058001
3fff7620:  00050005 ffffffff ffffffff ffffffff
3fff7630:  ffffffff ffffffff ffffffff ffffffff
3fff7640:  ffffffff ffffffff ffffffff ffffffff
3fff7650:  ffffffff ffffffff ffffffff ffffffff
3fff7660:  ffffffff ffffffff ffffffff ffffffff
3fff7670:  ffffffff ffffffff ffffffff ffffffff
3fff7680:  ffffffff ffffffff ffffffff ffffffff
3fff7690:  ffffffff ffffffff ffffffff ffffffff
3fff76a0:  ffffffff ffffffff ffffffff ffffffff
3fff76b0:  ffffffff ffffffff ffffffff ffffffff
3fff76c0:  ffffffff ffffffff ffffffff ffffffff
3fff76d0:  ffffffff ffffffff ffffffff ffffffff
3fff76e0:  ffffffff ffffffff ffffffff ffffffff
3fff76f0:  ffffffff ffffffff ffffffff ffffffff
3fff7700:  ffffffff ffffffff efff0429 00000000
3fff7710:  02430334 00000005 000011d1 ffffffff
3fff7720:  0000001f 3fff7728 00000002 000011ca
3fff7730:  0000001c 00000000 00000000 00280001
3fff7740:  000000fc 00000000 00000000 00000000
3fff7750:  00000000 00000000 00000000 00000000
3fff7760:  00000000 00000000 00000000 00000000
3fff7770:  00000000 00000000 00000000 00000000
3fff7780:  00000000 00000000 00000000 00000000
3fff7790:  00000000 00000000 00000000 00000000
3fff77a0:  00000000 00000000 00000000 00000000
3fff77b0:  00000000 00000000 00000000 00000000
3fff77c0:  00000000 00000000 00000000 00000000
3fff77d0:  00000000 00000000 00000000 00000000
3fff77e0:  00000000 00000000 00000000 00000000
3fff77f0:  00000000 00000000 00000000 00000000
3fff7800:  00000000 00000000 6d690300 74726f70
3fff7810:  00000031 00000000 00000000 00000000
3fff7820:  00000000 00000000 00000000 00000000
3fff7830:  00000000 00000000 00000000 00000102
3fff7840:  000011ce 000001be 00000000 00000000
3fff7850:  002a0001 000000fc 00000000 00000000
3fff7860:  00000000 00000000 00000000 00000000
3fff7870:  7473616d 00007265 00000000 00000000
3fff7880:  00000000 00000000 00000000 00000000
3fff7890:  00000000 00000000 00000000 00000000
3fff78a0:  00000000 00000000 00000000 00000000
3fff78b0:  00000000 00000000 00000000 00000000
3fff78c0:  00000000 00000000 00000000 00000000
3fff78d0:  00000000 00000000 00000000 00000000
3fff78e0:  00000000 00000000 00000000 00000000
3fff78f0:  00000000 00000000 00000000 00000000
3fff7900:  00000000 00000000 00000000 00000000
3fff7910:  00000000 00000000 00000000 00000000
3fff7920:  00000000 00000000 00000000 00000000
3fff7930:  00000000 00000000 00000000 00000000
3fff7940:  00000000 00000000 00000000 00000000
3fff7950:  00000202 000011d1 0000016b 00000000
3fff7960:  00000000 00010005 317472fc 74657323
3fff7970:  6f642031 2f2f0a0d 61742020 61766b73
3fff7980:  7365756c 362c7465 5b2c312c 6f706d69
3fff7990:  23317472 31746573 200a0d5d 65766520
3fff79a0:  7a2c746e 31656e6f 6e650a0d 0d6e6f64
3fff79b0:  6f0a0d0a 6f7a206e 2031656e 0a0d6f64
3fff79c0:  66692020 65745b20 7423706d 5b3c5d31
3fff79d0:  6f706d69 23317472 31746573 200a0d5d
3fff79e0:  74202020 766b7361 65756c61 2c746573
3fff79f0:  2c312c31 200a0d30 67202020 2c6f6970
3fff7a00:  302c3431 742f2f20 206e7275 656e6f7a
3fff7a10:  4e4f2031 20200a0d 65736c65 20200a0d
3fff7a20:  61742020 61766b73 7365756c 312c7465
3fff7a30:  312c312c 20200a0d 70672020 312c6f69
3fff7a40:  20312c34 75742f2f 7a206e72 31656e6f
3fff7a50:  46464f20 20200a0d 69646e65 650a0d66
3fff7a60:  6e6f646e 00000302 000011cc 00000175
3fff7a70:  00000000 00000000 00290001 000000fc
3fff7a80:  00000000 00000000 00000000 00000000
3fff7a90:  00000000 00000000 00000000 00000000
3fff7aa0:  00000000 00000000 00000000 00000000
3fff7ab0:  00000000 00000000 00000000 00000000
3fff7ac0:  00000000 00000000 00000000 00000000
3fff7ad0:  00000000 00000000 00000000 00000000
3fff7ae0:  00000000 00000000 00000000 00000000
3fff7af0:  00000000 00000000 00000000 00000000
3fff7b00:  00000000 00000000 00000000 00000000
3fff7b10:  00000000 00000000 31746553 00000000
3fff7b20:  00000000 00000000 00000000 00000000
3fff7b30:  00000000 00000000 00000000 00000000
3fff7b40:  74655300 00000032 00000000 00000000
3fff7b50:  00000000 00000000 00000000 00000000
3fff7b60:  00000000 00000000 65530000 00003374
3fff7b70:  00000000 00000000 00000402 000011cf
3fff7b80:  0000011f 00000000 00000000 00008005
3fff7b90:  000000f8 000001f8 6c757201 2e317365
3fff7ba0:  00747874 00000000 00000000 00000000
3fff7bb0:  00000000 00000000 016a4000 016c016b
3fff7bc0:  ffffffff ffffffff ffffffff ffffffff
3fff7bd0:  ffffffff ffffffff ffffffff ffffffff
3fff7be0:  ffffffff ffffffff ffffffff ffffffff
3fff7bf0:  ffffffff ffffffff ffffffff ffffffff
3fff7c00:  ffffffff ffffffff ffffffff ffffffff
3fff7c10:  ffffffff ffffffff ffffffff ffffffff
3fff7c20:  ffffffff ffffffff ffffffff ffffffff
3fff7c30:  ffffffff ffffffff ffffffff ffffffff
3fff7c40:  ffffffff ffffffff ffffffff ffffffff
3fff7c50:  ffffffff ffffffff ffffffff ffffffff
3fff7c60:  ffffffff ffffffff ffffffff ffffffff
3fff7c70:  ffffffff ffffffff ffffffff ffffffff
3fff7c80:  ffffffff ffffffff ffffffff 00000000
3fff7c90:  02840369 73726170 6d655465 74616c70
3fff7ca0:  203e2d65 30393031 61702034 54657372
3fff7cb0:  6c706d65 33657461 31203e2d 30343830
3fff7cc0:  6c757220 74614d65 3e2d6863 38303120
3fff7cd0:  72203631 4d656c75 68637461 203e2d32
3fff7ce0:  35373031 61702032 54657372 6c706d65
3fff7cf0:  2d657461 3031203e 20383838 73726170
3fff7d00:  6d655465 74616c70 3e2d3365 38303120
3fff7d10:  70203034 65737261 6d6d6f43 53646e61
3fff7d20:  6e697274 203e2d67 33353031 61702036
3fff7d30:  54657372 6c706d65 2d657461 3031203e
3fff7d40:  20363134 73726170 6d655465 74616c70
3fff7d50:  3e2d3365 33303120 45203235 75636578
3fff7d60:  6f436574 6e616d6d 203e2d64 32353031
3fff7d70:  75722038 5073656c 65636f72 6e697373
3fff7d80:  203e2d67 38343031 75722030 5073656c
3fff7d90:  65636f72 6e697373 6c694667 203e2d65
3fff7da0:  34323031 61702030 54657372 6c706d65
3fff7db0:  2d657461 3031203e 20363532 73726170
3fff7dc0:  6d655465 74616c70 3e2d3365 31303120
3fff7dd0:  72203239 4d656c75 68637461 31203e2d
3fff7de0:  38363130 31200020 36373530 72617020
3fff7df0:  65546573 616c706d 2d336574 3031203e
3fff7e00:  20323135 2d002000 3531203e 20363536
3fff7e10:  65737200 706d6554 6574616c 31203e2d
3fff7e20:  32393735 00000020 00000000 00000000
3fff7e30:  00000000 2d293532 0334039e 656c7572
3fff7e40:  6374614d 3e2d3268 34303120 70203432
3fff7e50:  65737261 706d6554 6574616c 31203e2d
3fff7e60:  34303930 72617020 65546573 616c706d
3fff7e70:  2d336574 3031203e 20303438 656c7572
3fff7e80:  6374614d 203e2d68 31383031 75722036
3fff7e90:  614d656c 32686374 31203e2d 32353730
3fff7ea0:  72617020 65546573 616c706d 3e2d6574
3fff7eb0:  38303120 70203838 65737261 706d6554
3fff7ec0:  6574616c 203e2d33 34383031 61702030
3fff7ed0:  43657372 616d6d6f 7453646e 676e6972
3fff7ee0:  31203e2d 36333530 72617020 65546573
3fff7ef0:  616c706d 3e2d6574 34303120 70203631
3fff7f00:  65737261 706d6554 6574616c 203e2d33
3fff7f10:  35333031 78452032 74756365 6d6f4365
3fff7f20:  646e616d 31203e2d 38323530 6c757220
3fff7f30:  72507365 7365636f 676e6973 31203e2d
3fff7f40:  30383430 6c757220 72507365 7365636f
3fff7f50:  676e6973 656c6946 31203e2d 30343230
3fff7f60:  72617020 65546573 616c706d 3e2d6574
3ff
 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09826c6d
~ld
   ▒U
Attachments
2018-03-27 (4).png
2018-03-27 (4).png (42.66 KiB) Viewed 11611 times
2018-03-27 (3).png
2018-03-27 (3).png (36.8 KiB) Viewed 11611 times
2018-03-27 (2).png
2018-03-27 (2).png (37.07 KiB) Viewed 11611 times
2018-03-27 (1).png
2018-03-27 (1).png (42.51 KiB) Viewed 11611 times
2018-03-27.png
2018-03-27.png (61.85 KiB) Viewed 11611 times

User avatar
budman1758
Normal user
Posts: 301
Joined: 15 Apr 2017, 05:13
Location: Riverside CA USA

Re: How many Nested EVENTS?

#9 Post by budman1758 » 27 Mar 2018, 23:11

Don't know if its relevant to the crash you are having but the setting in your OLED display for line 1 looks strange. You have a "#" in an odd spot.
Never seen that and it may cause an issue.
"The glass is twice as big as it needs to be".

leel1967l
Normal user
Posts: 73
Joined: 30 Nov 2017, 18:29

Re: How many Nested EVENTS?

#10 Post by leel1967l » 27 Mar 2018, 23:22

budman1758 wrote: 27 Mar 2018, 23:11 Don't know if its relevant to the crash you are having but the setting in your OLED display for line 1 looks strange. You have a "#" in an odd spot.
Never seen that and it may cause an issue.
That's part of a new feature :
https://github.com/letscontrolit/ESPEasy/pull/949
add format #O to templates to show OFF/ON instead 0/1

User avatar
toffel969
Normal user
Posts: 469
Joined: 03 Jan 2017, 10:58
Location: Germany

Re: How many Nested EVENTS?

#11 Post by toffel969 » 28 Mar 2018, 09:23

Martinus wrote: 27 Mar 2018, 17:36 The rule engine currently processes at three levels max. However, the protection mechanism didn't work properly on the Mega where we have multiple rule sets and it crashed the system because of to many open files. The dev branch has been updated. It now stops processing before a new file handle is opened.
Exceeding nesting level should give a logged warning.
Hi Martinus

Just a question on that. Does the nesting limitation also apply the workaround using multiple events? Or are you referring to the new feature of boolean nesting within one event?
Domoticz on Raspi 2 -- 14 ESP units (hacked Sonoff,NodeMCUs, Wemos, self-built units) running with RC140- Mega 2.0.0 dev8

Martinus

Re: How many Nested EVENTS?

#12 Post by Martinus » 28 Mar 2018, 16:44

It's true that the boolean checks are also limited to three according to the wiki.

But this is about calling events from an event. Technically this is a recursive function call with all the usual challenges. Each level occupies stack space and also has a file handle open to SPIFFS. This has never been thoroughly tested and it mail fail due to lack of resources like file handles and RAM. The current limit of 3 could well work on a bare unit and still fail when many RAM hungry tasks/plugins are loaded.

User avatar
toffel969
Normal user
Posts: 469
Joined: 03 Jan 2017, 10:58
Location: Germany

Re: How many Nested EVENTS?

#13 Post by toffel969 » 28 Mar 2018, 17:25

Martinus wrote: 28 Mar 2018, 16:44 It's true that the boolean checks are also limited to three according to the wiki.

But this is about calling events from an event. Technically this is a recursive function call with all the usual challenges. Each level occupies stack space and also has a file handle open to SPIFFS. This has never been thoroughly tested and it mail fail due to lack of resources like file handles and RAM. The current limit of 3 could well work on a bare unit and still fail when many RAM hungry tasks/plugins are loaded.
Thanks for making that clear. Maybe we should add a warning to the wiki. I will do so when I find time
Domoticz on Raspi 2 -- 14 ESP units (hacked Sonoff,NodeMCUs, Wemos, self-built units) running with RC140- Mega 2.0.0 dev8

TD-er
Core team member
Posts: 8729
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: How many Nested EVENTS?

#14 Post by TD-er » 28 Mar 2018, 19:52

leel1967l wrote: 27 Mar 2018, 23:00 [...]
I update the MQTT import1 values through OPENHAB MQTT.

Result: after few updates the unit crashes on this line of code: core_esp8266_main.cpp:98 __yield
[...]
That error may occur when yield, or delay is being called from outside setup() or loop().
That's only possible when using events (that's why I know this, see last updates to the WiFi code ;) )
So somewhere an event handler function is calling some command which does eventually call yield().
Maybe somewhere in the PubSubClient library (handling MQTT) ???

kimot
Normal user
Posts: 190
Joined: 12 Oct 2017, 20:46

Re: How many Nested EVENTS?

#15 Post by kimot » 29 Mar 2018, 21:12

Are you compile itself or using .bin file.
I see NESTED parameters define in source code, but you never know setting for your bin. file

leel1967l
Normal user
Posts: 73
Joined: 30 Nov 2017, 18:29

Re: How many Nested EVENTS?

#16 Post by leel1967l » 30 Mar 2018, 00:13

I am using the .bin file.
I do not compile myself.

kimot
Normal user
Posts: 190
Joined: 12 Oct 2017, 20:46

Re: How many Nested EVENTS?

#17 Post by kimot » 31 Mar 2018, 17:57

So you must try how many nested is compiled.
I think three with my _dev13

Post Reply

Who is online

Users browsing this forum: No registered users and 10 guests