Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[parrot #869] Check also for proxied lexinfo with threaded parrots
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.