After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 766307 - L2TP VPN connection fails
L2TP VPN connection fails
Status: RESOLVED FIXED
Product: NetworkManager
Classification: Platform
Component: nm-applet
1.2.x
Other Linux
: Normal normal
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2016-05-12 07:56 UTC by ville.kovacs
Modified: 2016-05-13 12:05 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description ville.kovacs 2016-05-12 07:56:59 UTC
arch linux

linux 4.5.3-1
networkmanager 1.2.2-1
xl2tpd 1.3.6-1 & xl2tpd 1.3.7-1                
l2tp-ipsec-vpn 1.0.9-3
l2tp-ipsec-vpn-daemon 0.9.9-2
networkmanager-l2tp 1.2.0-1
networkmanager-pptp-gtk2 0.9.8.4-1


May 12 10:09:10 tp NetworkManager[276]: <info>  [1463036950.8578] audit: op="connection-activate" uuid="7ee94bdd-4836-452b-8f33-2d4deef39a29" name="******" pid=892 uid=1000 result="success"
May 12 10:09:10 tp NetworkManager[276]: <info>  [1463036950.8677] vpn-connection[0x1b471e0,7ee94bdd-4836-452b-8f33-2d4deef39a29,"*****",0]: Started the VPN service, PID 1049
May 12 10:09:16 tp NetworkManager[276]: <warn>  [1463036956.2091] vpn-connection[0x1b471e0,7ee94bdd-4836-452b-8f33-2d4deef39a29,"*****",0]: Timed out waiting for the service to start
May 12 10:09:16 tp NetworkManager[276]: (nm-exported-object.c:930):nm_exported_object_dispose: code should not be reached

-----

when trying to edit the vpn connection in nm-applet:

error initializing the editor - user canceled the secrets request

May 12 10:39:01 tp kernel: traps: nm-l2tp-auth-di[1384] trap int3 ip:7fb4cc3427eb sp:7ffc83a67a40 error:0
May 12 10:39:01 tp systemd[1]: Started Process Core Dump (PID 1385/UID 0).
May 12 10:39:01 tp systemd-coredump[1386]: Process 1384 (nm-l2tp-auth-di) of user 1000 dumped core.
                                           
                                           Stack trace of thread 1384:
                                           #0  0x00007fb4cc3427eb g_logv (libglib-2.0.so.0)
                                           #1  0x00007fb4cc34295f g_log (libglib-2.0.so.0)
                                           #2  0x00007fb4ca491ca1 n/a (libnm-util.so.2)
                                           #3  0x00007fb4cd9404aa n/a (n/a)
