context proc may be cfunc; fix #2609