8000 Merge pull request #1294 from tannewt/stack_check · adafruit/circuitpython@2fbaceb · GitHub
[go: up one dir, main page]

Skip to content

Commit 2fbaceb

Browse files
authored
Merge pull request #1294 from tannewt/stack_check
Add stack validity check and raise an error when it happens.
2 parents 481c495 + 89ef6ee commit 2fbaceb

File tree

65 files changed

+1374
-798
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1374
-798
lines changed

locale/circuitpython.pot

Lines changed: 91 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgid ""
88
msgstr ""
99
"Project-Id-Version: PACKAGE VERSION\n"
1010
"Report-Msgid-Bugs-To: \n"
11-
"POT-Creation-Date: 2018-12-04 16:17-0500\n"
11+
"POT-Creation-Date: 2018-12-06 17:04-0800\n"
1212
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -151,70 +151,37 @@ msgstr ""
151151
msgid "script compilation not supported"
152152
msgstr ""
153153

154-
#: main.c:155
154+
#: main.c:150
155155
msgid " output:\n"
156156
msgstr ""
157157

158-
#: main.c:169 main.c:242
158+
#: main.c:164 main.c:237
159159
msgid ""
160160
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
161161
"disable.\n"
162162
msgstr ""
163163

164-
#: main.c:171
164+
#: main.c:166
165165
msgid "Running in safe mode! Auto-reload is off.\n"
166166
msgstr ""
167167

168-
#: main.c:173 main.c:244
168+
#: main.c:168 main.c:239
169169
msgid "Auto-reload is off.\n"
170170
msgstr ""
171171

172-
#: main.c:187
172+
#: main.c:182
173173
msgid "Running in safe mode! Not running saved code.\n"
174174
msgstr ""
175175

176-
#: main.c:203
176+
#: main.c:198
177177
msgid "WARNING: Your code filename has two extensions\n"
178178
msgstr ""
179179

180-
#: main.c:251
181-
msgid "You requested starting safe mode by "
182-
msgstr ""
183-
184-
#: main.c:254
185-
msgid "To exit, please reset the board without "
186-
msgstr ""
187-
188-
#: main.c:261
189-
msgid ""
190-
"You are running in safe mode which means something really bad happened.\n"
191-
msgstr ""
192-
193-
#: main.c:263
194-
msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
195-
msgstr ""
196-
197-
#: main.c:264
198-
msgid "Please file an issue here with the contents of your CIRCUITPY drive:\n"
199-
msgstr ""
200-
201-
#: main.c:267
202-
msgid ""
203-
"The microcontroller's power dipped. Please make sure your power supply "
204-
"provides\n"
205-
msgstr ""
206-
207-
#: main.c:268
208-
msgid ""
209-
"enough power for the whole circuit and press reset (after ejecting "
210-
"CIRCUITPY).\n"
211-
msgstr ""
212-
213-
#: main.c:272
180+
#: main.c:244
214181
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
215182
msgstr ""
216183

217-
#: main.c:430
184+
#: main.c:407
218185
msgid "soft reboot\n"
219186
msgstr ""
220187

@@ -443,7 +410,7 @@ msgid "pop from an empty PulseIn"
443410
msgstr ""
444411

445412
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237
446-
#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 py/obj.c:420
413+
#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 py/obj.c:422
447414
msgid "index out of range"
448415
msgstr ""
449416

@@ -1349,116 +1316,116 @@ msgstr ""
13491316
msgid "Invalid argument"
13501317
msgstr ""
13511318

1352-
#: py/obj.c:90
1319+
#: py/obj.c:92
13531320
msgid "Traceback (most recent call last):\n"
13541321
msgstr ""
13551322

1356-
#: py/obj.c:94
1323+
#: py/obj.c:96
13571324
msgid " File \"%q\", line %d"
13581325
msgstr ""
13591326

1360-
#: py/obj.c:96
1327+
#: py/obj.c:98
13611328
msgid " File \"%q\""
13621329
msgstr ""
13631330

1364-
#: py/obj.c:100
1331+
#: py/obj.c:102
13651332
msgid ", in %q\n"
13661333
msgstr ""
13671334

1368-
#: py/obj.c:257
1335+
#: py/obj.c:259
13691336
msgid "can't convert to int"
13701337
msgstr ""
13711338

1372-
#: py/obj.c:260
1339+
#: py/obj.c:262
13731340
#, c-format
13741341
msgid "can't convert %s to int"
13751342
msgstr ""
13761343

1377-
#: py/obj.c:320
1344+
#: py/obj.c:322
13781345
msgid "can't convert to float"
13791346
msgstr ""
13801347

1381-
#: py/obj.c:323
1348+
#: py/obj.c:325
13821349
#, c-format
13831350
msgid "can't convert %s to float"
13841351
msgstr ""
13851352

1386-
#: py/obj.c:353
1353+
#: py/obj.c:355
13871354
msgid "can't convert to complex"
13881355
msgstr ""
13891356

1390-
#: py/obj.c:356
1357+
#: py/obj.c:358
13911358
#, c-format
13921359
msgid "can't convert %s to complex"
13931360
msgstr ""
13941361

1395-
#: py/obj.c:371
1362+
#: py/obj.c:373
13961363
msgid "expected tuple/list"
13971364
msgstr ""
13981365

