Re: Bug#734290: kfreebsd-amd64: monitor test hangs in _kqueue_thread_func()

2015-06-15 Thread Steven Chamberlain
found 734290 glib2.0/2.43.92-1
found 734290 glib2.0/2.44.1-1
tags 734290 - patch
thanks

Hi,

Robert Millan wrote:
 monitor test hangs when running the testsuite on kfreebsd-amd64 (using glibc 
 2.18).

This was introduced or exposed by:
https://git.gnome.org/browse/glib/commit/?id=548c165a9f8386af29e8bb8243d8923e0f315c2e

We can't really ignore this test failure as it seems any caller of
g_unix_mount_monitor_get() gets stuck in the g_cond_wait() loop.

| ...
| #2  0x00080108426c in g_cond_wait (cond=cond@entry=0x800b9f250 
mount_monitor_group+16, mutex=mutex@entry=0x800b9f248 mount_monitor_group+8)
| at /home/steven/glib2.0-2.44.1/./glib/gthread-posix.c:767
| _g_boolean_var_ = optimized out
| status = optimized out
| #3  0x00080085dbe3 in g_context_specific_group_request_state 
(group=0x800b9f240 mount_monitor_group, requested_state=optimized out, 
| requested_func=optimized out) at 
/home/steven/glib2.0-2.44.1/./gio/gcontextspecificgroup.c:157
| No locals.

153   /* we only block for positive transitions */
154   if (requested_state)
155 {
156   while (group-requested_state != group-effective_state)
157 g_cond_wait (group-cond, group-lock);

| #4  0x00080085dca3 in g_context_specific_group_get 
(group=group@entry=0x800b9f240 mount_monitor_group, type=optimized out, 
| context_offset=context_offset@entry=24, 
start_func=start_func@entry=0x8008c03a0 mount_monitor_start)
| at /home/steven/glib2.0-2.44.1/./gio/gcontextspecificgroup.c:202
| css = 0x60f6b0
| context = 0x616340
| #5  0x0008008c16c8 in g_unix_mount_monitor_get () at 
/home/steven/glib2.0-2.44.1/./gio/gunixmounts.c:1557
| No locals.

1554 GUnixMountMonitor *
1555 g_unix_mount_monitor_get (void)
1556 {
1557   return g_context_specific_group_get (mount_monitor_group,
1558G_TYPE_UNIX_MOUNT_MONITOR,
1559G_STRUCT_OFFSET(GUnixMountMonitor, 
context),
1560mount_monitor_start);
1561 }

It waits there for the constructor to finish (effective_state-1).
But inside the constructor, it sets up a file monitor on /etc/fstab,
and that hangs waiting for the_volume_monitor_mutex already held
somewhere.  I'll post a stack trace of that in a followup.

I tried commenting out that mutex in gio/gunionvolumemonitor.c
and it seem to not hang any more, and pass the gio/volumemonitor tests
at least:

581 _g_mount_get_for_mount_path (const gchar  *mount_path,
582  GCancellable *cancellable)
583 {

593   if (klass-get_mount_for_mount_path)
594 {
595 //  g_rec_mutex_lock (the_volume_monitor_mutex);
596   mount = klass-get_mount_for_mount_path (mount_path, cancellable);
597 //  g_rec_mutex_unlock (the_volume_monitor_mutex);
598 }

Regards,
-- 
Steven Chamberlain
ste...@pyro.eu.org


signature.asc
Description: Digital signature


Re: Bug#788709: FTBFS on kfreebsd-* open.c:46:28: error: '__FreeBSD_version' undeclared (first use in this function)

2015-06-15 Thread Emilio Pozuelo Monfort
On 15/06/15 18:25, Steven Chamberlain wrote:
 tags 788709 + patch
 thanks
 
 Michael Biebl wrote:
 Am 14.06.2015 um 16:08 schrieb Christoph Egger:
 Steven Chamberlain ste...@pyro.eu.org writes:
 __FreeBSD_kernel_version

 I guess I knew once about this one, thanks!


 Thanks for the quick reply Christoph and Steven.
 
 You're welcome.
 
 Can you send me a (build-)tested patch for this issue? If so, I'd
 include it in the next upload.
 
 I've build-tested the attached patch.

Err, which patch? :P

 It's slightly awkward because FreeBSD itself doesn't seem to define
 __FreeBSD_kernel_version, though we should probably suggest it.
 
 Thanks,
 Regards,
 
 
 
 ___
 pkg-gnome-maintainers mailing list
 pkg-gnome-maintain...@lists.alioth.debian.org
 http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-gnome-maintainers
 


-- 
To UNSUBSCRIBE, email to debian-bsd-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/557eff62.4090...@debian.org



Re: Bug#788709: FTBFS on kfreebsd-* open.c:46:28: error: '__FreeBSD_version' undeclared (first use in this function)

2015-06-15 Thread Steven Chamberlain
Emilio Pozuelo Monfort wrote:
 Steven Chamberlain wrote:
  I've build-tested the attached patch.
 
 Err, which patch? :P

Sorry, this one!

Regards,
-- 
Steven Chamberlain
ste...@pyro.eu.org
From: Steven Chamberlain ste...@pyro.eu.org
Date: Mon, 15 Jun 2015 17:09:49 +0100

Support GNU/kFreeBSD by using __FreeBSD_kernel_version here,
rather than simply __FreeBSD_version (which is only defined in
FreeBSD itself).

--- a/sysdeps/freebsd/open.c
+++ b/sysdeps/freebsd/open.c
@@ -43,6 +43,10 @@
 	server-real_ncpu = ncpus - 1;
 	server-ncpu = MIN(GLIBTOP_NCPU - 1, server-real_ncpu);
 
+#if defined(__FreeBSD__)
 	server-os_version_code = __FreeBSD_version;
+#else
+	server-os_version_code = __FreeBSD_kernel_version;
+#endif
 
 }


signature.asc
Description: Digital signature


Re: Bug#788709: FTBFS on kfreebsd-* open.c:46:28: error: '__FreeBSD_version' undeclared (first use in this function)

2015-06-15 Thread Steven Chamberlain
tags 788709 + patch
thanks

Michael Biebl wrote:
 Am 14.06.2015 um 16:08 schrieb Christoph Egger:
  Steven Chamberlain ste...@pyro.eu.org writes:
  __FreeBSD_kernel_version
  
  I guess I knew once about this one, thanks!
  
 
 Thanks for the quick reply Christoph and Steven.

You're welcome.

 Can you send me a (build-)tested patch for this issue? If so, I'd
 include it in the next upload.

I've build-tested the attached patch.

It's slightly awkward because FreeBSD itself doesn't seem to define
__FreeBSD_kernel_version, though we should probably suggest it.

Thanks,
Regards,
-- 
Steven Chamberlain
ste...@pyro.eu.org


signature.asc
Description: Digital signature