SIGBUS in bbcombotest
Hi,
I'm trying to use bbcombotest :
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where
[1] _libc_kill(0x0, 0x6, 0x0, 0xffffffff, 0x37f20, 0xff1358a0), at
0xff19fc14
[2] abort(0xff1bc008, 0x0, 0x0, 0x0, 0x220f8, 0x187fc), at 0xff135984
=>[3] sigsegv_handler(signum = ???) (optimized), at 0x18834 (line
~57) in "sig.c"
[4] sigacthandler(0xa, 0x0, 0xffbe1fd0, 0x0, 0xffbe2a55, 0x2e), at
0xff19ec38
---- called from signal handler with signal 10 (SIGBUS) ------
[5] t_splay(0x319a8, 0x7987c, 0x10, 0x7c, 0x73, 0x7c), at 0xff142974
[6] t_delete(0x319a8, 0xff1bc008, 0x0, 0x319a4, 0x39c88,
0xfffffffc), at 0xff1427d8
[7] realfree(0x319a0, 0xff1c2858, 0xff1bc008, 0x319a4, 0xffffffff,
0x319ac), at 0xff1423dc
[8] cleanfree(0x0, 0xff1bc008, 0xff1c27cc, 0xff1c284c, 0xff1c27cc,
0x0), at 0xff142cb0
[9] _malloc_unlocked(0x4, 0x7a34c, 0xff1bc008, 0x8, 0x22300, 0x0),
at 0xff141de4
[10] malloc(0x4, 0xffbe2a5c, 0x73000000, 0x7efefeff, 0x81010100,
0xff00), at 0xff141cd8
[11] strdup(0xffbe2a56, 0xff1bc008, 0x319ac, 0xff1bc008, 0x22300,
0xff142b64), at 0xff14f56c
[12] xstrdup(s = ???) (optimized), at 0x15380 (line ~172) in
"memory.c"
[13] gettname(spec = ???) (optimized), at 0x12a18 (line ~72) in
"bbcombotest.c"
[14] evaluate(symbolicexpr = ???, resultexpr = ???, valuelist
= ???, errbuf = ???) (optimized), at 0x13464 (line ~288) in
"bbcombotest.c"
[15] update_combotests(showeval = ???, cleanexpr = ???)
(optimized), at 0x13800 (line ~396) in "bbcombotest.c"
[16] main(argc = ???, argv = ???) (optimized), at 0x13b2c (line
~471) in "bbcombotest.c"
Any idea ?
*** bbcombotest.c.orig Fri May 19 14:02:54 2006 --- bbcombotest.c Wed Jul 5 15:43:22 2006
*** 69,77 ****
/* grab the testname part from a "www.xxx.com.testname"
string */ p = strrchr(spec, '.'); ! if (p) result = strdup(p+1); else result = "";
! return result; }
static void flush_valuelist(value_t *head) --- 69,81 ----
/* grab the testname part from a "www.xxx.com.testname"
string */ p = strrchr(spec, '.'); ! if (p) { ! result = strdup(p); ! } ! else ! result = "";
! return result+1; }
static void flush_valuelist(value_t *head)
This patch is wrong; in some circumstances it will assign "result" to an empty string, and then return a pointer that is past the end of the empty string.
Could you provide me with an example of what you have in the bbcombotest.cfg file that triggers this problem ?
Regards,
Henrik
On Wed, Jul 05, 2006 at 03:44:33PM +0200, Nicolas Dorfsman wrote:
*** bbcombotest.c.orig Fri May 19 14:02:54 2006 --- bbcombotest.c Wed Jul 5 15:43:22 2006
*** 69,77 ****
/* grab the testname part from a "www.xxx.com.testname"string */ p = strrchr(spec, '.'); ! if (p) result = strdup(p+1); else result = "";
! return result; }
static void flush_valuelist(value_t *head) --- 69,81 ----
/* grab the testname part from a "www.xxx.com.testname"string */ p = strrchr(spec, '.'); ! if (p) { ! result = strdup(p); ! } ! else ! result = "";
! return result+1; }
static void flush_valuelist(value_t *head)
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk
-- Henrik Storner
Le 5 juil. 06 à 16:21, Henrik Stoerner a écrit :
This patch is wrong; in some circumstances it will assign "result"
to an empty string, and then return a pointer that is past the end of the empty string.
Correct. I did it quick.
Could you provide me with an example of what you have in the bbcombotest.cfg file that triggers this problem ?
(c92-dc200.dns||c92-dc220.dns||c92-dc221.dns)
The problem is the "p+1" which may abort in SIGBUS.
Nicolas
On Wed, Jul 05, 2006 at 04:43:52PM +0200, Nicolas Dorfsman wrote:
Could you provide me with an example of what you have in the bbcombotest.cfg file that triggers this problem ?
(c92-dc200.dns||c92-dc220.dns||c92-dc221.dns)
This is wrong. When you have dashes in the hostnames, they need to be escaped with a backslash. So:
(c92\-dc200.dns||c92\-dc220.dns||c92\-dc221.dns)
Regards, Henrik
Didn't see this mentioned anywhere.
Hobbit version 4.2-alfa-20060502
With the following log the order of entries in localclient.cfg is important if you use a regex for the match.
Jul 5 09:20:01 wombat scsi: [ID 107833 kern.warning] WARNING: /pci at 1f,2000/fibre-channel at 1/sd at 1,0 (sd287): Jul 5 09:20:01 wombat Error for Command: Error Level: Informational
This causes the yellow page with a single yellow dot, as expected.
LOG /var/adm/messages %(?-i)WARNING COLOR=yellow GROUP=root LOG /var/adm/messages IGNORE=%(?-i)Informational "Error Level" COLOR=red
This causes a red page with a single yellow dot.
LOG /var/adm/messages %(?-i)WARNING COLOR=yellow GROUP=root LOG /var/adm/messages IGNORE=%(?-i)Informational %(?-i)Error.Level COLOR=red
Altering the order to have the red check first causes the expected yellow page to show.
Jason
On Wed, Jul 05, 2006 at 09:33:20AM -0500, Kruse, Jason K. wrote:
Hobbit version 4.2-alfa-20060502
With the following log the order of entries in localclient.cfg is important if you use a regex for the match.
This turned out to be a bug in the log handling code. Fixed now.
Regards, Henrik
participants (3)
-
henrik@hswn.dk
-
jason.kruse@teldta.com
-
ndo@unikservice.com