These are chat archives for exceptionless/Discuss

1st
Feb 2016
Weston
@ronnyek
Feb 01 2016 16:41
is exceptionless primarily for unhandled exception reporting or do people use it for general logging as well?
(non errors)
Frank Ebersoll
@frankebersoll
Feb 01 2016 17:22
hey there :-)
@ronnyek we use it for both
it depends on the application. on our servers, we use other logging infrastructure, while on the clients it makes more sense because it’s much easier to get real time logging in exceptionless in comparison to manually collect log files
Blake Niemyjski
@niemyjski
Feb 01 2016 18:33
Both our focus is on exceptions but were generic and can be used for anything
Weston
@ronnyek
Feb 01 2016 19:05
gotta get some generic site setup with some junk data I can play with
without spending the time and effort to set it up for myself =)
Eric J. Smith
@ejsmith
Feb 01 2016 19:06
Pretty easy to add a target for nlog to send log messages to Exceptionless.
We send info level and above messages in our app.
Sander Rijken
@srijken
Feb 01 2016 19:12
hi all
Blake Niemyjski
@niemyjski
Feb 01 2016 19:31
Hey
Eric J. Smith
@ejsmith
Feb 01 2016 19:33
Hello
Sander Rijken
@srijken
Feb 01 2016 19:34
almost ready to do the next iteration of deduplication
I guess one of the conclusions after the big discussion is that it makes more sense to move the plugin to (almost) the last one in the pipeline?
Blake Niemyjski
@niemyjski
Feb 01 2016 19:38
+1
I'm still unpacking boxes :(
Sander Rijken
@srijken
Feb 01 2016 19:38
makes a lot more sense to keep a processed Event around that’s done going through the pipeline, then keeping a reference to one you don’t cancel, just to ensure it went through
The ‘problem’ you brought up about the Submitting/Submitted event @niemyjski, wouldn’t it be most elegant if the event trigger itself was a plugin?
Blake Niemyjski
@niemyjski
Feb 01 2016 19:45
If it's at the end of the plugin pipeline via a high priority then it will be processed
Also you can check the context to see if it's canceled
Sander Rijken
@srijken
Feb 01 2016 19:46
because something else might’ve cancelled it?
nah that won’t happen
Sander Rijken
@srijken
Feb 01 2016 19:52
unpacking boxes? did you move or something?
Blake Niemyjski
@niemyjski
Feb 01 2016 19:54
If it's canceled it won't be a dup :)
Sander Rijken
@srijken
Feb 01 2016 19:54
yeah
Blake Niemyjski
@niemyjski
Feb 01 2016 19:54
Yeah moving into a new house
Well duplex
I'll post some pics
Sander Rijken
@srijken
Feb 01 2016 19:58
hm should plugins be inheritable (probably should..)? I’m looking for why I added GC.SupressFinalize() there. There’s a small chance that someone who derives implements the finalizer, so R# complains about it not being there. Wondering if we should do the full disposable pattern (with protected virtual void Dispose(bool disposing) and stuff)?
Blake Niemyjski
@niemyjski
Feb 01 2016 19:59
I wouldn't add that in a plugin
Hmm my resharper has never said anything
Sander Rijken
@srijken
Feb 01 2016 20:00
chances of someone doing something stupid like that are pretty small
Blake Niemyjski
@niemyjski
Feb 01 2016 20:00
The plugin will be disposed of it implements disposable
Yeah if you do something stupid it's your app instance
Sander Rijken
@srijken
Feb 01 2016 20:01
stupid that ConcurrentQueue seems to be the only concurrent collection in portable libraries
i’m now keeping 2 collections, one of hashcode -> time to detect dupes, and one hashcode -> wrapper objects with all the data
the dupe detector works by keeping at most 10 items in there
oh.. nevermind that too.. I’m fetching by FirstOccurence, but that’s exactly what a queue is for :D
Blake Niemyjski
@niemyjski
Feb 01 2016 20:22
:)
I’d say boost that priorty to much higher
like 500
Sander Rijken
@srijken
Feb 01 2016 20:22
even more? :)
Blake Niemyjski
@niemyjski
Feb 01 2016 20:22
yeah
Sander Rijken
@srijken
Feb 01 2016 20:22
it’s 1000+
Blake Niemyjski
@niemyjski
Feb 01 2016 20:22
oh the file name is 120
lol
oh never mind
need to take a closer look it’s 1010
my bad
Sander Rijken
@srijken
Feb 01 2016 20:23
:D
Blake Niemyjski
@niemyjski
Feb 01 2016 20:23
sorry. I feel exhausted and burned out
Sander Rijken
@srijken
Feb 01 2016 20:23
used to be 110
but I figured that was way too close
Blake Niemyjski
@niemyjski
Feb 01 2016 20:23
been moving non stop since friday afternoon
yeah
  • hashCode = (hashCode * 397) ^ ModuleId;