-----
Comment 1 Thomas Haller 2016-05-12 11:05:55 UTC
(In reply to ville.kovacs from comment #0)
> arch linux
> 
> linux 4.5.3-1
> networkmanager 1.2.2-1
> xl2tpd 1.3.6-1 & xl2tpd 1.3.7-1                
> l2tp-ipsec-vpn 1.0.9-3
> l2tp-ipsec-vpn-daemon 0.9.9-2
> networkmanager-l2tp 1.2.0-1
> networkmanager-pptp-gtk2 0.9.8.4-1
> 
> 
> May 12 10:09:10 tp NetworkManager[276]: <info>  [1463036950.8578] audit:
> op="connection-activate" uuid="7ee94bdd-4836-452b-8f33-2d4deef39a29"
> name="******" pid=892 uid=1000 result="success"
> May 12 10:09:10 tp NetworkManager[276]: <info>  [1463036950.8677]
> vpn-connection[0x1b471e0,7ee94bdd-4836-452b-8f33-2d4deef39a29,"*****",0]:
> Started the VPN service, PID 1049
> May 12 10:09:16 tp NetworkManager[276]: <warn>  [1463036956.2091]
> vpn-connection[0x1b471e0,7ee94bdd-4836-452b-8f33-2d4deef39a29,"*****",0]:
> Timed out waiting for the service to start
> May 12 10:09:16 tp NetworkManager[276]:
> (nm-exported-object.c:930):nm_exported_object_dispose: code should not be
> reached

there was a bug when the service times out. Just fixed:

master: https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=1ec5e0b9584a398333e5522e053f77d941fd5c4f

nm-1-2: https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=7d2458e51c639071fdc2cf6c21ca5c510a19c16f


But your issue is that the service times out in the first place. It cannot be seen from this information, why that happens.

Let's first investigate the crash below...


> when trying to edit the vpn connection in nm-applet:

the crash is not while editing the connection, is it? What exactly happens?

What crashes is nm-l2tp-auth-dialog? Could you obtain a backtrace, with debug-information installed.

> 
> error initializing the editor - user canceled the secrets request
> 
> May 12 10:39:01 tp kernel: traps: nm-l2tp-auth-di[1384] trap int3
> ip:7fb4cc3427eb sp:7ffc83a67a40 error:0
> May 12 10:39:01 tp systemd[1]: Started Process Core Dump (PID 1385/UID 0).
> May 12 10:39:01 tp systemd-coredump[1386]: Process 1384 (nm-l2tp-auth-di) of
> user 1000 dumped core.
>                                            
>                                            Stack trace of thread 1384:
>                                            #0  0x00007fb4cc3427eb g_logv
> (libglib-2.0.so.0)
>                                            #1  0x00007fb4cc34295f g_log
> (libglib-2.0.so.0)
>                                            #2  0x00007fb4ca491ca1 n/a
> (libnm-util.so.2)

it's a bit surprising, in networkmanager-l2tp,1.2.0-1 I would expect that nm-l2tp-auth-dialog links against libnm.so, and not libnm-util.so...

>                                            #3  0x00007fb4cd9404aa n/a (n/a)
> -----


Thank you
Comment 2 ville.kovacs 2016-05-12 20:44:41 UTC
(gdb) exec /usr/lib/networkmanager/nm-l2tp-auth-dialog
(gdb) run
Starting program: /usr/lib/networkmanager/nm-l2tp-auth-dialog 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

(process:16035): libnm-util-ERROR **: libnm symbols detected; Mixing libnm with libnm-util/libnm-glib is not supported

I have "options=(debug !strip)" set in network-manager-l2tp PKGBUILD. How should I proceed?
Comment 3 Thomas Haller 2016-05-12 21:19:35 UTC
An application cannot link against libnm-glib and libnm at the same time.

nm-l2tp-auth-dialog >= 1.2 should link (only) against libnm.so
nm-l2tp-auth-dialog <  1.2 should link (only) against libnm-glib.so


Did you build this yourself?

What gives 

  $ ldd /usr/lib/networkmanager/nm-l2tp-auth-dialog




Any hints from:

  LD_DEBUG=all /usr/lib/networkmanager/nm-l2tp-auth-dialog
Comment 4 ville.kovacs 2016-05-12 22:49:56 UTC
I built it using this PKGBUILD: https://aur.archlinux.org/packages/networkmanager-l2tp/ which lists libnm-glib>=1.1.0 as a dependency


$ ldd /usr/lib/networkmanager/nm-l2tp-auth-dialog

	linux-vdso.so.1 (0x00007ffe9457b000)
	libnm.so.0 => /usr/lib/libnm.so.0 (0x00007f25ab14a000)
	libnm-gtk.so.0 => /usr/lib/libnm-gtk.so.0 (0x00007f25aaf17000)
	libgtk-3.so.0 => /usr/lib/libgtk-3.so.0 (0x00007f25aa635000)
	libsecret-1.so.0 => /usr/lib/libsecret-1.so.0 (0x00007f25aa3e3000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f25aa191000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f25a9e81000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007f25a9ae0000)
	libsmime3.so => /usr/lib/libsmime3.so (0x00007f25a98b9000)
	libnss3.so => /usr/lib/libnss3.so (0x00007f25a958f000)
	libnspr4.so => /usr/lib/libnspr4.so (0x00007f25a934f000)
	libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f25a8fc9000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f25a8dc5000)
	libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f25a8bc0000)
	libgudev-1.0.so.0 => /usr/lib/libgudev-1.0.so.0 (0x00007f25a89b6000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f25a8799000)
	libgdk-3.so.0 => /usr/lib/libgdk-3.so.0 (0x00007f25a84c1000)
	libnm-glib.so.4 => /usr/lib/libnm-glib.so.4 (0x00007f25a8277000)
	libnm-util.so.2 => /usr/lib/libnm-util.so.2 (0x00007f25a8009000)
	libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f25a7dfc000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f25a7aba000)
	libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f25a78aa000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f25a76a4000)
	libcairo-gobject.so.2 => /usr/lib/libcairo-gobject.so.2 (0x00007f25a749b000)
	libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f25a716d000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f25a6f47000)
	libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f25a6d21000)
	libatk-bridge-2.0.so.0 => /usr/lib/libatk-bridge-2.0.so.0 (0x00007f25a6af2000)
	libepoxy.so.0 => /usr/lib/libepoxy.so.0 (0x00007f25a67fe000)
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f25a65e9000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f25a639d000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f25a6159000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007f25a5e55000)
	libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f25a5b47000)
	libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f25a5933000)
	libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f25a572a000)
	libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f25a54ba000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f25ab4c0000)
	libnssutil3.so => /usr/lib/libnssutil3.so (0x00007f25a528c000)
	libplc4.so => /usr/lib/libplc4.so (0x00007f25a5087000)
	libplds4.so => /usr/lib/libplds4.so (0x00007f25a4e83000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f25a4c7f000)
	librt.so.1 => /usr/lib/librt.so.1 (0x00007f25a4a77000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007f25a4861000)
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f25a464a000)
	libudev.so.1 => /usr/lib/libudev.so.1 (0x00007f25ab681000)
	libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f25a4447000)
	libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f25a423c000)
	libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f25a4031000)
	libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f25a3e2e000)
	libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f25a3c2b000)
	libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007f25a39eb000)
	libwayland-cursor.so.0 => /usr/lib/libwayland-cursor.so.0 (0x00007f25a37e3000)
	libwayland-egl.so.1 => /usr/lib/libwayland-egl.so.1 (0x00007f25a35e1000)
	libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0x00007f25a33d2000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f25a31c0000)
	libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0x00007f25a2f98000)
	libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f25a2d47000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f25a2a7c000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f25a2859000)
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f25a25b1000)
	libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007f25a2380000)
	libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f25a214b000)
	libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f25a1f47000)
	libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f25a1d3d000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f25a1b33000)
	libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f25a18c2000)
	libatspi.so.0 => /usr/lib/libatspi.so.0 (0x00007f25a1691000)
	libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f25a1415000)
	libthai.so.0 => /usr/lib/libthai.so.0 (0x00007f25a120c000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f25a0fe2000)
	libcap.so.2 => /usr/lib/libcap.so.2 (0x00007f25a0dde000)
	libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f25ab5f1000)
	libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f25a0bce000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f25a09ca000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f25a07c4000)
	libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f25a05c2000)
	libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007f25a03bd000)
	libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007f25a01ba000)
	libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007f259ffb7000)
	libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007f259fda9000)
	libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f259fba1000)
	libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007f259f99d000)
	libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f259f796000)
	libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007f259f593000)
	libgbm.so.1 => /usr/lib/libgbm.so.1 (0x00007f259f385000)
	libwayland-server.so.0 => /usr/lib/libwayland-server.so.0 (0x00007f259f173000)
	libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f259ef64000)
	libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007f259ed36000)
	libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f259eb1c000)
	libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f259e916000)
	libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f259e6ea000)
	libdatrie.so.1 => /usr/lib/libdatrie.so.1 (0x00007f259e4e2000)
	liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f259e2bc000)
	liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f259e0aa000)

