Re: Process crash with no reason

2009-02-11 Thread gil . shinar
On Feb 8, 5:31 pm, Stephen Hansen apt.shan...@gmail.com wrote:
  Thanks a lot and sorry for the late response. My main suspect is the
  CherryPy.
  I'm still investigating it.

 You're asking for advice but not listening to what people are saying
 here -- why is CherryPy on the top of your list?

 What version of CherryPy is it? 1 or 2?

 If its 2, then its pure python and there's a really, really low chance
 that its provoking a hard crash w/o a traceback printing before it
 dies out. A hard crash which isn't printing an error message is
 possible in pure Python I suppose, but I've never seen it. A Bus
 error for example will kill the interpreter before it can do any
 error handling. But I've only ever seen that when interfacing with
 third party libraries.

 If its 1, there is some C so you can bump it up ... and for that I'd
 probably attempt to run the application in a console or with stdout
 manually redirected instead of relying on the logging alone, to see if
 anything useful gets put out.. like Bus error, at the time it exits.

 But why do you keep discarding the Sybase module?

 Its most definitely *not* written in python. What Philip and Tim were
 trying to tell you is you are *not* using python's functions to run
 sybase sql commands

 The Sybase module is a python wrapper around code written in C module
 which is interfacing with a third party library to talk to Sybase. Are
 you at the latest version of Sybase(0.39 if its the same module I'm
 aware of?) How about the library underneath it? FreeTDS or Sybase ASE
 (whatever that is) or whatever else is being used? A bug in /any/ of
 those C layers (notice its *multiple* layers) could propagate up and
 provoke a hard crash that Python doesn't catch. So if you look into
 those versions perhaps one has a new release that fixes bugs.

 --S

Hi,

After farther investigation and some help from other developers, we
got to the conclusion that the python process does not crash but the
program exits because cherrypy freezes and the python program has
nothing to do when the web service is not responding. My cherrypy
version is 3.0.1
Can any of you help me with cherrypy or should I ask in cherrypy
group?

Thanks

Gil
--
http://mail.python.org/mailman/listinfo/python-list


Re: Process crash with no reason

2009-02-08 Thread gil . shinar
On Jan 28, 7:37 pm, Philip Semanchuk phi...@semanchuk.com wrote:
 On Jan 28, 2009, at 12:12 PM, gil.shi...@gmail.com wrote:

  On Jan 27, 5:59 pm, Philip Semanchuk phi...@semanchuk.com wrote:
  On Jan 27, 2009, at 10:34 AM, gil.shi...@gmail.com wrote:
  On Jan 27, 2:10 pm, Tim Golden m...@timgolden.me.uk wrote:
  Then how are you interacting with Sybase?

  I'm using python's functions to run sybase sql commands.

  Can you give a short code sample? I'm unaware of how one would use  
  the
  standard Python library to talk to Sybase, unless Sybase has a raw
  socket interface or some such.

  First of all I have found the following python's import:

  import Sybase

 This isn't part of the Python standard library. It's a 3rd party  
 module -- exactly what we were looking for.

 Personally, I think this (or another C++ or C-based 3rd party module  
 that you use heavily) is your prime suspect for the origin of the  
 crashes you're having. That's not because I think the people who wrote  
 or maintain it are bad or lazy coders. In fact, it's no reflection on  
 their skill at all. It's just that a lot more people have used and  
 exercised the Python standard library modules. A 3rd party module like  
 this one will be less well-used and therefore less well-tested and  
 therefore more likely to contain a bug that causes a crash.

 That said, I don't know how to advise you to proceed from here. You  
 could perhaps turn on logging at the database level. I know Postgres,  
 for instance, can write very detailed logs and so if you get a crash  
 at 9:33:22 you can look in the log and see what was happening at that  
 time. If you get several crashes and they all happen when a certain  
 SQL statement is being executed, that's probably the culprit.

 You could also alter the Sybase module to add logging using Python's  
 logging module. Who knows, it might already be there, waiting to be  
 turned on with a switch.

 But I'm jumping the gun a little. As I said, it could be this module  
 or another that's causing your problem. It's a lot easier to cause a  
 hard crash using C or C++ than it is using pure Python, so pure Python  
 modules would be lower on my list of suspects. Enumerate all of the  
 modules you're using and find out where they come from. Any of them  
 that are not in the standard library and are not written in pure  
 Python should top your list of suspects.

 Good luck
 Philip

