Announcement
· Sep 10, 2021

Bug Bounty: Fix one bug and win 5000 points

Hello!

Want to get 5000 points on GlobalMasters?

I'm launching a bug bounty for a bug with which I've been struggling for the last 4 years. Have tried to resolve it many times, but no  dice - can't track it down.

Here's the issue.

To claim this bounty you need to:

  1. Create a pull request with the code to fix the issue outlined here.
  2. In the pull request OR in the issue OR in the commit message describe what's the reason for this bug and how your change fixes it.

First come first serve. Bounty would be paid only ONCE for a first working solution.

Challenge details are here.

UPD: we have a winner here. I'm still testing but the fix works great so far. Please submit further bug bounty entries ONLY if you think Robert's solution does not cover some part of the issue (with rationale for that) - as I'm of a mind that it does cover everything.

Discussion (11)2
Log in or sign up to continue

I did further investigations on 'broken' input files and placed a related issue
https://github.com/MakarovS96/cache-tort-git/issues/8
It happened a little bit by accident but I found this a possible realistic scenario that explains
why the problem occurs every now and then.  You may argue this is bad handling by user.
Accepted. But not unlikely.

I found this situation:

  • I have a project. with several packages and classes
  • I deleted a class BUT the PACKAGE was not saved and didn't reflect the change
  • From ClassMethod ExportProject(project ,1) I get this strange XML for the deleted class c:\temp\TEST\dc\MyCompany\EmployeRegister1.cls.xml <?xml version="1.0" encoding="UTF-8"?> <Export generator="IRIS" version="26"> </Export>
  • now I need a GIT expert to analyze what happens with this incomplete input.
  • my assumption: according to the file name there is an empty entry of type CLS named /dc/MyCompany/EmployeRegister1.cls.xml or similar
  • when ist is restored it may cause the described problem togehter with the reported bug in $system.OBJ.Load()