1399-
#: py/obj.c:374
1366+
#: py/obj.c:376
14001367
#, c-format
14011368
msgid "object '%s' is not a tuple or list"
14021369
msgstr ""
14031370

1404-
#: py/obj.c:385
1371+
#: py/obj.c:387
14051372
msgid "tuple/list has wrong length"
14061373
msgstr ""
14071374

1408-
#: py/obj.c:387
1375+
#: py/obj.c:389
14091376
#, c-format
14101377
msgid "requested length %d but object has length %d"
14111378
msgstr ""
14121379

1413-
#: py/obj.c:400
1380+
#: py/obj.c:402
14141381
msgid "indices must be integers"
14151382
msgstr ""
14161383

1417-
#: py/obj.c:403
1384+
#: py/obj.c:405
14181385
msgid "%q indices must be integers, not %s"
14191386
msgstr ""
14201387

1421-
#: py/obj.c:423
1388+
#: py/obj.c:425
14221389
msgid "%q index out of range"
14231390
msgstr ""
14241391

1425-
#: py/obj.c:455
1392+
#: py/obj.c:457
14261393
msgid "object has no len"
14271394
msgstr ""
14281395

1429-
#: py/obj.c:458
1396+
#: py/obj.c:460
14301397
#, c-format
14311398
msgid "object of type '%s' has no len()"
14321399
msgstr ""
14331400

1434-
#: py/obj.c:496
1401+
#: py/obj.c:500
14351402
msgid "object does not support item deletion"
14361403
msgstr ""
14371404

1438-
#: py/obj.c:499
1405+
#: py/obj.c:503
14391406
#, c-format
14401407
msgid "'%s' object does not support item deletion"
14411408
msgstr ""
14421409

1443-
#: py/obj.c:503
1410+
#: py/obj.c:507
14441411
msgid "object is not subscriptable"
14451412
msgstr ""
14461413

1447-
#: py/obj.c:506
1414+
#: py/obj.c:510
14481415
#, c-format
14491416
msgid "'%s' object is not subscriptable"
14501417
msgstr ""
14511418

1452-
#: py/obj.c:510
1419+
#: py/obj.c:514
14531420
msgid "object does not support item assignment"
14541421
msgstr ""
14551422

1456-
#: py/obj.c:513
1423+
#: py/obj.c:517
14571424
#, c-format
14581425
msgid "'%s' object does not support item assignment"
14591426
msgstr ""
14601427

1461-
#: py/obj.c:544
1428+
#: py/obj.c:548
14621429
msgid "object with buffer protocol required"
14631430
msgstr ""
14641431

@@ -2524,3 +2491,58 @@ msgstr ""
25242491
#: shared-module/usb_hid/Device.c:59
25252492
msgid "USB Error"
25262493
msgstr ""
2494+
2495+
#: supervisor/shared/safe_mode.c:97
2496+
msgid "You requested starting safe mode by "
2497+
msgstr ""
2498+
2499+
#: supervisor/shared/safe_mode.c:100
2500+
msgid "To exit, please reset the board without "
2501+
msgstr ""
2502+
2503+
#: supervisor/shared/safe_mode.c:107
2504+
msgid ""
2505+
"You are running in safe mode which means something unanticipated happened.\n"
2506+
msgstr ""
2507+
2508+
#: supervisor/shared/safe_mode.c:109
2509+
msgid ""
2510+
"Looks like our core CircuitPython code crashed hard. Whoops!\n"
2511+
"Please file an issue at https://github.com/adafruit/circuitpython/issues\n"
2512+
" with the contents of your CIRCUITPY drive and this message:\n"
2513+
msgstr ""
2514+
2515+
#: supervisor/shared/safe_mode.c:111
2516+
msgid "Crash into the HardFault_Handler.\n"
2517+
msgstr ""
2518+
2519+
#: supervisor/shared/safe_mode.c:113
2520+
msgid "MicroPython NLR jump failed. Likely memory corruption.\n"
2521+
msgstr ""
2522+
2523+
#: supervisor/shared/safe_mode.c:115
2524+
msgid "MicroPython fatal error.\n"
2525+
msgstr ""
2526+
2527+
#: supervisor/shared/safe_mode.c:118
2528+
msgid ""
2529+
"The microcontroller's power dipped. Please make sure your power supply "
2530+
"provides\n"
2531+
"enough power for the whole circuit and press reset (after ejecting "
2532+
"CIRCUITPY).\n"
2533+
msgstr ""
2534+
2535+
#: supervisor/shared/safe_mode.c:120
2536+
msgid ""
2537+
"The CircuitPython heap was corrupted because the stack was too small.\n"
2538+
"Please increase stack size limits and press reset (after ejecting "
2539+
"CIRCUITPY).\n"
2540+
"If you didn't change the stack, then file an issue here with the contents of "
2541+
"your CIRCUITPY drive:\n"
2542+
msgstr ""
2543+
2544+
#: supervisor/shared/safe_mode.c:123
2545+
msgid ""
2546+
"The reset button was pressed while booting CircuitPython. Press again to "
2547+
"exit safe mode.\n"
2548+
msgstr ""

0 commit comments

Comments
 (0)
0