lwinet crashes when joining a windows domain with likewise

Bug #277492 reported by Tom Conneely
40
This bug affects 2 people
Affects Status Importance Assigned to Milestone
likewise-open (Ubuntu)
Expired
Medium
Unassigned

Bug Description

Binary package hint: likewise-open

Attempting to join a domain using

domainjoin-cli join corpX Administrator

produces this on the terminal

   Segmentation fault (core dumped)
   Joining to AD Domain: corpX
   With Computer DNS Name: tomlaptop.corpX

Then the ubuntu crash notifier applet appeared giving the message:

    lwinet crashed with SIGSEGV in inet_pton()

ProblemType: Crash
Architecture: i386
CrashCounter: 1
DistroRelease: Ubuntu 8.10
ExecutablePath: /usr/bin/lwinet
Package: likewise-open 4.1.2982-0ubuntu1
ProcAttrCurrent: unconfined
ProcCmdline: /usr/bin/lwinet ads lookup -S
ProcEnviron:
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
Signal: 11
SourcePackage: likewise-open
StacktraceTop:
 inet_pton () from /lib/tls/i686/cmov/libc.so.6
 is_ipaddress_v4 () from /usr/bin/lwinet
 is_ipaddress () from /usr/bin/lwinet
 ?? () from /usr/bin/lwinet
 ?? () from /usr/bin/lwinet
Title: lwinet crashed with SIGSEGV in inet_pton()
Uname: Linux 2.6.27-4-generic i686
UserGroups: adm admin audio cdrom fax fuse lpadmin plugdev sambashare

Tags: apport-crash
Revision history for this message
Tom Conneely (tom-conneely) wrote :
Revision history for this message
Apport retracing service (apport) wrote : Symbolic stack trace

StacktraceTop:inet_pton () from /lib/tls/i686/cmov/libc.so.6
is_ipaddress_v4 (str=0x0) at lib/util_sock.c:33
is_ipaddress (str=0x0) at lib/util_sock.c:72
internal_resolve_name (name=0x0, name_type=28, sitename=0x0, return_iplist=0xbfa762cc,
get_dc_list (domain=0x0, sitename=0x0, ip_list=0xbfa76450, count=0xbfa76454,

Revision history for this message
Apport retracing service (apport) wrote : Symbolic threaded stack trace
Changed in likewise-open:
importance: Undecided → Medium
Revision history for this message
Thierry Carrez (ttx) wrote :

There might be a case where get_sorted_dc_list can be called with null arguments, resulting in the SIGSEGV.
In samba/source/libads/ldap.c (function ads_find_dc) :

-----------------------------------------------------------
if ( !got_realm && !lp_disable_netbios() ) {
  c_realm = ads->server.workgroup;
  if (!c_realm || !*c_realm) {
    if ( use_own_domain )
      c_realm = lp_workgroup();
  }
  if ( !c_realm || !*c_realm ) {
    DEBUG(0,("ads_find_dc: no realm or workgroup! Don't know what to do\n"));
    return NT_STATUS_INVALID_PARAMETER; /* rather need MISSING_PARAMETER ... */
  }
}
realm = c_realm;
[...]
status = get_sorted_dc_list(realm, sitename, &ip_list, &count, got_realm);
-----------------------------------------------------------

The catch for the case *c_realm=null is inside the "if ( !got_realm && !lp_disable_netbios() )" test so if *c_realm=null, got_realm is false and lp_disable_netbios() is true, you get SIGSEGV down the line...

Revision history for this message
Gerald Carter (coffeedude.jerry) wrote : Re: [Bug 277492] Re: lwinet crashes when joining a windows domain with likewise

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hey Theirry,

I'll review your comments today and get back to you soon.

jerry

Thierry Carrez wrote:
> There might be a case where get_sorted_dc_list can be called with null arguments, resulting in the SIGSEGV.
> In samba/source/libads/ldap.c (function ads_find_dc) :
>
> -----------------------------------------------------------
> if ( !got_realm && !lp_disable_netbios() ) {
> c_realm = ads->server.workgroup;
> if (!c_realm || !*c_realm) {
> if ( use_own_domain )
> c_realm = lp_workgroup();
> }
> if ( !c_realm || !*c_realm ) {
> DEBUG(0,("ads_find_dc: no realm or workgroup! Don't know what to do\n"));
> return NT_STATUS_INVALID_PARAMETER; /* rather need MISSING_PARAMETER ... */
> }
> }
> realm = c_realm;
> [...]
> status = get_sorted_dc_list(realm, sitename, &ip_list, &count, got_realm);
> -----------------------------------------------------------
>
> The catch for the case *c_realm=null is inside the "if ( !got_realm &&
> !lp_disable_netbios() )" test so if *c_realm=null, got_realm is false
> and lp_disable_netbios() is true, you get SIGSEGV down the line...
>

- --
=====================================================================
Samba ------- http://www.samba.org
Likewise Software --------- http://www.likewisesoftware.com
"What man is a man who does not make the world better?" --Balian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFI61u4IR7qMdg1EfYRAgjZAKDzZDs599952Nd9YK5lEr/J8MK+nwCgut5b
7yYy84BlnfkZ9RGOSwAuvYo=
=D1QT
-----END PGP SIGNATURE-----

Thierry Carrez (ttx)
Changed in likewise-open:
status: New → Confirmed
Revision history for this message
Bryan Quigley (bryanquigley) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. We are sorry that we do not always have the capacity to look at all reported bugs in a timely manner. There have been many changes in Ubuntu since that time you reported the bug and your problem may have been fixed with some of the updates.

Is this still an issue for you on Ubuntu 12.04 or above?

Changed in likewise-open (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for likewise-open (Ubuntu) because there has been no activity for 60 days.]

Changed in likewise-open (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.