Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Sep 22 01:09
    billgao87 starred exceptionless/Exceptionless
  • Sep 20 13:20

    niemyjski on elastic7

    Fixed more unit tests (compare)

  • Sep 20 12:11
    niemyjski commented #447
  • Sep 20 07:42
    ZhiqiangTao commented #447
  • Sep 19 22:56

    niemyjski on elastic7

    bumped major and deps (fixed te… (compare)

  • Sep 19 14:20

    niemyjski on elastic7

    Fixed all issues with the event… (compare)

  • Sep 19 07:04
  • Sep 19 04:49
  • Sep 19 03:32
  • Sep 18 12:46
    LydellM commented #448
  • Sep 18 12:38
    niemyjski labeled #448
  • Sep 18 12:37
    niemyjski closed #448
  • Sep 18 12:37
    niemyjski commented #448
  • Sep 18 12:37
    niemyjski commented #448
  • Sep 18 12:35
    niemyjski commented #447
  • Sep 18 07:09
    ZhiqiangTao closed #447
  • Sep 18 05:31
    leehomlee starred exceptionless/Exceptionless
  • Sep 18 03:17
  • Sep 18 02:13

    niemyjski on elastic7

    More ES7 Changes (compare)

  • Sep 17 20:34
    LydellM opened #448
Eric J. Smith
@ejsmith
I think it would be good to have it as methods on the repo
Blake Niemyjski
@niemyjski
ok
O
I’ll merge it in with models cause I need the terms stuff on our repo
Sander Rijken
@srijken
ok, my search in .Modules was a stupid move. Conclusion now is that somehow the stacktrace is different
Blake Niemyjski
@niemyjski
how
it’s the same stack trace :\
that’s what I don’t get
I get that it could be different in mvc due to maybe a race condition in handlers but crazy
@ejsmith there’s really no good way to do this in the base class:
.WithDateRange(utcStart, utcEnd, EventIndex.Fields.PersistentEvent.Date)
.WithIndices(utcStart, utcEnd, $"'{_eventIndex.VersionedName}-'yyyyMM");
Sander Rijken
@srijken
hmf
getting quantum physics feelings right now
I’m inspecting where it’s probably failing
and it no longer fails
got it
Checking event:  with hash: 754157865 1407249123 GetException: 766225261 - ILOffset 8 - NativeOffset87
Checking event:  with hash: 752981631 1924808933 GetException: 217121131 - ILOffset 0 - NativeOffset87
Checking event:  with hash: 754157865 1407249123 GetException: 766225261 - ILOffset 8 - NativeOffset87
Checking event:  with hash: 754157865 1407249123 GetException: 766225261 - ILOffset 8 - NativeOffset87
Checking event:  with hash: 754157865 1407249123 GetException: 766225261 - ILOffset 8 - NativeOffset87
var error = context.Event.Data["@error"] as Exceptionless.Models.Data.Error;
            context.Log.FormattedInfo(typeof(DuplicateCheckerPlugin), String.Concat("Checking event: ", context.Event.Message, " with hash: ", hashCode + " " + error.StackTrace.GetCollectionHashCode() +
                 " " + string.Join(", ", error.StackTrace.Select(x => x.Name + ": " + x.GetHashCode() + " - ILOffset " + x.Data["ILOffset"] + " - NativeOffset" + x.Data["NativeOffset"]))));
so.. now what?
@niemyjski can you try this change, see if it fixes the real-world problem you were seeing?
Blake Niemyjski
@niemyjski
yeah
Sander Rijken
@srijken
hashCode = (hashCode * 397) ^ (Data == null ? 0 : Data.GetCollectionHashCode(new[] { "ILOffset" }));
Blake Niemyjski
@niemyjski
wonder if we should get rid of native offset too
Sander Rijken
@srijken
now my mac is slow
that code goes in Method
Blake Niemyjski
@niemyjski
wonder why the iloffset would be different on the same executing code
Sander Rijken
@srijken
maybe it’s some kind of optimization thing
JIT and pre-JIT or something
Blake Niemyjski
@niemyjski
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\EnvironmentInfo.cs(131): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\InnerError.cs(64): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\Method.cs(42): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetCollectionHashCode(new[] { "ILOffset" }));
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\Module.cs(51): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\Parameter.cs(36): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\RequestInfo.cs(100): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\SimpleError.cs(53): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\UserDescription.cs(43): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Data\UserInfo.cs(52): hashCode = (hashCode 397) ^ (Data == null ? 0 : Data.GetHashCode());
C:\Code\Exceptionless.Net\Source\Shared\Models\Client\Event.cs(82): hashCode = (hashCode
397) ^ (Data == null ? 0 : Data.GetHashCode());
should we change all of those to GetCollectionHashCode?
Sander Rijken
@srijken
yep
and dump DataDictionary.GetHashCode()
Blake Niemyjski
@niemyjski
dump?
I changed all those to GetCollectionHashCode
Sander Rijken
@srijken
the code inside DataDictionary, that can be removed
Blake Niemyjski
@niemyjski
ok
Sander Rijken
@srijken
“My understanding is that, when provided, the IL offset is simply mapped from the native offset using a table generated at JIT time (which may be an approximation due to optimizations). For the leaf native-frame, the native offset is where the exception was thrown while non-leaf native frames use the return address from the stack which may make it look like the exception was thrown by the instruction following the one where the exception actually happened."
Blake Niemyjski
@niemyjski
hmm ok
so get rid of the equals and gethashcode overrides in the data
Sander Rijken
@srijken
yeah
Blake Niemyjski
@niemyjski
ok
wonderingi f we should leave it as it’s not hurting anything
Sander Rijken
@srijken
this dedupe thing?
Blake Niemyjski
@niemyjski
the equals and get hashcode on data dictionary
if you look on the data dictionary we are telling it to ignore tracelogs
Sander Rijken
@srijken
hmf
complicated stuff
Blake Niemyjski
@niemyjski
yeah
you changed it :D