Hi Maciej The minimal program is as below: nt main() { rpython_startup_code(); pypy_init_threads(); pypy_setup_home(...); pypy_execute_source_ptr("print \'hello\'"); }
It hangs in pypy_execute_source(). And if we remove "pypy_init_threads()", the code works. With gdb debug, it blocked at this stack: #0 0x0000003fea40b1c0 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff6369305 in RPyGilAcquire () from .//../dist/libpypy-c.so #2 0x00007ffff55bb8ed in pypy_g_pypy_execute_source_ptr () from .//../dist/libpypy-c.so #3 0x00007ffff53a8f42 in pypy_execute_source_ptr () from .//../dist/libpypy-c.so #4 0x00007ffff53a8d82 in pypy_execute_source () from .//../dist/libpypy-c.so #5 0x0000000000400b2e in main () at udf_call_test.c:84 The alternative method is we might add a finialze() method to clear all enviroment, and another thread could initialize again. On Wed, Sep 9, 2015 at 5:05 AM, Maciej Fijalkowski <fij...@gmail.com> wrote: > do you have a minimal example where it doesn't work? did you try a > very minimal program? > > On Tue, Sep 8, 2015 at 5:00 PM, Yicong Huang <hengha....@gmail.com> wrote: > > With gdb debug, it blocked at this stack: > > > > #0 0x0000003fea40b1c0 in pthread_cond_timedwait@@GLIBC_2.3.2 () from > > /lib64/libpthread.so.0 > > #1 0x00007ffff6369305 in RPyGilAcquire () from .//../dist/libpypy-c.so > > #2 0x00007ffff55bb8ed in pypy_g_pypy_execute_source_ptr () from > > .//../dist/libpypy-c.so > > #3 0x00007ffff53a8f42 in pypy_execute_source_ptr () from > > .//../dist/libpypy-c.so > > #4 0x00007ffff53a8d82 in pypy_execute_source () from > > .//../dist/libpypy-c.so > > #5 0x0000000000400b2e in main () at udf_call_test.c:84 > > > > > > On Tue, Sep 8, 2015 at 10:10 PM, Yicong Huang <hengha....@gmail.com> > wrote: > >> > >> Hi Armin, > >> > >> Sorry for I didn't describe the problem clearly. > >> The issue is well reproducible with the belolw simple piece of the code: > >> > >> #include ... > >> > >> int main() > >> { > >> rpython_startup_code(); > >> pypy_init_threads(); > >> pypy_setup_home(...); > >> pypy_execute_source_ptr("print \'hello\'"); > >> } > >> > >> It hangs in pypy_execute_source(). > >> And if we remove "pypy_init_threads()", the code works. > >> > >> On Tue, Sep 8, 2015 at 9:19 PM, Armin Rigo <ar...@tunes.org> wrote: > >>> > >>> Hi Yicong, > >>> > >>> On Tue, Sep 8, 2015 at 1:57 PM, Yicong Huang <hengha....@gmail.com> > >>> wrote: > >>> > I tried the following in one thread, and it hang in > >>> > pypy_execute_source_ptr(). > >>> > * rpython_startup_code(); > >>> > * pypy_init_threads(); > >>> > * pypy_setup_home(...) > >>> > * pypy_execute_source_ptr() > >>> > >>> I meant "do whatever you did so far here". I can't debug a new > >>> problem you get if I only know "it hangs"... > >>> > >>> > >>> A bientôt, > >>> > >>> Armin. > >> > >> > > > > > > _______________________________________________ > > pypy-dev mailing list > > pypy-dev@python.org > > https://mail.python.org/mailman/listinfo/pypy-dev > > >
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev