Hi, here's my create table:

mysql> show create table parametrivaloriplc;
+--------------------+-----------------------------------------+
| Table              | Create Table                            |
+--------------------+-----------------------------------------+
| parametrivaloriplc | CREATE TABLE `parametrivaloriplc` (
  `idParametroPLC` int(11) NOT NULL auto_increment,
  `name` varchar(100) NOT NULL default '',
  `idDataType` int(11) NOT NULL default '0',
  `unit` varchar(20) default NULL,
  `molt` int(11) default NULL,
  `div` int(11) default NULL,
  `accesso` char(3) NOT NULL default '',
  `idCategoriaParametriPLC` int(11) NOT NULL default '0',
  `max` int(11) default NULL,
  `min` int(11) default NULL,
  `idParametroPadre` int(11) default NULL,
  `idParametroMax` int(11) default NULL,
  `idParametroMin` int(11) default NULL,
  `invalidable` tinyint(1) default NULL,
  `id_centralina` int(10) unsigned NOT NULL default '0',
  `valore` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`idParametroPLC`)
) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC |
+--------------------+-----------------------------------------+
1 row in set (0.00 sec)

Tonight i had the following unexpected restart, may it be caused by the
high value of bdb_max_lock?

---------------
mysqld got signal 11;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose
the problem, but since we have already crashed, something is definitely
wrong
and this may fail.

key_buffer_size=8388600
read_buffer_size=131072
max_used_connections=12
max_connections=100
threads_connected=2
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections
= 225791 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x9964008
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
Cannot determine thread, fp=0xae3fa304, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x813198c
0x8a07c8
0x82770aa
0x82770aa
0x827651c
0x8276adb
0x824ee13
0x824f6d2
0x824fb82
0x81b6566
0x81a8bac
0x81855fa
0x814514a
0x8148dfa
0x8149638
0x814a263
0x814ab5a
0x89a341
0x71a6fe
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://dev.mysql.com/doc/mysql/en/Using_stack_trace.html and
follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x996d548 = delete from parametrivaloriplc where
id_centralina=343
thd->thread_id=1
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Memory status:
Non-mmapped space allocated from system: 6262784
Number of free chunks:                   18
Number of fastbin blocks:                0
Number of mmapped regions:               11
Space in mmapped regions:                86974464
Maximum total allocated space:           0
Space available in freed fastbin blocks: 0
Total allocated space:                   5625120
Total free space:                        637664
Top-most, releasable space:              133336
Estimated memory (with thread stack):    93433856

Number of processes running now: 0
051209 01:00:31  mysqld restarted
051209  1:00:32  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
051209  1:00:33  InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 52400171.
InnoDB: Doing recovery: scanned up to log sequence number 0 52400171
051209  1:00:33  InnoDB: Flushing modified pages from the buffer pool...
051209  1:00:33  InnoDB: Started; log sequence number 0 52400171
051209  1:00:33 [Warning] Can't open and lock time zone table: Table
'mysql.time_zone_leap_second' doesn't exist trying to live without them
/usr/libexec/mysqld: ready for connections.
Version: '4.1.12'  socket: '/var/lib/mysql/mysql.sock'  port: 3306 
Source distribution
------------------------------


More details about my environment follows:

# cat /proc/version
Linux version 2.6.9-22.0.1.ELsmp ([EMAIL PROTECTED]) (gcc version
3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Thu Oct 27 13:14:25 CDT 2005

# mysql --version
mysql  Ver 14.7 Distrib 4.1.12, for redhat-linux-gnu (i686) using
readline 4.3

# cat /etc/init.d/mysqld
 /usr/bin/mysqld_safe  --defaults-file=/etc/my.cnf
--pid-file="$mypidfile" -O bdb_max_lock=120000 >/dev/null 2>&1 &

# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


# ps aux|grep mysqld
root     12811  0.0  0.0  5420 1080 ?        S    Nov30   0:00 /bin/sh
/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf
--pid-file=/var/run/mysqld/mysqld.pid -O bdb_max_lock=120000
mysql     9184 33.6  3.3 179136 70148 ?      Sl   01:00 177:45
/usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr
--datadir=/var/lib/mysql --user=mysql
--pid-file=/var/run/mysqld/mysqld.pid --skip-locking
--socket=/var/lib/mysql/mysql.sock -O bdb_max_lock=120000


Any hint?


Thank you,
Marco



Jim Winstead wrote:

>On 12/7/05, Marco Baroetto <[EMAIL PROTECTED]> wrote:
>  
>
>>Hi,
>>I have a berkeley db table containing about 50000 rows where I do this
>>transaction (pseudocode follows):
>>
>>begin work
>>delete from mytable where myfield='boo' /*delete about 100 rows*/
>>for (i=0; i<=100; i++){
>>insert into mytable values(...);
>>}
>>commit
>>
>>During the insert command i get the following error:
>>"Lock table is out of available locks"
>>
>>I tried to resolve the problem starting mysqld with -O
>>bdb_max_lock=60000  and later with -O bdb_max_lock=120000 but i still
>>receive the same error.
>>    
>>
>
>Hi Marco.
>
>What does 'SHOW CREATE TABLE' look like for your table?
>
>You may want to file a bug about this and attach your data and the
>actual queries being run. I was not able to come up with a test case to
>reproduce this problem, but you haven't provided much information to go
>on.
>
>Jim Winstead
>MySQL Inc.
>

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to