in trunk On Apr 5, 11:52 am, Gabriele Alberti <gabriele.albe...@gmail.com> wrote: > Hello, > I am not using connection pooling, and threaded=True is needed to > avoid segfaults. > > I dont know why this happens, my wild guess is that cx_Oracle (or its > underlying libs), when used in the same process, also if different > threads, share something between different connections, needing > locking.. > > G. > > On Apr 5, 5:45 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > perhaps I misread your original post. Your patch suggested REMOVING > > threaded=True and all I am saying is that it is not there. Are you > > saying I misread your patch and you think threaded=True SHOULD be > > there? > > > Are you using connection pooling? That may be why it is needed. > > > Massimo > > > On Apr 5, 6:23 am, Gabriele Alberti <gabriele.albe...@gmail.com> > > wrote: > > > > Hello, > > > I am sorry but I have to disagree. I dont know exactly what happens as > > > I am not into the DAL so much, but as I installed the latest version > > > (running 1.76.5 now) with no threaded argument in the cx_Oracle > > > connection I started getting back segfaults. They disappeared > > > immediately after I put the threaded=True argument.. > > > > If there's anything I can do to help, I'll be glad to. > > > > Regards, > > > > G. > > > > On Apr 5, 12:59 pm, Gabriele Alberti <gabriele.albe...@gmail.com> > > > wrote: > > > > > Hello, > > > > yes I am running 1.76.1 (2010-03-01 19:56:55); I'll try the latest and > > > > I'll let you know ASAP. > > > > > Thank you very much, > > > > > G. > > > > > On Apr 5, 5:43 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > > > > Thank you Gabriele, > > > > > > is should definitively be threaded=False and not True since web2py > > > > > does not share connection between threads. Yet, this is already the > > > > > default. You must be running an older version of web2py.You should > > > > > upgrade. > > > > > > Massimo > > > > > > On Apr 4, 11:33 am, Gabriele Alberti <gabriele.albe...@gmail.com> > > > > > wrote: > > > > > > > Hello, > > > > > > I have been using web2py with oracle since few months now. With > > > > > > small > > > > > > loads everything works fine, but when the load grows, often the > > > > > > python > > > > > > process gets killed with a segfault; after few headaches to > > > > > > understand > > > > > > what was going on, I think I spotted the problem and tried a > > > > > > solution > > > > > > that works for me. > > > > > > It seems the cx_Oracle libs when used in threaded programs (such as > > > > > > the web2py server) needs to handle some locking, as suggested in the > > > > > > cx_Oracle documentation found at > > > > > > >http://cx-oracle.sourceforge.net/html/module.html > > > > > > > [...] > > > > > > The threaded argument is expected to be a boolean expression which > > > > > > indicates whether or not Oracle should use the mode OCI_THREADED to > > > > > > wrap accesses to connections with a mutex. Doing so in single > > > > > > threaded > > > > > > applications imposes a performance penalty of about 10-15% which is > > > > > > why the default is False. > > > > > > [...] > > > > > > > I am not 100% sure this was the problem as I couldnt find a > > > > > > reasonable > > > > > > way to prove it; however, since when I applied the following patch > > > > > > (thats the only change I've made) I havent had crashes anymore. > > > > > > So this is the simple patch I used and I propose > > > > > > > --- sql.py 2010-04-04 18:18:26.000000000 +0200 > > > > > > +++ sql_orig.py 2010-04-04 18:17:38.000000000 +0200 > > > > > > @@ -964,7 +964,7 @@ > > > > > > elif self._uri[:9] == 'oracle://': > > > > > > self._dbname = 'oracle' > > > > > > self._pool_connection(lambda : \ > > > > > > - > > > > > > cx_Oracle.connect(self._uri[9:],threaded=True)) > > > > > > + cx_Oracle.connect(self._uri[9:])) > > > > > > self._cursor = self._connection.cursor() > > > > > > self._execute = lambda a: \ > > > > > > oracle_fix_execute(a,self._cursor.execute) > > > > > > > I'd like someone else to confirm this, and I really hope this can > > > > > > help. > > > > > > > Kind regards, > > > > > > > G.
-- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.