| Bug #17761 | Crash in rpl_ndb_multi | ||
|---|---|---|---|
| Submitted: | 28 Feb 2006 8:48 | Modified: | 8 Mar 2006 13:51 |
| Reporter: | Martin Skold | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S1 (Critical) |
| Version: | 5.1.7 | OS: | |
| Assigned to: | Pekka Nousiainen | CPU Architecture: | Any |
[3 Mar 2006 10:18]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/3420
[3 Mar 2006 10:22]
Pekka Nousiainen
more patches to come not sure if related to this bug anyway
[5 Mar 2006 21:51]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/3479
[5 Mar 2006 21:58]
Pekka Nousiainen
this apparently fixes the crash but breaks ndb_restore & other ndb api programs which need direct access to blob tables. [ do not apply this patch without next one(s) ]
[6 Mar 2006 10:17]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/3486
[8 Mar 2006 13:51]
Jon Stephens
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information
about accessing the source trees is available at
http://www.mysql.com/doc/en/Installing_source_tree.html
Additional info:
Documented feature enhancement in 5.1.8 changelog. Closed.

Description: When running ./mysql-test-run --with-ndbcluster-only --force there is a crash of master1 in rpl_ndb_multi: gdb sql/.libs/lt-mysqld mysql-test/var/master-data1/core.23430 ... (gdb) #6 0x085b69ff in NdbDictionaryImpl::invalidateObject(NdbTableImpl&, bool) ( this=0x9175e30, impl=@0x904a0e0, lock=true) at NdbDictionaryImpl.cpp:2791 2791 NdbColumnImpl& c = *impl.m_columns[i]; (gdb) #7 0x085b6a74 in NdbDictionaryImpl::invalidateObject(NdbTableImpl&, bool) ( this=0x9175e30, impl=@0x904a0e0, lock=true) at NdbDictionaryImpl.cpp:2795 2795 invalidateObject(*c.m_blobTable, false); (gdb) #8 0x085ab267 in NdbDictionary::Dictionary::invalidateTable(char const*) ( this=0x9175e30, name=0x9189190 "gis_point") at NdbDictionary.cpp:1375 1375 m_impl.invalidateObject(* t); (gdb) #9 0x083c8a90 in ndbcluster_table_exists_in_engine(THD*, char const*, char const*) (thd=0x914cc88, db=0x91890e0 "test", name=0x9189190 "gis_point") at ha_ndbcluster.cc:5388 5388 dict->invalidateTable(name); (gdb) #10 0x083ca062 in ndbcluster_find_files(THD*, char const*, char const*, char const*, bool, List<char>*) (thd=0x914cc88, db=0x91890e0 "test", path=0x40606f4c "./test/", wild=0x0, dir=false, files=0x40606e8c) at ha_ndbcluster.cc:5710 5710 if (ndbcluster_table_exists_in_engine(thd, db, file_name) == 0) (gdb) #11 0x08301b92 in ha_find_files(THD*, char const*, char const*, char const*, bool, List<char>*) (thd=0x914cc88, db=0x91890e0 "test", path=0x40606f4c "./test/", wild=0x0, dir=false, files=0x40606e8c) at handler.cc:2579 2579 error= ndbcluster_find_files(thd, db, path, wild, dir, files); (gdb) #12 0x0832621f in mysql_find_files(THD*, List<char>*, char const*, char const*, char const*, bool) (thd=0x914cc88, files=0x40606e8c, db=0x91890e0 "test", path=0x40606f4c "./test/", wild=0x0, dir=false) at sql_show.cc:492 492 VOID(ha_find_files(thd,db,path,wild,dir,files)); (gdb) #13 0x0832bcb2 in get_all_tables(THD*, st_table_list*, Item*) (thd=0x914cc88, tables=0x9187768, cond=0x0) at sql_show.cc:2377 2377 if (mysql_find_files(thd, &files, base_name, (gdb) #14 0x08335888 in get_schema_tables_result(JOIN*) (join=0x9187c68) at sql_show.cc:4663 4663 if (table_list->schema_table->fill_table(thd, table_list, How to repeat: ./mysql-test-run --with-ndbcluster-only --force Suggested fix: Remove BLOB tables from dictionary cache and only store them directly under the owning table.