Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 06:50
    alvin-su commented #472
  • 03:15
    fengrui358 starred exceptionless/Exceptionless
  • Dec 15 14:07
    niemyjski commented #472
  • Dec 15 07:50
    alvin-su opened #472
  • Dec 15 01:35
    niemyjski synchronize #452
  • Dec 15 01:35

    niemyjski on elastic7

    Only put consumes attribute on … (compare)

  • Dec 14 16:39
    ejsmith synchronize #452
  • Dec 14 16:39

    ejsmith on elastic7

    Log the correct task id and cat… (compare)

  • Dec 14 06:25
    ejsmith synchronize #452
  • Dec 14 06:25

    ejsmith on elastic7

    Minor (compare)

  • Dec 14 06:00
    ejsmith synchronize #452
  • Dec 14 06:00

    ejsmith on elastic7

    Add missing task id (compare)

  • Dec 13 22:43
    ejsmith synchronize #452
  • Dec 13 22:43

    ejsmith on elastic7

    More reindex job changes (compare)

  • Dec 13 15:46
    ejsmith synchronize #452
  • Dec 13 15:46

    ejsmith on elastic7

    Just retry 3 times (compare)

  • Dec 13 15:44
    ejsmith synchronize #452
  • Dec 13 15:44

    ejsmith on elastic7

    More log message changes (compare)

  • Dec 13 14:25
    niemyjski synchronize #452
Blake Niemyjski
@niemyjski
@ejsmith yeah there were questions for you me and sander and working through them now
@ejsmith do you want me to merge in the EventStats into Foundatio Elasticsearch repository read only base?
Eric J. Smith
@ejsmith
yeah, that would be nice.
Blake Niemyjski
@niemyjski
or a seperate class?
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