Hi Jason,

are you using the latest trunk? I tried your script and got following:

../..
(3063) WARNING: loadFile (AmConfigReader.cpp:48): could not open 
configuration file 'etc/tst_thread.conf': No such file or directory
(3063) WARNING: loadScript (Ivr.cpp:387): could not load config file at 
etc/tst_thread.conf
(3063) INFO: Ivr-Python: test thread instantiated
(3063) INFO: Ivr-Python: test thread main code running
(3063) INFO: onLoad (Ivr.cpp:536): Application script registered: 
tst_thread.
../..

I think that somebody had the error as you, which got fixed by updating 
to the latest code base. Maybe that would work for also?

Cheers
Raphael.


Jason Penton wrote:
> Hey Raphael
>
> Sure, I even tried the most basic of scripts, like:
>
> class TestThread(threading.Thread):
>       def __init__(self):
>            threading.Thread.__init__(self)
>            info("test thread instantiated")
>       def run(self):
>            info("test thread main code running")
>
> testThread = TestThread()
> t.start()
>
> class IvrDialog(IvrDialogBase):
>       ...
>       ...
>
> The debug says the following:
>
> (4362) INFO: Ivr-Python: test thread instantiated
> Fatal Python error: PyEval_AcquireThread: non-NULL old thread state
> Fatal Python error: ceval: tstate mix-up
> Abort (core dumped)
>
>
>
>
>
> On Wed, Jul 9, 2008 at 9:25 AM, Raphael Coeffic <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
>
>     Jason Penton wrote:
>
>         Hey Stefan
>
>
>         On Tue, Jul 8, 2008 at 5:09 PM, Stefan Sayer
>         <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>         <mailto:[EMAIL PROTECTED]
>         <mailto:[EMAIL PROTECTED]>>> wrote:
>
>
>
>            o Jason Penton [07/08/08 16:38]:
>
>                Hi Raphael,
>
>                I already tried using the threading modules of python,
>         but get
>                awesome core dumps :D
>
>            i am not sure i tried this, but it might have to do with the
>            global interpreter lock.
>
>
>
>     This is indeed very strange, as i tried that a few weeks ago, and
>     everything worked like a charm... Could you give an example of a
>     script generating such a core dump?
>
>     -Raphael.
>
>
>                I'm assuming that this is because the interpreter within C
>                doesnt actually know about this thread and probably why
>         Stefan
>                created the createThread method?
>
>                Stefan, any ideas?
>
>            i was using this code:
>            server = MonitServer((monit_server, monit_port))
>
>
>            class MonitServer(SimpleXMLRPCServer):
>                             def _dispatch(self, method, params):
>                           try:
>                                   func = getattr(self, 'export_' + method)
>                           except AttributeError:
>                                   raise Exception('method "%s" is not
>            supported' % method)
>                           else:
>                                   return func(*params)
>            ###### exported functions:
>                   def export_ping(self):
>                           return [1]
>
>                   ...
>
>            class run_obj:
>                   def onRegistrationEvent(self, ev_type, handle, code,
>         reason):
>                           debug('onRegistrationEvent: '+ str(ev_type)
>         + ' ' +
>            handle + ' '+ str(code) + ' ' + reason)
>
>                           server.report_registrationevent(ev_type, handle,
>            code, reason)
>
>                   def run(self):
>                           debug("run_srv -- svc_monit starting XMLRPC
>         server
>            at "+monit_server+":"+ str(monit_port))
>                           server.serve_forever()
>
>            t = run_obj()
>            ivr.createThread(t)
>            debug("svc_monit started!")
>
>
>         I have very similar code to this but the run method never
>         seems to be executed not even the debug statement. Output
>         looks as follows:
>
>
>         (12633) DEBUG: run (Ivr.cpp:193): PythonScriptThread - calling
>         python function.
>         (12633) DEBUG: run (Ivr.cpp:195): PythonScriptThread - thread
>         finished..
>
>         i.e. i am assuming my debug statement should have been printed
>         between the above 2 calls.
>
>         I had a quick look at Ivr.cpp and it seems that the
>         createThread function accepts a tuple. Is it possible that
>         there has been a code change since you last used your thread
>         code. Im stumped at the moment?
>
>         Cheers
>         Jason
>
>          
>
>
>
>            to run an xmlrpc server that would report some things about ivr
>            sessions (which call e.g. the onRegistrationEvent function). no
>            idea why i had to use the extra run_obj object, but probably
>            because of the run() function.
>
>            Stefan
>
>
>                cheers
>                Jason
>
>
>                On Tue, Jul 8, 2008 at 4:25 PM, Raphael Coeffic
>         <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>                <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>         <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>
>                <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote:
>
>
>                   Hi Jason,
>
>                   i must confess that i have no idea what the createThread
>                function is
>                   for (we should ask Stefan, as he added this
>         function). The only
>                   thing which i know for sure is that those threads
>         are only
>                started
>                   on start up (onLoad function of the IVR factory...).
>
>
>                   But you can use just plain normal python threads.
>         For this,
>                have a
>                   look at:
>                   http://docs.python.org/lib/module-threading.html
>                   http://docs.python.org/lib/module-thread.html
>
>                   Cheers
>                   Raphael.
>
>                   Jason Penton wrote:
>
>                       Hi *
>
>                       can somebody give me a heads up on creating a
>         thread in
>                python
>                       app for SEMS
>
>                       I have the following:
>
>                       class TestThread:
>                              def run(self):
>                                      info("test thread executing")
>
>
>                       #create test thread
>                       testThread = TestThread()
>                       createThread(testThread)
>
>                       the problem is that the it seems the thread never
>                executes the
>                       code???????
>
>                       cheers
>                       Jason
>
>
>
>                            
>         
> ------------------------------------------------------------------------
>
>                       _______________________________________________
>                       Semsdev mailing list
>                       [email protected]
>         <mailto:[email protected]>
>                <mailto:[email protected]
>         <mailto:[email protected]>>
>                <mailto:[email protected]
>         <mailto:[email protected]>
>         <mailto:[email protected]
>         <mailto:[email protected]>>>
>
>
>                       http://lists.iptel.org/mailman/listinfo/semsdev
>                      
>
>
>              
>          
> ------------------------------------------------------------------------
>
>                _______________________________________________
>                Semsdev mailing list
>                [email protected]
>         <mailto:[email protected]>
>         <mailto:[email protected] <mailto:[email protected]>>
>                http://lists.iptel.org/mailman/listinfo/semsdev
>
>
>            --    Stefan Sayer
>            VoIP Services
>
>            [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>         <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>            www.iptego.com <http://www.iptego.com> <http://www.iptego.com>
>
>
>            iptego GmbH
>            Am Borsigturm 40
>            13507 Berlin
>            Germany
>
>            Amtsgericht Charlottenburg, HRB 101010
>            Geschaeftsfuehrer: Alexander Hoffmann
>
>
>         
> ------------------------------------------------------------------------
>
>         _______________________________________________
>         Semsdev mailing list
>         [email protected] <mailto:[email protected]>
>         http://lists.iptel.org/mailman/listinfo/semsdev
>          
>
>
>

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to