LBRY installer must detect running daemon #298

Closed
opened 2017-06-28 00:18:24 +02:00 by tzarebczan · 9 comments
tzarebczan commented 2017-06-28 00:18:24 +02:00 (Migrated from github.com)

The Issue

Under certain conditions (have not reproduced successfully), the daemon is not updated on an existing Windows installation. I was on 0.12.2RC2 with 0.13RC1 daemon. I then ran the RC7 exe file. After running LBRY, the daemon stayed at 0.13RC1 - I confirmed that the daemon wasn't updated in the Program Files directory. In this particular instance,

Do we check if the daemon is running during install, or only lbry.exe?

Steps to reproduce

  1. Install 0.12.2RC2, run lbry
  2. Download 0.12.2RC7, install update. Lbry may or may not have been closed at this point.
  3. Lbry updates, but daemon still at old version. Not sure if daemon was running during update.

Expected behaviour

Daemon should be updated

Actual behaviour

Daemon exe file was left untouched

System Configuration

  • LBRY Daemon version: 0.13.1RC1
  • LBRY App version: 0.12.2RC2/0.12.2.RC7
  • LBRY Installation ID:
  • Operating system: Windows 7

Anything Else

Screenshots

## The Issue Under certain conditions (have not reproduced successfully), the daemon is not updated on an existing Windows installation. I was on 0.12.2RC2 with 0.13RC1 daemon. I then ran the RC7 exe file. After running LBRY, the daemon stayed at 0.13RC1 - I confirmed that the daemon wasn't updated in the Program Files directory. In this particular instance, Do we check if the daemon is running during install, or only lbry.exe? ### Steps to reproduce 1. Install 0.12.2RC2, run lbry 2. Download 0.12.2RC7, install update. Lbry may or may not have been closed at this point. 3. Lbry updates, but daemon still at old version. Not sure if daemon was running during update. ### Expected behaviour Daemon should be updated ### Actual behaviour Daemon exe file was left untouched ## System Configuration <!-- For the app, this info is in the About section at the bottom of the Help page. You can include a screenshot instead of typing it out --> <!-- For the daemon, run: curl 'http://localhost:5279/lbryapi' --data '{"method":"version"}' and include the full output --> - LBRY Daemon version: 0.13.1RC1 - LBRY App version: 0.12.2RC2/0.12.2.RC7 - LBRY Installation ID: - Operating system: Windows 7 ## Anything Else <!-- Include anything else that does not fit into the above sections --> ## Screenshots <!-- If a screenshot would help explain the bug, please include one or two here -->
kauffj commented 2017-06-28 22:41:55 +02:00 (Migrated from github.com)

@lyoshenka I've also seen several user reports of this. Can the install process bail if it can't replace the daemon?

@lyoshenka I've also seen several user reports of this. Can the install process bail if it can't replace the daemon?
kauffj commented 2017-06-30 21:30:09 +02:00 (Migrated from github.com)

I wasn't able to verify this, but all of the upgrade behavior is consistent with the installer failing to upgrade the daemon if it's stuck/running. @lyoshenka would that behavior be consistent with the install process?

If not, then @tzarebczan and I will have to work on figuring out a way to create reproducible steps.

I wasn't able to verify this, but all of the upgrade behavior is consistent with the installer failing to upgrade the daemon if it's stuck/running. @lyoshenka would that behavior be consistent with the install process? If not, then @tzarebczan and I will have to work on figuring out a way to create reproducible steps.
kauffj commented 2017-07-11 15:14:30 +02:00 (Migrated from github.com)

@tzarebczan please research how to freeze/lock a process on Windows, then do the following:

  1. Install an old version of LBRY (e.g. 0.12)
  2. Run it
  3. Freeze the lbrynet-daemon process
  4. Close it (make sure daemon process stayed open)
  5. Install current version

Then run the new version, and see if the daemon version upgraded or not.

@tzarebczan please research how to freeze/lock a process on Windows, then do the following: 1) Install an old version of LBRY (e.g. 0.12) 2) Run it 3) Freeze the lbrynet-daemon process 4) Close it (make sure daemon process stayed open) 5) Install current version Then run the new version, and see if the daemon version upgraded or not.
tzarebczan commented 2017-07-11 15:17:05 +02:00 (Migrated from github.com)

Understood, will give it a shot.

Understood, will give it a shot.
tzarebczan commented 2017-07-15 15:35:06 +02:00 (Migrated from github.com)

@kauffj - I was able to reproduce using similar steps to what you posted. Installed and ran 0.12 and made sure daemon was running in the background while upgrading to 0.13 (had to do this quickly as it was trying to connect). During the upgrade process, the daemon file gets left in the dist folder and never updates.
daemon stuck
daemon not updated

@kauffj - I was able to reproduce using similar steps to what you posted. Installed and ran 0.12 and made sure daemon was running in the background while upgrading to 0.13 (had to do this quickly as it was trying to connect). During the upgrade process, the daemon file gets left in the dist folder and never updates. ![daemon stuck](https://user-images.githubusercontent.com/8120721/28239727-a1a9e0be-6940-11e7-8004-d387e0e87348.PNG) ![daemon not updated](https://user-images.githubusercontent.com/8120721/28239728-a1aaa2ec-6940-11e7-8800-8d90bc5bb16a.PNG)
tzarebczan commented 2017-07-15 15:49:24 +02:00 (Migrated from github.com)

And after reinstall with no processes running, daemon is successfully updated and LBRY runs as expected.

And after reinstall with no processes running, daemon is successfully updated and LBRY runs as expected.
kauffj commented 2017-07-15 18:01:05 +02:00 (Migrated from github.com)

Good stuff, this will likely get scheduled next week.

Good stuff, this will likely get scheduled next week.
lyoshenka commented 2017-07-18 16:18:53 +02:00 (Migrated from github.com)

Next step: check if daemon is running when installer runs. If daemon is running, error and close installer.

Next step: check if daemon is running when installer runs. If daemon is running, error and close installer.
tzarebczan commented 2018-01-26 17:30:53 +01:00 (Migrated from github.com)

Reopening- just ran into this problem with the latest update. Even though the app closes the daemon on next start, the daemon remains at the older version. The installer really needs to check this and close the daemon before proceeding (or error out).

Reopening- just ran into this problem with the latest update. Even though the app closes the daemon on next start, the daemon remains at the older version. The installer really needs to check this and close the daemon before proceeding (or error out).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
LBRYCommunity/lbry-desktop#298
No description provided.