core: add some debugging to help diagnose netlink errors (rh #1029213)
This commit is contained in:
		
							parent
							
								
									de841598c4
								
							
						
					
					
						commit
						9e072a43ad
					
				| @ -19,7 +19,7 @@ Name: NetworkManager | |||||||
| Summary: Network connection manager and user applications | Summary: Network connection manager and user applications | ||||||
| Epoch: 1 | Epoch: 1 | ||||||
| Version: 0.9.9.0 | Version: 0.9.9.0 | ||||||
| Release: 15%{snapshot}%{?dist} | Release: 16%{snapshot}%{?dist} | ||||||
| Group: System Environment/Base | Group: System Environment/Base | ||||||
| License: GPLv2+ | License: GPLv2+ | ||||||
| URL: http://www.gnome.org/projects/NetworkManager/ | URL: http://www.gnome.org/projects/NetworkManager/ | ||||||
| @ -33,6 +33,7 @@ Patch3: rh1021112-fix-crash-never-default.patch | |||||||
| Patch4: rh1019021-fix-crash-ip6-routing.patch | Patch4: rh1019021-fix-crash-ip6-routing.patch | ||||||
| Patch5: rh1025007-fix-crash-ifcfg-rh.patch  | Patch5: rh1025007-fix-crash-ifcfg-rh.patch  | ||||||
| Patch6: rh1012151-ipv6-disable.patch | Patch6: rh1012151-ipv6-disable.patch | ||||||
|  | Patch7: rh1029213-debug-netlink-add-errors.patch | ||||||
| 
 | 
 | ||||||
| BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | ||||||
| 
 | 
 | ||||||
| @ -162,6 +163,7 @@ deployments. | |||||||
| %patch4 -p1 -b .patch4 | %patch4 -p1 -b .patch4 | ||||||
| %patch5 -p1 -b .patch5 | %patch5 -p1 -b .patch5 | ||||||
| %patch6 -p1 -b .patch6 | %patch6 -p1 -b .patch6 | ||||||
|  | %patch7 -p1 -b .patch7 | ||||||
| 
 | 
 | ||||||
| %build | %build | ||||||
| 
 | 
 | ||||||
| @ -360,6 +362,9 @@ fi | |||||||
| %config %{_sysconfdir}/%{name}/conf.d/00-server.conf | %config %{_sysconfdir}/%{name}/conf.d/00-server.conf | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Wed Nov 13 2013 Dan Williams <dcbw@redhat.com> - 0.9.9.0-16.git20131003 | ||||||
|  | - core: add some debugging to help diagnose netlink errors (rh #1029213) | ||||||
|  | 
 | ||||||
| * Fri Nov  8 2013 Jiří Klimeš <jklimes@redhat.com> - 0.9.9.0-15.git20131003 | * Fri Nov  8 2013 Jiří Klimeš <jklimes@redhat.com> - 0.9.9.0-15.git20131003 | ||||||
| - ifcfg-rh: fix crash in ifcfg-rh plugin when reloading connections (rh #1023571) | - ifcfg-rh: fix crash in ifcfg-rh plugin when reloading connections (rh #1023571) | ||||||
| - ifcfg-rh: fix crash when having connections with NEVER_DEFAULT (rh #1021112) | - ifcfg-rh: fix crash when having connections with NEVER_DEFAULT (rh #1021112) | ||||||
|  | |||||||
							
								
								
									
										50
									
								
								rh1029213-debug-netlink-add-errors.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								rh1029213-debug-netlink-add-errors.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,50 @@ | |||||||
|  | From 2086cab1273b26630840e3a0c092e8b1617e803b Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Dan Williams <dcbw@redhat.com> | ||||||
|  | Date: Wed, 13 Nov 2013 20:06:39 -0600 | ||||||
|  | Subject: [PATCH] platform: dump objects that fail to be added (rh #1029213) | ||||||
|  | 
 | ||||||
|  | Attempt to figure out why the objects fail. | ||||||
|  | ---
 | ||||||
|  |  src/platform/nm-linux-platform.c | 5 +++++ | ||||||
|  |  1 file changed, 5 insertions(+) | ||||||
|  | 
 | ||||||
|  | diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
 | ||||||
|  | index a35b0cc..d13abbe 100644
 | ||||||
|  | --- a/src/platform/nm-linux-platform.c
 | ||||||
|  | +++ b/src/platform/nm-linux-platform.c
 | ||||||
|  | @@ -1100,27 +1100,32 @@ refresh_object (NMPlatform *platform, struct nl_object *object, gboolean removed
 | ||||||
|  |  /* Decreases the reference count if @obj for convenience */ | ||||||
|  |  static gboolean | ||||||
|  |  add_object (NMPlatform *platform, struct nl_object *obj) | ||||||
|  |  { | ||||||
|  |  	auto_nl_object struct nl_object *object = obj; | ||||||
|  |  	NMLinuxPlatformPrivate *priv = NM_LINUX_PLATFORM_GET_PRIVATE (platform); | ||||||
|  |  	int nle; | ||||||
|  | +	struct nl_dump_params dp = {
 | ||||||
|  | +		.dp_type = NL_DUMP_DETAILS,
 | ||||||
|  | +		.dp_fd = stderr,
 | ||||||
|  | +	};
 | ||||||
|  |   | ||||||
|  |  	nle = add_kernel_object (priv->nlh, object); | ||||||
|  |   | ||||||
|  |  	/* NLE_EXIST is considered equivalent to success to avoid race conditions. You | ||||||
|  |  	 * never know when something sends an identical object just before | ||||||
|  |  	 * NetworkManager. | ||||||
|  |  	 */ | ||||||
|  |  	switch (nle) { | ||||||
|  |  	case -NLE_SUCCESS: | ||||||
|  |  	case -NLE_EXIST: | ||||||
|  |  		break; | ||||||
|  |  	default: | ||||||
|  |  		error ("Netlink error: %s", nl_geterror (nle)); | ||||||
|  | +		nl_object_dump (object, &dp);
 | ||||||
|  |  		return FALSE; | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  |  	return refresh_object (platform, object, FALSE, NM_PLATFORM_REASON_INTERNAL); | ||||||
|  |  } | ||||||
|  |   | ||||||
|  |  /* Decreases the reference count if @obj for convenience */ | ||||||
|  | -- 
 | ||||||
|  | 1.8.3.1 | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user