Bug 6009 - You have to double install FTP to make it work
Summary: You have to double install FTP to make it work
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: i586 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Thierry Vignaud
QA Contact:
URL:
Whiteboard: MGA2TOO 3alpha2
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2012-05-21 17:16 CEST by William Kenney
Modified: 2012-10-17 17:44 CEST (History)
5 users (show)

See Also:
Source RPM: drakwizard-base
CVE:
Status comment:


Attachments

Description William Kenney 2012-05-21 17:16:51 CEST
MCC - Software Management -> install drakwizard
Restart MCC
MCC -> Sharing -> Configure FTP

Easy to follow the bouncing ball install but ends
up with an install failed message, and it does.
Do it again and it installs just fine.

Sorry a little late reporting this but I thought
I was doing something wrong.
Comment 1 Derek Jennings 2012-05-22 14:42:07 CEST
Yes. I see the same problem. It appears the problem is because the Proftpd service is not completely started when the wizard tests for success. The next time the wizard is run the service is already started so the test succeeds.


Looking at /usr/lib/perl5/vendor_perl/5.12.3/MDK/Wizard/Proftpd.pm at the end of the file the Proftpd service is started by a call to services::start('proftpd')
Immediately after a check is made on the existence of the pid.

To prove it is a timing issue, if a put a delay in before testing then the wizard works first time.

From line number 322

    if (services::is_service_running('proftpd')) {
        services::restart('proftpd');
    } else {
        services::start('proftpd');
    }
    sleep 2;
    check_started('proftpd');
}

1;

CC: (none) => derekjenn

Comment 2 Derek Jennings 2012-05-22 16:36:51 CEST
I think I may have a proper fix.

In /usr/lib/perl5/vendor_perl/5.12.3/MDK/Wizard/Wizcommon.pm around line 46

sub check_started {
  my ($service) = @_;
#  my ($isrunning) = chomp_(`pidof $service`) =~ /(\d+)/m;
  my ($isrunning) = services::is_service_running('$service');
  if (!$isrunning) {
    return 'error_end';
  }
}

This bug probably affects all the other wizards too since they all have similar status checks.
Comment 3 William Kenney 2012-05-22 17:08:45 CEST
Thanks for all your work

Makes me feel good that we found something
that looks insignificant but effects lots
of things other then the FTP install.
Remco Rijnders 2012-05-24 09:35:24 CEST

CC: (none) => mageia, remco

Comment 4 Colin Guthrie 2012-05-24 10:28:59 CEST
Yeah this is likely due to the non-blocking mode put into service starting (which is needed to avoid transaction deadlocks when run at boot.

There are a couple cases where blocking is needed in the UI, so I guess we need to ensure we only use non-blocking mode on boot :s
Comment 5 Marja Van Waes 2012-05-26 13:06:11 CEST
Hi,

This bug was filed against cauldron, but we do not have cauldron at the moment.

Please report whether this bug is still valid for Mageia 2.

Thanks :)

Cheers,
marja

Keywords: (none) => NEEDINFO

Comment 6 Derek Jennings 2012-05-26 13:53:06 CEST
Still valid for Mageia 2

Version: Cauldron => 2

Sander Lepik 2012-05-26 14:31:21 CEST

Keywords: NEEDINFO => (none)
CC: (none) => sander.lepik

Comment 7 William Kenney 2012-05-26 15:54:05 CEST
Ya, I would say it's still valid for M2
Manuel Hiebel 2012-09-02 13:17:09 CEST

Keywords: (none) => PATCH
Component: Installer => RPM Packages
Assignee: bugsquad => thierry.vignaud
Source RPM: Proftp => drakwizard-base

Comment 8 William Kenney 2012-10-15 17:38:26 CEST
This bug is still valid for me in M3A2 on
10/15/12 using boot.iso 10/02/12 32-bit
claire robinson 2012-10-15 18:08:30 CEST

Whiteboard: (none) => 3alpha2

claire robinson 2012-10-15 18:08:45 CEST

Version: 2 => Cauldron
Whiteboard: 3alpha2 => MGA2TOO 3alpha2

Florian Hubold 2012-10-15 20:36:13 CEST

CC: (none) => doktor5000

Comment 9 Thierry Vignaud 2012-10-17 17:44:18 CEST
Applied to SVN after fixing it

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.