LD_DEBUG=all /usr/lib/networkmanager/nm-l2tp-auth-dialog prints 200k lines, here's the tail:

     19927:	symbol=fputs;  lookup in file=/usr/lib/networkmanager/nm-l2tp-auth-dialog [0]
     19927:	symbol=fputs;  lookup in file=/usr/lib/libnm.so.0 [0]
     19927:	symbol=fputs;  lookup in file=/usr/lib/libnm-gtk.so.0 [0]
     19927:	symbol=fputs;  lookup in file=/usr/lib/libgtk-3.so.0 [0]
     19927:	symbol=fputs;  lookup in file=/usr/lib/libsecret-1.so.0 [0]
     19927:	symbol=fputs;  lookup in file=/usr/lib/libgobject-2.0.so.0 [0]
     19927:	symbol=fputs;  lookup in file=/usr/lib/libglib-2.0.so.0 [0]
     19927:	symbol=fputs;  lookup in file=/usr/lib/libc.so.6 [0]
     19927:	binding file /usr/lib/libglib-2.0.so.0 [0] to /usr/lib/libc.so.6 [0]: normal symbol `fputs' [GLIBC_2.2.5]

(process:19927): libnm-util-ERROR **: libnm symbols detected; Mixing libnm with libnm-util/libnm-glib is not supported
Comment 5 Thomas Haller 2016-05-13 11:58:37 UTC
(In reply to ville.kovacs from comment #4)
> I built it using this PKGBUILD:
> https://aur.archlinux.org/packages/networkmanager-l2tp/ which lists
> libnm-glib>=1.1.0 as a dependency
> 

that the package as a whole requires both "libnm" and "libnm-glib" may be correct, because parts from the nm-l2tp package link against libnm and other parts against libnm-glib.

But one binary cannot link against both, and in case of version 1.2, the binary /usr/lib/networkmanager/nm-l2tp-auth-dialog must link only against libnm.


Can you attach the whole output of 
  LD_DEBUG=all /usr/lib/networkmanager/nm-l2tp-auth-dialog
Comment 6 Thomas Haller 2016-05-13 12:05:59 UTC
ah, it's a bug in nm-l2tp, fixed upstream:

https://github.com/nm-l2tp/network-manager-l2tp/commit/65c0ae8d5463a437d9414c0038652fdb947ce584



Please rebuild your source (or open a downstream bug to fix it).


Note that nm-l2tp moved from it's previous location 
  https://github.com/seriyps/NetworkManager-l2tp.git
to
  https://github.com/nm-l2tp/network-manager-l2tp

so, make sure to fetch from the right repo.





I'm closing this bug now. Please fix this issue first.
If you still have a problem afterwards, please open a new bug. Thank you.