I'm using Apache/1.3.9 (Unix), mod_perl/1.21, Apache-Session-1.03, with
MySQL 3.22.25.  I'm using the the Apache::Session::DBI module with MySQL
to provide some simple session management.  I'm running the script as a
PerlHandler...

I'm storing the session ID as a hidden variable, which I retrieve on
subsequent calls to the script, and use it to re-open the session object
as described in the Apache::Session doc.

1 or 2 calls _after_ the intial invocation of the script, my browser
hangs.  Using the debugger, I've found where it seems to get hung up --
see below.

Is this some sort of lock blocking, or stale lock or something?  Any
help would be appreciated.

Thanks,

--kip



=-=-=-=-=-=-=-= Debugging Output =-=-=-=-=-=-=-=

  DB<1> s
Apache::Session::SysVSemaphoreLocker::acquire_read_lock(/usr/lib/perl5/site_perl/5.005/Apache/Session/SysVSemaphoreLocker.pm:50):
50:         $self->{sem}->op($self->{read_sem} + $self->{nsems}/2, 0,
SEM_UNDO,
51:                          $self->{read_sem},                    1,
SEM_UNDO);
  DB<1> s
IPC::SysV::SEM_UNDO(/usr/lib/perl5/5.00503/IPC/SysV.pm:65535):
65535:  
  DB<1> s
IPC::SysV::SEM_UNDO(/usr/lib/perl5/5.00503/IPC/SysV.pm:65535):
65535:  
  DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:88):
88:         @_ >= 4 || croak '$sem->op( OPLIST )';
  DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:89):
89:         my $self = shift;
  DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:90):
90:         croak 'Bad arg count' if @_ % 3;
  DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:91):
91:         my $data = pack("s*",@_);
  DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:92):
92:         semop($$self,$data);
  DB<1> s

       /\
       |
       |
-------|

Hangs Here...

 

Reply via email to