[mod_python] session variable value (partially) dissapearing

Graham Dumpleton graham.dumpleton at gmail.com
Tue Mar 27 18:23:03 EST 2007


Only suggestion is to doubly make sure that you are doing the required
req.session.save() before the request actually returns. If you are
using:

  raise apache.SERVER_RETURN, apache.OK

or similar mechanisms whereby you are using exceptions to jump back up
calling stack in non error conditions, ensure you have try/finally
block where save is being done in finally block.

You might log a message at every point you do a save to ensure it is
always happening as you expect.

You might also try FileSession instead of DBMSession. See
documentation for PythonOption to override which storage mechanism is
used. This will indicate whether it is just somehow DBM database or
all storage mechanisms.

BTW, you aren't every performing an unlock() of session at any point are you?

Graham

On 28/03/07, Detmar Meurers <dm at ling.ohio-state.edu> wrote:
> Hi,
>
> I'm experiencing some strange behavior with mod_python sessions
> (using the mod_python Session module, which in my setup seems to use
> dbm). I'm using Apache/2.2.0 (Unix) mod_ssl/2.2.0 OpenSSL/0.9.8b DAV/2
> mod_python/3.3.1 Python/2.4.2 on an Intel Mac (mpm-prefork).
>
> I can store information in the session variable, which I've stored
> under req.session, just fine, e.g.
>
> req.session['rememberme'] = 'foobar'
>
> but for some reason in situations I haven't been able to pin down
> yet, when I store more complex information, e.g. a dictionary such as
>
> req.session['rememberme'] = {'name' : 'john',
>                              'address': {'road': 'high st',
>                                          'nr': 22}}
>
> then often times part of that dictionary value has disappeared when
> I look it up again in a later page, e.g. I get a dictionary
> containing only the key 'name' instead of both keys. I unfortunately
> haven't been able to pin it down further yet (apart from observing
> that it seems to appear primarily (?) in situations involving AJAX
> POST calls).
>
> Has someone has seen something like this before? Any hints on what
> can cause the disappearance of part of a session variable value? Or
> perhaps it for some reason doesnn't read in the session variable
> properly in some of the mod_python processes running? Any hints
> would be much appreciated!
>
> Best,
> Detmar
>
> --
> Detmar Meurers, Associate Professor, Dept. of Linguistics, OSU
> 201a Oxley Hall, 1712 Neil Avenue, Columbus OH 43210-1298, USA
> http://ling.osu.edu/~dm/                 GnuPG key on web page
> _______________________________________________
> Mod_python mailing list
> Mod_python at modpython.org
> http://mailman.modpython.org/mailman/listinfo/mod_python
>


More information about the Mod_python mailing list