we need to get rid of that
Sander Rijken
@srijken
Feb 01 2016 20:25
question I was trying to ask just a minute ago was about exceptionless/Exceptionless.Net@df98089
Blake Niemyjski
@niemyjski
Feb 01 2016 20:25
because the way we work, those change every plugin run
Sander Rijken
@srijken
Feb 01 2016 20:25
oh ok, good to know
Blake Niemyjski
@niemyjski
Feb 01 2016 20:25
that bug where modules weren’t being included was caused by us not changing those ids
I’d take it out of the equals too
Sander Rijken
@srijken
Feb 01 2016 20:25
anyway, that commit.. I like that, it’s a lot simpler that way
the first occurence of a dupe, is bound to be first in the queue :)
I guess we could even do away with the whole FirstOccurence field as well, and just run the timer every 10, 30, or something else seconds
if the dupe was just inserted, too bad, but it’ll keep on catching dupes until the next time it runs
and I also spot a mistake in that code :)
Blake Niemyjski
@niemyjski
Feb 01 2016 20:28
yeah that commit looks good
Sander Rijken
@srijken
Feb 01 2016 20:29
there’s one thing with it..
Blake Niemyjski
@niemyjski
Feb 01 2016 20:29
how is the count incremented every time within a queue?
Sander Rijken
@srijken
Feb 01 2016 20:29
what if there’s 2 dupes
Blake Niemyjski
@niemyjski
Feb 01 2016 20:29
yeah
Blake Niemyjski
@niemyjski
Feb 01 2016 20:32
ok
I thought that was a queue
didn’t know you could do that
Sander Rijken
@srijken
Feb 01 2016 20:35
the original code had something similar :)
somehow it’s also IEnumerable
and more simplification just pushed
Frank Ebersoll
@frankebersoll
Feb 01 2016 20:43
javascript persistant storage is ready for test :-)
Blake Niemyjski
@niemyjski
Feb 01 2016 20:46
awesome job guys
ok I’ll add it to my list
@ejsmith @all just had our first third party submission for security bugs to our service
Sander Rijken
@srijken
Feb 01 2016 20:46
I think the deduplication stuff also fixes exceptionless/Exceptionless.Net#25
Blake Niemyjski
@niemyjski
Feb 01 2016 20:47
outlined 5 bugs and how to execute them with fixes
wish we were bigger so we could have a bug bounty with payouts other than hosting.. someday
Frank Ebersoll
@frankebersoll
Feb 01 2016 20:48
how critical are them?
Sander Rijken
@srijken
Feb 01 2016 20:48
Also exceptionless/Exceptionless.Net#2 is the same thing as exceptionless/Exceptionless.Net#63
Blake Niemyjski
@niemyjski
Feb 01 2016 20:49
1.Vulnerability : Authentication Flaw- Serious Account TakeOver.
2.Vulnerability : Clickjacking
3.Vulnerability : SMPT Protection not implemented
4.Vulnerability:User Enumeration attack
5.Vulnerability: Broken Authentication & Session Management
Frank Ebersoll
@frankebersoll
Feb 01 2016 20:49
uh-oh
Blake Niemyjski
@niemyjski
Feb 01 2016 20:50
basically the first one is because we don’t do any brute force checks
and we should
Frank Ebersoll
@frankebersoll
Feb 01 2016 20:50
i wouldn’t go into details here in the open :-)
Blake Niemyjski
@niemyjski
Feb 01 2016 20:50
guess I’ll review your guys code and try and get these changes out and then my focus should be to implement changes to fix these reported issues
Sander Rijken
@srijken
Feb 01 2016 20:51
well maybe until they’re completely fixed
Blake Niemyjski
@niemyjski
Feb 01 2016 20:51
because security and he was kind enough to report them
yeah
yeah
Sander Rijken
@srijken
Feb 01 2016 20:51
once it’s done, it can benefit everyone, depending on how sensitive
Blake Niemyjski
@niemyjski
Feb 01 2016 20:51
yeah
Sander Rijken
@srijken
Feb 01 2016 20:51
your “yeah” is stuck
Blake Niemyjski
@niemyjski
Feb 01 2016 20:52
I won’t go into much detail but @ejsmith should check the email inbox
@srijken is there anything I can do to help with testing / questions?
Sander Rijken
@srijken
Feb 01 2016 20:53
questions.. not really
Blake Niemyjski
@niemyjski
Feb 01 2016 20:53
@frankebersoll, just pull down the branch and call usexxstorage? to test
Sander Rijken
@srijken
Feb 01 2016 20:53
could use some different test events through the pipeline I guess
Frank Ebersoll
@frankebersoll
Feb 01 2016 20:54
@niemyjski yes, i think so.
at least that’s how it works over here.
i made it so that it works differently for both targets
Blake Niemyjski
@niemyjski
Feb 01 2016 20:55
@srijken the one test data folder in there has valid error events
we could add more with deeper stack traces tho
I can do that if you want
Sander Rijken
@srijken
Feb 01 2016 20:56
test data folder in where?
Blake Niemyjski
@niemyjski
Feb 01 2016 20:56
in the tests project
there are json files
one that has a ton of them, is actual raw events submitted to our exceptionless project but those can change when we rerun a regenerate test data
the other ones are actual errors submitted to us from different versions
if you load the .actual ones and deserialize them
might be a good test
Sander Rijken
@srijken
Feb 01 2016 20:57
I’m not seeing it
Blake Niemyjski
@niemyjski
Feb 01 2016 21:00
sigh
wrong project they are in the main project repo
Sander Rijken
@srijken
Feb 01 2016 21:00
right
Blake Niemyjski
@niemyjski
Feb 01 2016 21:00
maybe it would be better to just add a utility class to generate deep nested exceptions
then we don’t have to worry about serialization etc..
thoughts
Sander Rijken
@srijken
Feb 01 2016 21:01
yeah
you also need to throw and then catch them
for the stacktrace :)
Blake Niemyjski
@niemyjski
Feb 01 2016 21:02
yeah
we can do that
just some try catches inside of a few nested classes
@frankebersoll yeah would be good to share as much code as possible
I’d think the local storage code would be the same between browser and node
Frank Ebersoll
@frankebersoll
Feb 01 2016 21:04
are you referring to my comment?
Blake Niemyjski
@niemyjski
Feb 01 2016 21:04
yeah
Frank Ebersoll
@frankebersoll
Feb 01 2016 21:05
well, there are some differences. node doesn’t have local storage.
but most things could be abstracted away
Blake Niemyjski
@niemyjski
Feb 01 2016 21:09
ok
yeah, what ever you think is best
ok, I have a list of tasks I need to do for tomorrow
do you want me to hold off on testing until we make the base class changes
?
Frank Ebersoll
@frankebersoll
Feb 01 2016 21:14
i would say the security issues have priority?
Sander Rijken
@srijken
Feb 01 2016 21:14
@niemyjski I think the issue just created was the only issue we talked about and I haven’t submitted yet?
+1
Blake Niemyjski
@niemyjski
Feb 01 2016 21:15
yeah
O'
I’ll start working on them.
I think overall they are pretty minor and I’ve known about one, but it took so much work and the data you get from an account is very very very minimal
but we’ll get them all resolved this week
should be able to knock them all out in a day
so much work to do it..
ok guys time to do some more moving :\
just leave a message if you need something and I’ll jump on it
Eric J. Smith
@ejsmith
Feb 01 2016 23:15
Reading through all the messages… sorry I had a bunch of meetings today.