Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

update cecil rev.

We cannot fully update cecil to the latest master which seems to break
some existing code, so use specific branch so far.
  • Loading branch information...
commit 3f19e47979a95dabc55cff1d396c032cc76eb190 1 parent 477124f
@atsushieno atsushieno authored
Showing with 1 addition and 1 deletion.
  1. +1 −1  external/cecil
2  external/cecil
@@ -1 +1 @@
-Subproject commit 54e0a50464edbc254b39ea3c885ee91ada730705
+Subproject commit fc76b93e3e0064b2d751796878f9cbe88df1d5f4

10 comments on commit 3f19e47

@jbevain
Collaborator

Hey @atsushieno, do you know what breaks?

@atsushieno
Collaborator

@jbevain, it is somewhat explained at https://bugzilla.xamarin.com/show_bug.cgi?id=11270 (but since it is not public code I can't fully explain it...)

@spouliot
Owner

@atsushieno this looks identical to https://bugzilla.xamarin.com/show_bug.cgi?id=11284 (private) and, if it's the case, is not a bug in Cecil*. You cannot assume that saving an assembly several times will give you the same metadata tokens each time, so you need to save (and reload) the debugging symbols each time.

  • that worked with the old (0.6.x) Cecil, but not with the newer (0.9.x) Cecil
@atsushieno
Collaborator

@spouliot that bug itself is not the issue I mentioned as "breakage". And as I explained a bit more in the referenced cecil commit, our runtime has exact equivalent code for reading debugger symbols, so I believe that fix is reasonable enough.

@spouliot
Owner

@atsushieno you mean fc76b93e3e0064b2d751796878f9cbe88df1d5f4 ? (like the gist). That would hide the issue I had (which looks identical to your bug report) for some cases - but it's not a fix.

What happens is that the same tokens (IL and mdb) do not point to the same code, see comments #5 and #8 on my bug report. Ignoring such cases will only bring other issues later (inside the debugger or other similar exceptions).

@jbevain
Collaborator

If you guys want some help with private code or discuss this I can certainly sign an NDA and give you a hand.

@atsushieno
Collaborator

While the bug @spouliot mentions is almost unrelated - we are aware of the problem (even the fc76b93 message tells so). The equivalent fix to 11284 (private) for 11270 didn't really work and it's not our option (at least for me) to spend a lot of time to investigate and fix it.
As I mentioned on the commit, the mono runtime has the equivalent safe guard. So if you still insist that it must not be done, it should be also done against the runtime code too.

@jbevain thanks for the offer, I can suggest that to the company if we get really stuck at the issue. And of course feel free to bring the fix to master if you find it better in the end.

@jbevain
Collaborator

Guys I'm getting back to you on this because I had a similar issue in a different project.

If you had to apply this:

https://gist.github.com/atsushieno/d6267aeb19640cdfa99b

Then it means that the mdb you're reading is not in sync with the .dll, even though their Guid matches.

@spouliot
Owner
@atsushieno
Collaborator

Yes as I wrote in earlier comments.

Please sign in to comment.
Something went wrong with that request. Please try again.