Can you post a bt full?
Thanks
On Wed, Aug 13, 2014 at 9:35 PM, Emmanuel Dreyfus <manu@xxxxxxxxxx> wrote:
Just in case someone has an idea why this happens: From time to time on
NetBSD, gluster randomly crashes because "this" gets replaced by process
environment. Here is an example:
#3 0xbb75afb2 in dict_get (this=0xbb140628,
key=0xbb23669a "transport.address-family") at dict.c:380
(gdb) list
375 if (!this || !key) {
376 gf_log_callingfn ("dict", GF_LOG_INFO,
377 "!this || key=%s", (key) ? key :
"()");
378 return NULL;
379 }
380 if (this->hash_size < 0) abort();
381
382 LOCK (&this->lock);
383
384 pair = _dict_lookup (this, key);
Note I added the if (this->hash_size < 0) abort(); to catch the problem early.
"this" is completely corrupted:
(gdb) print *this
$2 = {is_static = 1 '\001', hash_size = -1082130687, count = -1082130674,
refcount = -1082130649, members = 0xbf7fff2e, members_list = 0xbf7fff39,
extra_free = 0xbf7fff41 "HARNESS_VERSION=3.26",
extra_stdfree = 0xbf7fff56 "SU_FROM=root", lock = {pts_magic = 3212836707,
pts_spin = 112 'p', pts_flags = -1082130523},
members_internal = 0xbf7fffb6, free_pair = {hash_next = 0xbb185411,
prev = 0x0, next = 0x0, value = 0x0, key = 0x0},
free_pair_in_use = _gf_false}
Hex output give a better hint at the problem:
(gdb) x/10wx this
0xbb140628: 0xbf7ffeed 0xbf7fff01 0xbf7fff0e 0xbf7fff27
0xbb140638: 0xbf7fff2e 0xbf7fff39 0xbf7fff41 0xbf7fff56
0xbb140648: 0xbf7fff63 0xbf7fff70
(gdb) x/1s 0xbf7ffeed
0xbf7ffeed: "MAIL=/var/mail/root"
(gdb) x/1s 0xbf7fff01
0xbf7fff01: "BLOCKSIZE=1k"
(gdb) x/1s 0xbf7fff0e
0xbf7fff0e: "PWD=/autobuild/glusterfs"
Oddly, rebooting the machine fixes the problem.
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@xxxxxxxxxx
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-devel
_______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://supercolony.gluster.org/mailman/listinfo/gluster-devel