linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Seyfried <stefan.seyfried@googlemail.com>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Subject: Re: [PATCH BlueZ 3/5] unit/test-queue: Add /queue/foreach_remove_all test
Date: Fri, 27 Jun 2014 10:53:58 +0200	[thread overview]
Message-ID: <53AD3126.3060909@message-id.googlemail.com> (raw)
In-Reply-To: <1400754843-4759-3-git-send-email-luiz.dentz@gmail.com>

Hi Luiz,

Am 22.05.2014 12:34, schrieb Luiz Augusto von Dentz:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> 
> This tests queue_remove_all from queue_foreach callback.

this test is broken. It always fails.

export MALLOC_CHECK_=3
export MALLOC_PERTURB_=69

seife@susi:/local/seife/src/git-repos/bluez-git> unit/test-queue 
/queue/basic: OK
/queue/foreach_destroy: OK
/queue/foreach_remove_all: Segmentation fault

in gdb:

/queue/basic: OK
/queue/foreach_destroy: OK
/queue/foreach_remove_all: 
Program received signal SIGSEGV, Segmentation fault.
queue_foreach (queue=0x55555575a140, function=0x555555554b20 <foreach_remove_all>, user_data=0x55555575a140)
    at src/shared/queue.c:206
206                     entry = tmp->next;
(gdb) bt
#0  queue_foreach (queue=0x55555575a140, function=0x555555554b20 <foreach_remove_all>, 
    user_data=0x55555575a140) at src/shared/queue.c:206
#1  0x00007ffff7b408f1 in test_case_run (tc=0x55555575a260) at gtestutils.c:2059
#2  g_test_run_suite_internal (suite=suite@entry=0x555555759840, path=path@entry=0x7ffff7b96d5e "")
    at gtestutils.c:2120
#3  0x00007ffff7b40ab6 in g_test_run_suite_internal (suite=suite@entry=0x555555759820, 
    path=path@entry=0x7ffff7b96d5e "") at gtestutils.c:2131
#4  0x00007ffff7b40e0b in g_test_run_suite (suite=0x555555759820) at gtestutils.c:2184
#5  0x00007ffff7b40e41 in g_test_run () at gtestutils.c:1488
#6  0x00005555555549fb in main (argc=1, argv=0x7fffffffdae8) at unit/test-queue.c:109
(gdb) print tmp
$1 = (struct queue_entry *) 0x4545454545454545
(gdb) 


I noticed the build failing after trying to update openSUSE
Factory to bluez 5.20 and bisected the problem to this test.

For now I disabled the test in the openSUSE package.

Best regards,

	Stefan

> ---
>  unit/test-queue.c | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/unit/test-queue.c b/unit/test-queue.c
> index 55273e3..af7dfd3 100644
> --- a/unit/test-queue.c
> +++ b/unit/test-queue.c
> @@ -78,12 +78,33 @@ static void test_foreach_destroy(void)
>  	queue_foreach(queue, foreach_destroy, queue);
>  }
>  
> +static void foreach_remove_all(void *data, void *user_data)
> +{
> +	struct queue *queue = user_data;
> +
> +	queue_remove_all(queue, NULL, NULL, NULL);
> +}
> +
> +static void test_foreach_remove_all(void)
> +{
> +	struct queue *queue;
> +
> +	queue = queue_new();
> +	g_assert(queue != NULL);
> +
> +	queue_push_tail(queue, UINT_TO_PTR(1));
> +	queue_push_tail(queue, UINT_TO_PTR(2));
> +
> +	queue_foreach(queue, foreach_remove_all, queue);
> +}
> +
>  int main(int argc, char *argv[])
>  {
>  	g_test_init(&argc, &argv, NULL);
>  
>  	g_test_add_func("/queue/basic", test_basic);
>  	g_test_add_func("/queue/foreach_destroy", test_foreach_destroy);
> +	g_test_add_func("/queue/foreach_remove_all", test_foreach_remove_all);
>  
>  	return g_test_run();
>  }

-- 
Stefan Seyfried
Linux Consultant & Developer -- GPG Key: 0x731B665B

B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537

  reply	other threads:[~2014-06-27  8:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-22 10:33 [PATCH BlueZ 1/5] unit/test-queue: Add /queue/foreach_destroy test Luiz Augusto von Dentz
2014-05-22 10:34 ` [PATCH BlueZ 2/5] shared/queue: Fix queue_foreach not detecting queue has been destroyed Luiz Augusto von Dentz
2014-05-22 10:34 ` [PATCH BlueZ 3/5] unit/test-queue: Add /queue/foreach_remove_all test Luiz Augusto von Dentz
2014-06-27  8:53   ` Stefan Seyfried [this message]
2014-05-22 10:34 ` [PATCH BlueZ 4/5] shared/queue: Fix queue_foreach not detecting queue has changed Luiz Augusto von Dentz
2014-05-22 10:34 ` [PATCH BlueZ 5/5] shared/queue: Make queue_find default do direct match for NULL callback Luiz Augusto von Dentz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53AD3126.3060909@message-id.googlemail.com \
    --to=stefan.seyfried@googlemail.com \
    --cc=luiz.dentz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).