tritondatacenter / ufds-terror-alert Goto Github PK
View Code? Open in Web Editor NEWThe UFDS Terror Alert System
The UFDS Terror Alert System
We're seeing the following crash:
Uncaught TypeError: this.render is not a function
FROM
Statement.replacement (/opt/ufds-terror-alert/node_modules/sqlite3/lib/trace.js:27:21)
[ Oct 31 03:51:01 Stopping because process dumped core. ]
[ Oct 31 03:51:01 Executing stop method (:kill). ]
The core isn't very helpful because this crash is inside sqlite.
> ::jsstack -v
native: v8::base::OS::Abort+9
native: v8::internal::Runtime_Throw+0x30
(1 internal frame elided)
js: replacement
file: /opt/ufds-terror-alert/node_modules/sqlite3/lib/trace.js
posn: line 17
this: ac1640b5171 (JSObject: Statement)
12
13 if (typeof pos === 'undefined') pos = -1;
14 if (pos < 0) pos += arguments.length;
15 var cb = arguments[pos];
16 if (typeof arguments[pos] === 'function') {
17 arguments[pos] = function replacement() {
18 try {
19 return cb.apply(this, arguments);
20 } catch (err) {
21 if (err && err.stack && !err.__augmented) {
22 err.stack = filter(err).join('\n');
23 err.stack += '\n--> in ' + name;
24 err.stack += '\n' + filter(error).slice(1).join('\n');
25 err.__augmented = true;
26 }
27 throw err;
28 }
29 };
30 }
31 return old.apply(this, arguments);
32 };
33 }
34 exports.extendTrace = extendTrace;
(1 internal frame elided)
(1 internal frame elided)
(1 internal frame elided)
native: v8::internal::Invoke+0xe0
native: v8::internal::Execution::Call+0xae
native: v8::Function::Call+0xff
native: v8::Function::Call+0x41
native: node::MakeCallback+0x10d
native: node::MakeCallback+0x6b
native: node_sqlite3.node`node_sqlite3::Statement::Work_AfterGet+0x166
native: uv__work_done+0xa5
native: uv__async_event+0xab
native: uv__async_io+0x54
native: uv__io_poll+0x251
native: uv_run+0x129
native: node::Start+0x420
native: _start+0x6c
> ac1640b5171::jsprint -v
{
"sql": "select * from users where uuid = ?",
"lastID": undefined,
"changes": undefined,
}
I suspect this has to do with when there are multiple transactions coming through where one is a delete, and the object is deleted from the database before something else is done with it.
If an invalid entry is added to the operator or reader groups we should probably know about it.
Just like #11.
We're missing a few else { cb(); }
type branches in ufds-watcher.js
, which can lead the updater to getting stuck.
Has info logs left everywhere and tells you "other places" includes "this place"
Something like this
#!/bin/bash
uuid="$1"
grep "fingerprint.*uuid=$uuid" data/ufds_log.json | json -ga changes.fingerprint.0 changetype changetime
Right now any account that is in readers or operators is watched. I want to have some other non-oper, non-reader accounts on the watch list.
The JPC UFDS changelog contains lots of invalid keys that should never have been accepted. Skip them.
Currently support staff on the public cloud regularly take actions on "disabled" accounts after they've been "disabled", incl. changing the email, password etc. No notifications should be produced to the original user for such accounts.
We need a way for them to mark these accounts as disabled so that notifications can be blocked. The current proposal is the "accountStatus" attribute. We should process this attribute and block notifications for any user with it set to a value other than "active".
When automated tasks add "poseidon" to the operators group in Manta, they log the addition of the poseidon user to the group again, no matter whether it was already a member. We shouldn't send a new email in this case.
It might be nice to include the account login in the subject line. Then I would get separate gmail threads for separate accounts.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.