Skip to content

Commit

Permalink
[parrot #869] Check also for proxied lexinfo with threaded parrots
Browse files Browse the repository at this point in the history
Tadzik came up with an abnormal testcase, which crashed in nqp on a threaded parrot.
See [parrot #869].
Parrot_NQPLexPad_set_pointer needs to check for enum_class_Proxy also.
Note this commit does not fix the problem, only the segfault.
I do not know which lexinfo name_map to get with enum_class_Proxy.
  • Loading branch information
Reini Urban committed Nov 21, 2012
1 parent 4f52b8c commit a93915b
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/pmc/nqplexpad.pmc
Expand Up @@ -108,7 +108,11 @@ Return the LexInfo PMC, if any or a Null PMC.
PMC *info;
Hash *hash;
GET_ATTR_lexinfo(INTERP, SELF, info);
if (info->vtable->base_type != enum_class_LexInfo) {
if (info->vtable->base_type != enum_class_LexInfo
#ifdef PARROT_HAS_THREADS
&& info->vtable->base_type != enum_class_Proxy
#endif
) {
PMC *name_map;
GETATTR_NQPLexInfo_name_to_register_map(INTERP, info, name_map);
hash = (Hash *)VTABLE_get_pointer(INTERP, name_map);
Expand Down

0 comments on commit a93915b

Please sign in to comment.