Thanks a lot and sorry for the late response. My main suspect is the
CherryPy.
I'm still investigating it.

Gil
--
http://mail.python.org/mailman/listinfo/python-list


Re: Process crash with no reason

2009-01-28 Thread gil . shinar
On Jan 27, 5:59 pm, Philip Semanchuk phi...@semanchuk.com wrote:
 On Jan 27, 2009, at 10:34 AM, gil.shi...@gmail.com wrote:



  On Jan 27, 2:10 pm, Tim Golden m...@timgolden.me.uk wrote:
  gil.shi...@gmail.com wrote:
  On Jan 26, 8:40 pm, Philip Semanchuk phi...@semanchuk.com wrote:
  On Jan 26, 2009, at 1:13 PM, gil.shi...@gmail.com wrote:

  Hi All,
  I'm running a program that is acting as a nice interface to  
  sybase'
  replication server. The program is using the cherrypy web  
  service for
  the GUI. The process is crashing every few days with no reason.  
  In the
  log I can see INFO and DEBUG (No ERROR) log lines and I do not  
  get any
  TraceBack python's message. This program is running on solaris 9
  machine.
  Where can I see or what can I do in order to find out what  
  causes the
  process to crash?
  I have tried simulating a traceBack message and I could see this
  traceback message in one of the log files I'm using. When the  
  process
  crashes without my help, I don't have a clue.
  Let me know if you need any other info
  Although Python isn't immune to fatal errors like you describe, I'd
  immediately suspect a 3rd-party module instead, esp. one written  
  in C
  or C++. Are you using anything like that?

  No I do not.

  Then how are you interacting with Sybase?

  I'm using python's functions to run sybase sql commands.

 Can you give a short code sample? I'm unaware of how one would use the  
 standard Python library to talk to Sybase, unless Sybase has a raw  
 socket interface or some such.

First of all I have found the following python's import:

import Sybase


To connect the sybase server we are using the following function:

def _getConnection (self):
db = Sybase.connect(self.dbs, self.login[0], self.login
[1], datetime='auto')
return db


To execute a DBS query, we are using the following function:

def _executeQuery(self, cursor, query, expected_result=None):
try:
self.logger.debug('Executing query:' + query +
', expected:' + str(expected_result))
cursor.execute(query)
except Sybase.DatabaseError, e:
if ((expected_result != None) and (Msg  +
expected_result in str(e))):
return (DBStatus.SUCCESS,
self._getDBMsg(str(e)))
raise Sybase.DatabaseError, self._getDBMsg(str
(e))

return (DBStatus.SUCCESS, )

Do you need anything else?

Thanks a lot
--
http://mail.python.org/mailman/listinfo/python-list


Re: Process crash with no reason

2009-01-27 Thread gil . shinar
On Jan 26, 8:40 pm, Philip Semanchuk phi...@semanchuk.com wrote:
 On Jan 26, 2009, at 1:13 PM, gil.shi...@gmail.com wrote:

  Hi All,

  I'm running a program that is acting as a nice interface to sybase'
  replication server. The program is using the cherrypy web service for
  the GUI. The process is crashing every few days with no reason. In the
  log I can see INFO and DEBUG (No ERROR) log lines and I do not get any
  TraceBack python's message. This program is running on solaris 9
  machine.
  Where can I see or what can I do in order to find out what causes the
  process to crash?
  I have tried simulating a traceBack message and I could see this
  traceback message in one of the log files I'm using. When the process
  crashes without my help, I don't have a clue.
  Let me know if you need any other info

 Although Python isn't immune to fatal errors like you describe, I'd  
 immediately suspect a 3rd-party module instead, esp. one written in C  
 or C++. Are you using anything like that?

No I do not.
Is there a way to monitor who had killed my process?

Thanks
--
http://mail.python.org/mailman/listinfo/python-list


Re: Process crash with no reason

2009-01-27 Thread gil . shinar
On Jan 27, 2:10 pm, Tim Golden m...@timgolden.me.uk wrote:
 gil.shi...@gmail.com wrote:
  On Jan 26, 8:40 pm, Philip Semanchuk phi...@semanchuk.com wrote:
  On Jan 26, 2009, at 1:13 PM, gil.shi...@gmail.com wrote:

  Hi All,
  I'm running a program that is acting as a nice interface to sybase'
  replication server. The program is using the cherrypy web service for
  the GUI. The process is crashing every few days with no reason. In the
  log I can see INFO and DEBUG (No ERROR) log lines and I do not get any
  TraceBack python's message. This program is running on solaris 9
  machine.
  Where can I see or what can I do in order to find out what causes the
  process to crash?
  I have tried simulating a traceBack message and I could see this
  traceback message in one of the log files I'm using. When the process
  crashes without my help, I don't have a clue.
  Let me know if you need any other info
  Although Python isn't immune to fatal errors like you describe, I'd  
  immediately suspect a 3rd-party module instead, esp. one written in C  
  or C++. Are you using anything like that?

  No I do not.

 Then how are you interacting with Sybase?

 TJG

I'm using python's functions to run sybase sql commands.

Thanks
--
http://mail.python.org/mailman/listinfo/python-list


Re: Process crash with no reason

2009-01-27 Thread gil . shinar
On Jan 27, 5:00 pm, Philip Semanchuk phi...@semanchuk.com wrote:
 On Jan 27, 2009, at 7:00 AM, gil.shi...@gmail.com wrote:



  On Jan 26, 8:40 pm, Philip Semanchuk phi...@semanchuk.com wrote:
  On Jan 26, 2009, at 1:13 PM, gil.shi...@gmail.com wrote:

  Hi All,

  I'm running a program that is acting as a nice interface to sybase'
  replication server. The program is using the cherrypy web service  
  for
  the GUI. The process is crashing every few days with no reason. In  
  the
  log I can see INFO and DEBUG (No ERROR) log lines and I do not get  
  any
  TraceBack python's message. This program is running on solaris 9
  machine.
  Where can I see or what can I do in order to find out what causes  
  the
  process to crash?
  I have tried simulating a traceBack message and I could see this
  traceback message in one of the log files I'm using. When the  
  process
  crashes without my help, I don't have a clue.
  Let me know if you need any other info

  Although Python isn't immune to fatal errors like you describe, I'd
  immediately suspect a 3rd-party module instead, esp. one written in C
  or C++. Are you using anything like that?

  No I do not.

 But you're using CherryPy, aren't you? And as Tim Golden pointed out,  
 you're probably using another 3rd party lib to talk to Sybase. ISTR  
 that CherryPy is written in pure Python but if you have a database  
 adapter lib it probably isn't.

  Is there a way to monitor who had killed my process?

 That's more of a Solaris question than a Python one, and I don't know  
 much about Solaris. Is there a system log where Solaris records when   
 why it has killed errant processes?

Yes I am using CherryPy. One of the developers I'm working with thinks
it is a cherrypy issue. Our python process has nothing to do if
cherrypy is stuck or down. But still, it is strange that there are no
leftovers from the crashed process.
Solaris has system logs that has nothing in them about this process.

Any other suggestion will be great.

Thanks
--
http://mail.python.org/mailman/listinfo/python-list


Process crash with no reason

2009-01-26 Thread gil . shinar
Hi All,

I'm running a program that is acting as a nice interface to sybase'
replication server. The program is using the cherrypy web service for
the GUI. The process is crashing every few days with no reason. In the
log I can see INFO and DEBUG (No ERROR) log lines and I do not get any
TraceBack python's message. This program is running on solaris 9
machine.
Where can I see or what can I do in order to find out what causes the
process to crash?
I have tried simulating a traceBack message and I could see this
traceback message in one of the log files I'm using. When the process
crashes without my help, I don't have a clue.
Let me know if you need any other info

Thanks

Gil
--
http://mail.python.org/mailman/listinfo/python-list