Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 07:29
  • Oct 14 02:53
    wmowm commented #459
  • Oct 12 15:59
    niemyjski commented #459
  • Oct 12 15:57
    niemyjski edited #459
  • Oct 12 12:54
    niemyjski synchronize #452
  • Oct 12 12:54

    niemyjski on elastic7

    Fixed serializer null reference… Fixed all Swagger issues. (compare)

  • Oct 12 12:26
    niemyjski synchronize #452
  • Oct 12 12:26

    niemyjski on elastic7

    Updated to latest foundatio rep… (compare)

  • Oct 12 12:24
    niemyjski synchronize #452
  • Oct 12 12:24

    niemyjski on elastic7

    Fixed elasticsearch serializer … (compare)

  • Oct 12 11:01
    wmowm opened #459
  • Oct 11 11:21
    niemyjski commented #458
  • Oct 10 21:18
    kiquenet opened #458
  • Oct 10 13:30
    niemyjski updated the wiki
  • Oct 10 09:20
  • Oct 10 03:36
  • Oct 09 15:54
    john-roland closed #456
  • Oct 09 15:54
    john-roland commented #456
  • Oct 09 14:12
    niemyjski labeled #457
  • Oct 09 14:12
    niemyjski labeled #457
Blake Niemyjski
@niemyjski
so there are two different issues
@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