Ticket #6 (assigned defect)

Opened 3 years ago

Last modified 7 months ago

MemoryError in Browser

Reported by: moschny Owned by: moschny
Priority: major Component: tracmtn
Version: Keywords:
Cc:

Description

This error only occurs when using the bsddb caching method.

After running a while, Trac dies with this error:

MemoryError: (12, 'Cannot allocate memory -- Lock table is out of
available locker entries')

Attachments

Change History

Changed 3 years ago by moschny

  • status changed from new to assigned
  • summary changed from !MemoryError in Browser to MemoryError in Browser

This is a known bug in the cache system. The BSD DB environment is not closed correctly, and keeps ressources allocated for each "open" connection. The total amount of "open" connection is limited however, and when the limit is reached, the said error is thrown.

Proper fixing needs a patch on the trac side, too: See  http://trac.edgewall.org/ticket/4972.

Changed 3 years ago by moschny

A workaround, until this get fixed, is to clear the cache directory's contents.

Changed 3 years ago by moschny

See also  http://trac.edgewall.org/ticket/5010 for the general problem of freeing ressources allocated by trac plugins.

Changed 2 years ago by moschny

Tried to fix that in 9bcaf1f668aa7bed82e1bcd94707614fdc92b87c, please test.

The number of current locks can be seen with the db_stat command, using the -c switch:

# db4.6_stat -c -h /var/cache/trac
...
0       Number of current locks
6       Maximum number of locks at any one time
0       Number of current lockers
10      Maximum number of lockers at any one time
0       Number of current lock objects
6       Maximum number of lock objects at any one time
272     Total number of locks requested
272     Total number of locks released
...

Add/Change #6 (MemoryError in Browser)

Author


E-mail address and user name can be saved in the Preferences.


Change Properties
<Author field>
Action
as assigned
as The resolution will be set. Next status will be 'closed'
to The owner will change from moschny. Next status will be 'new'
 
Note: See TracTickets for help on using tickets.