EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: wxPython timer and KEK CaPython314 cause core dump
From: Noboru Yamamoto <[email protected]>
To: [email protected]
Cc: [email protected]
Date: Wed, 02 May 2007 09:29:39 +0900
Hi,
Zhong Ren wrote:
> Hi Noboru,
> 
> Thank you for the update.  I found that the new version did
> not solve my problem.  I am running on an Intel duo core. 
> Anything special I need to do?  Please test the following
Well, I don't understand well, but my version of Python-CA module
shows different behaviour. The program runs on single processor machine
is much stabler than that on dual core machine.
It may be just race condition can happen on these dual core machines
which causes a problem.

One think I would like to know is, how do you installed wxPython.
Do you dmg package or do you build it yourself?
If you build it, can I have your build options?

> code.  All lines are necessary to reproduce the crash.  One
> important observation is that the smaller the milliseconds,
> the sooner the crash happens.  Try 1 or 0.1; it crashes almost
> immediately.  Thank you for your help.
> 
> Zhong

Well, more thread switching have a chance to multiple threads access
same region and cause crash. This is my guess on the situation.

By the way, is it meaningfull to specify less than milliseconds?

Thank you very much for your information and help.

Best regards,

Noboru

> 
> 
> # Segmentation fault (core dumped) occurs after
> # running a while.
> 
> import wx
> import ca
> 
> def onTimer(event): pass
> 
> print ca.__version__
> ca.Monitor('S:SRcurrentAI') # Supply a PV here.
> 
> appli = wx.PySimpleApp()
> frame = wx.Frame(None)
> timer = wx.Timer()
> timer.Bind(wx.EVT_TIMER, onTimer)
> timer.Start(milliseconds = 10, oneShot = False)
> appli.MainLoop()
> 
> 
> Other info:
>  Pyhton 2.5
>  wxPython 2.6.3.3
>  RedHat Linux x86_64
>  GCC 4.1.1
> 
> 
> ---- Original message ----
>> Date: Thu, 26 Apr 2007 14:29:00 +0900
>> From: Noboru Yamamoto <[email protected]>  
>> Subject: Re: wxPython timer and KEK CaPython314 cause core dump  
>> To: [email protected]
>> Cc: [email protected]
>>
>> Hi,
>>
>> I have updated my version of CA-Python interface module.
>> Please find a new tar.gz file as an attachment to this e-mail.
>> It may have multi core CPU(such as Intel Core Duo on my MacBook).
>> As far as I tested, it runs stable on a single core
> processors, i686 and
>> PPC.
>>
>> Best regards,
>>
>> Noboru
>>
>> Zhong Ren wrote:
>>> Dear Noboru,
>>>
>>> Thank you.  I must say the KEK CaPython314 is very easy to use.
>>>
>>> I am not surprised that your little test below won't crash,
>>> since it does not contain a wx.Timer.  In order to repeat my
>>> crash, a wx.Timer must be constructed, it must be bound to a
>>> onTimer function, and it must be started.  Using
>>> threading.Timer instead of wx.Timer will not cause the crash.
>>>  I cannot tell who is guilty, wx.Timer or CaPython314.  I also
>>> have the feeling that Python 2.5 may be the problem.
>>>
>>> Zhong
>>>
>>>
>>> ---- Original message ----
>>>> Date: Wed, 06 Dec 2006 10:47:29 +0900
>>>> From: Noboru Yamamoto <[email protected]>  
>>>> Subject: Re: wxPython timer and KEK CaPython314 cause core
> dump  
>>>> To: [email protected]
>>>> Cc: [email protected]
>>>>
>>>> Hi,
>>>>
>>>> I'm not familiar with WxPytho (yet).
>>>>
>>>> But, the following code works on MacBook running MacOSX
>>> 10.4.8 with
>>>> Python2.5,
>>> wxPython2.7-osx-unicode-2.7.2.0-universal10.4-py2.5.dmg
>>>> and KEK version of CaPython314 ( I should have used the
>>> different name
>>>> to avoid confusion with FNAL version. Sorry).
>>>>
>>>> ######################################
>>>> import wx,ca
>>>>
>>>> class MyApp(wx.PySimpleApp):
>>>>    def OnInit(self):
>>>>        frame = wx.Frame(None, -1, "Hello from wxPython")
>>>>        frame.Show(True)
>>>>        self.frame=frame
>>>>        self.ch=ca.channel("fred")
>>>>        self.ch.wait_conn()
>>>>        self.ch.monitor(self.ca_callback)
>>>>        self.ch.flush()
>>>>        self.SetTopWindow(frame)
>>>>        return True
>>>>
>>>>    def ca_callback(self,valstat):
>>>>        self.ch.update_val(valstat)
>>>>        self.frame.Title="%s:%f"%(self.ch.name,self.ch.val)
>>>>
>>>> if __name__ == "__main__":
>>>>    app = MyApp(0)
>>>>    app.MainLoop()
>>>>
>>>> #############################################
>>>>
>>>> I hope this can give some idea.
>>>> Regards,
>>>>
>>>> Noboru Yamamoto
>>>> EPICS group/J-PARC control group
>>>> KEK, JAPAN
>>>>
>>>> Zhong Ren wrote:
>>>>> I managed to isolate a core dump in a minimized Python code
>>>>> (see below).  I found two components are essential to cause a
>>>>> core dump: wx.Timer and ca.Monitor (or ca.Get).  Can someone
>>>>> tell what the problem is?
>>>>>
>>>>> ###############################################
>>>>> import wx
>>>>> import ca
>>>>>
>>>>> def onTimer(event): pass
>>>>>
>>>>> ca.Monitor('S:SRcurrentAI')
>>>>>
>>>>> appli = wx.PySimpleApp()
>>>>> frame = wx.Frame(None)
>>>>> timer = wx.Timer()
>>>>> timer.Bind(wx.EVT_TIMER, onTimer)
>>>>> timer.Start(milliseconds = 10, oneShot = False)
>>>>> appli.MainLoop()
>>>>> ###############################################
>>>>>
>>>>> Other info:
>>>>> Pyhton 2.5
>>>>> wxPython 2.6.3.3
>>>>> RedHat Linux x86_64
>>>>> GCC 4.1.1
>>>>>
>>>>> To test, let the routine run for a while.  A core dump will
>>>>> occur in a few minutes.
>>>> ________________
>> ________________
>> CaPython-1.7.tar.gz (40k bytes)
>> ________________
>> noboru.yamamoto.vcf (1k bytes)

begin:vcard
fn:Noboru Yamamoto
n:Yamamoto;Noboru
email;internet:[email protected]
tel;work:+81-29-864-1171, ext. 5209
tel;fax:+81-29-879-6130
x-mozilla-html:FALSE
version:2.1
end:vcard


References:
Re: wxPython timer and KEK CaPython314 cause core dump Zhong Ren

Navigate by Date:
Prev: Re: wxPython timer and KEK CaPython314 cause core dump Zhong Ren
Next: Re: MV1200/dec211x40 end driver auto negotiation bug, Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: wxPython timer and KEK CaPython314 cause core dump Zhong Ren
Next: Re: wxPython timer and KEK CaPython314 cause core dump Zhong Ren
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·