Jeff Epler
455226ffde
builtinimport: Fix a crash with 'import ulab.linalg' on unix port only
...
A crash like the following occurs in the unix port:
```
Program received signal SIGSEGV, Segmentation fault.
0x00005555555a2d7a in mp_obj_module_set_globals (self_in=0x55555562c860 <ulab_user_cmodule>, globals=0x55555562c840 <mp_module_ulab_globals>) at ../../py/objmodule.c:145
145 self->globals = globals;
(gdb) up
#1 0x00005555555b2781 in mp_builtin___import__ (n_args=5, args=0x7fffffffdbb0) at ../../py/builtinimport.c:496
496 mp_obj_module_set_globals(outer_module_obj,
(gdb)
#2 0x00005555555940c9 in mp_import_name (name=824, fromlist=0x555555621f10 <mp_const_none_obj>, level=0x1) at ../../py/runtime.c:1392
1392 return mp_builtin___import__(5, args);
```
I don't understand how it doesn't happen on the embedded ports, because
the module object should reside in ROM and the assignment of self->globals
should trigger a Hard Fault.
By checking VERIFY_PTR, we know that the pointed-to data is on the heap
so we can do things like mutate it.
2020-08-30 11:09:49 -05:00
..
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-30 11:09:49 -05:00
2020-08-18 13:08:33 -07:00
2020-08-18 13:08:33 -07:00
2020-08-18 13:08:33 -07:00
2020-07-29 10:54:37 -07:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-23 20:40:16 -07:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2018-04-10 15:06:47 +10:00
2020-07-06 19:16:25 +01:00
2018-04-10 15:06:47 +10:00
2018-04-10 15:06:47 +10:00
2018-05-04 20:39:16 +10:00
2018-04-10 15:06:47 +10:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-03-03 10:55:50 -08:00
2018-01-24 10:33:46 -08:00
2020-07-17 17:15:03 -07:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2019-04-05 21:38:32 +02:00
2020-08-18 23:21:14 +09:00
2018-08-09 14:16:28 -07:00
2018-08-07 14:58:57 -07:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2018-10-18 10:37:42 -07:00
2020-04-14 18:24:58 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-13 22:54:52 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-25 11:47:50 -05:00
2020-08-04 14:45:45 -05:00
2020-07-21 15:40:51 -07:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2019-01-18 11:53:09 -08:00
2020-08-04 18:42:09 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-23 20:41:10 -07:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-04 14:45:45 -05:00
2020-07-06 19:16:25 +01:00
2020-08-04 18:42:09 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2017-10-04 12:37:50 +11:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-04 18:42:09 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-04 14:45:45 -05:00
2020-07-22 16:26:46 -07:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-04 14:45:45 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-04 14:45:45 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-04 14:45:45 -05:00
2020-06-03 10:56:35 +01:00
2020-07-28 16:57:48 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-08-12 07:32:18 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2018-05-14 17:41:17 -04:00
2018-05-14 17:41:17 -04:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-04-21 22:40:12 -04:00
2020-04-21 22:40:12 -04:00
2020-07-23 20:40:16 -07:00
2018-07-11 16:45:30 -04:00
2020-08-04 14:45:45 -05:00
2020-08-04 13:34:29 -05:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-06-03 10:56:35 +01:00
2017-08-25 22:17:07 -04:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00
2020-07-06 19:16:25 +01:00