Menu

#502 Partial Sharing may not recognize file encoding

14.10.31
closed-fixed
5
2018-03-15
2011-05-11
No

Case 1:
− Host changed file encoding (from UTF-8 to ISO-8859-1)
− Invitee got Watchdog Notification about inconsistency in file
− Invitee told Watchdog to recover consistency, but this did not work
− Invitee got still message from watchdog about inconsistency
− Invitee tried out several times to recover file with watchdog, but this did not work → infinite loop
− On both sides (host and invitee) all lines in the file were marked as changed by the other side
− Session had to be restarted

Case 2: when using existing project with modifications
− Sharing a project, invitee already had version of project
− Invitee had some local modifications in one file of the project
− Invitee got invitation from Host, accepted invitation with using his existing project for the session
− After the session was established, the host got a watchdog notification about an inconsistency (the file which was modified in the invitee’s local version of the project)
− But Watchdog was unable to recover consistent version of the file –> infinite loop of watchdog notification and unsuccessful attempt of recovery

Discussion

  • Stefan Rossbach

    Stefan Rossbach - 2011-06-04

    I am unable to reproduce the bugs.

    For case 2:

    My modified file will be overwritten during project synchronisation.

    For case 1:

    Changing the encoding of the file via Eclipse editor preferences will be reflected to the invitee.

    I have never recieved a inconsistency notification.

    Please provide more details for analysis.

    Tested with latest revision from trunk.

     
  • Karl Beecher

    Karl Beecher - 2011-07-01
    • priority: 9 --> 8
     
  • Karl Beecher

    Karl Beecher - 2011-07-01

    From #2910129:

    Eclipse can also freeze on the host side.

    Here's a way to reproduce the bug:
    A hosts, invites B.
    B creates inconsistency.
    B tries to sync inconsistency, but drops in the process (client crash).
    This can be simulated by terminating Eclipse via Task Manager/kill/etc.
    B comes back online within 15 seconds, thus preventing A from timeout.
    -> A hangs in a modal dialog, unable to cancel the synchronization.

     
  • Franz Zieris

    Franz Zieris - 2012-05-23
    • status: open --> closed-works-for-me
     
  • Franz Zieris

    Franz Zieris - 2012-05-23

    Both cases are not reproducible using Saros 12.3.30.

     
  • Sebastian Starroske

    The problem still exists. It can be reproduced with the following steps:
    1) A and B work together on the same project
    2) After closing the session, B changes the file encoding of one of the files in the project
    3) A invites B to continue working on the project
    4) An inconsitency is detected which can not be resolved

     
  • Sebastian Starroske

    • assigned_to: nobody --> starroli
    • status: closed-works-for-me --> open-accepted
     
  • Sebastian Starroske

    • priority: 8 --> 5
     
  • Stefan Rossbach

    Stefan Rossbach - 2012-07-03

    This is not actually a bug of the watchdog.

    It seems that the PreferenceManager (which would only work with JDT (why only JAVA ?!)) does not affect the project properly.

    I have not done any analyse, but I think that what is going on.

    Host send recovered file

    Client closes editor, replace the file contents and reopen the editor.

    The editor is replacing the line breaks again.

    File content is now different from the hosts one (same as before recovery)

    Rinse and repeat.

     
  • Stefan Rossbach

    Stefan Rossbach - 2012-07-10
    • summary: Watchdog cannot recover (ends up in infinite loop) (ID) --> Partial Sharing may not recognize file encoding
     
  • Stefan Rossbach

    Stefan Rossbach - 2012-07-10

    With the partial sharing feature, the encoding settings (file encoding, line delemiter encoding) may be not transfered, because the file that contains the encoding may not be shared. It is also possible to change these settings at runtime. Without the initial settings it is impossible to react on those changes that causes file corruptions because we are unable to restore the original encodings. This will affect the watchdog, as it will never recover any files successfully, because as soon as the file will be reopened, the editor decodes the binary data in a wrong way.

     
  • Nils Bussas

    Nils Bussas - 2012-09-10

    Could not reproduce with current master either.

     
  • Arsenij E. Solovjev

    Disregard last comment. We could reproduce it, however the behaviour is quite heisenbug-ish.

     
  • Stefan Rossbach

    Stefan Rossbach - 2013-09-07
    • status: open-accepted --> open
    • assigned_to: Sebastian Starroske --> nobody
    • Group: --> 12.7.27.DEVEL
     
  • Stefan Rossbach

    Stefan Rossbach - 2013-09-13
    • Group: 12.7.27.DEVEL --> 13.3.29
     
  • Stefan Rossbach

    Stefan Rossbach - 2014-06-25

    be0e4121e3292379e72af8d139484e167621e1e9

     
  • Stefan Rossbach

    Stefan Rossbach - 2014-06-25
    • status: open --> open-fixed
    • assigned_to: Stefan Rossbach
    • Group: 13.3.29 --> 14.1.31
     
  • Franz Zieris

    Franz Zieris - 2014-12-08

    @Christian @Arndt: The commit mentioned above is part of the release branch, but this ticket is not pending-fixed. Did you verify the fix?

     
  • Christian

    Christian - 2014-12-15

    No, we did not. I don't know why, but this Fix is not in the Changelog.

     
  • Arndt Lasarzik

    Arndt Lasarzik - 2014-12-18

    I am not able to reproduce this with the release/14.10.31 source code. Someone else should prove that to verify the fix.

     
  • Christian

    Christian - 2015-01-04

    Could not produce bug with release/14.10.31 as no inconsistencies occurred. Locally changed files are overwritten during the invitation process.

     
  • Stefan Rossbach

    Stefan Rossbach - 2015-01-05

    There should be inconsistencies in partial sharing mode because the meta file that contains the file enconding information for all files of the project is not shared per default.

     

    Last edit: Stefan Rossbach 2015-01-05
  • tobous

    tobous - 2018-03-15
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.

MongoDB Logo MongoDB