profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/jaysoffian/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

jaysoffian/eap_proxy 482

Proxy EAP packets between interfaces on Linux devices such as the Ubiquiti Networks EdgeRouter™ and UniFi® Security Gateway.

jaysoffian/dotlock 6

Unix dot-locking examples

jaysoffian/gerrit-publish 5

A client-side script to make it easier to work with Gerrit Code Review

jaysoffian/absync 1

OS X Address Book / LDAP sync script

jaysoffian/buildbot 1

Python-based continuous integration testing framework; send pull requests for your patches!

jaysoffian/buildwatch 1

A buildbot GUI for OS X

jaysoffian/homebrew 1

The missing package manager for OS X

jaysoffian/python.tmbundle 1

TextMate support for Python

jaysoffian/acra 0

Application Crash Reports for Android

issue commentjaysoffian/eap_proxy

eth2 dropping every day around same time

Please run with --debug in addition to the default options:

https://github.com/jaysoffian/eap_proxy/blob/master/eap_proxy.sh.example#L9

Then attach the log messages.

FurmanSK

comment created time in a month

issue commentjaysoffian/eap_proxy

eth2 dropping every day around same time

Again, I don't know why your connection is dropping. It is normal for the RG to reboot itself periodically. When that happens the ethernet port to which the RG is connected will do this:

Aug 19 17:29:28 router kernel: eth2: Link down
Aug 19 17:29:30 router kernel: eth2: 1000 Mbps Full duplex, port 3
Aug 19 17:29:50 router kernel: eth2: Link down
Aug 19 17:29:53 router kernel: eth2: 1000 Mbps Full duplex, port 3
Aug 19 17:29:59 router kernel: eth2: Link down
Aug 19 17:30:02 router kernel: eth2: 1000 Mbps Full duplex, port 3

In between reboots, the RG constantly sends EAPOL start packets, which eap_proxy ignores as long as it appears your Internet connection via the ONT is up:

Aug 19 20:41:11 router kernel: eth0: Link down
Aug 19 20:41:13 router kernel: eth0: 1000 Mbps Full duplex, port 1
Aug 19 20:41:21 router eap_proxy[2936]: eth2: e0:22:02:xx:xx:xx > 01:80:c2:xx:xx:xx, EAPOL start (1) v2, len 0
Aug 19 20:41:21 router eap_proxy[2936]: eth3.0: 75.60.xx2.5
Aug 19 20:41:21 router eap_proxy[2936]: ping: 75.60.xx0.1 success
Aug 19 20:41:21 router eap_proxy[2936]: eth2: ignoring e0:22:02:xx:xx:xx > 01:80:c2:xx:xx:xx, EAPOL start (1) v2, len 0
Aug 19 20:41:53 router eap_proxy[2936]: eth2: e0:22:02:xx:xx:xx > 01:80:c2:xx:xx:xx, EAPOL start (1) v2, len 0
Aug 19 20:41:53 router eap_proxy[2936]: eth3.0: 75.60.xx2.5
Aug 19 20:41:53 router eap_proxy[2936]: ping: 75.60.xx0.1 success
Aug 19 20:41:53 router eap_proxy[2936]: eth2: ignoring e0:22:02:xx:xx:xx > 01:80:c2:xx:xx:xx, EAPOL start (1) v2, len 0
...

I don't know why your Internet connection is dropping, but I don't think eap_proxy has anything to do with it. Normally the ONT only requires re-authentication if it loses link on its Ethernet connection, or apparently after a 1-2 week timeout.

FurmanSK

comment created time in a month

issue closednodejs/node

Crash when taking a heap snapshot

  • Version: v14.17.0
  • Platform: Darwin C02XF1E9JHD3 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:33 PDT 2021; root:xnu-7195.121.3~9/RELEASE_X86_64 x86_64
  • Subsystem: heap snapshot

What steps will reproduce the bug?

I have a node process that crashes fairly consistently when taking a heap snapshot via Chrome dev tools. Here's a stack trace captured by lldb:

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x80ec05)
    frame #0: 0x000000010068c1eb node`v8::internal::V8HeapExplorer::ExtractContextReferences(v8::internal::HeapEntry*, v8::internal::Context) + 379
node`v8::internal::V8HeapExplorer::ExtractContextReferences:
->  0x10068c1eb <+379>: cmpq   -0x9480(%rdx), %rcx
    0x10068c1f2 <+386>: je     0x10068c210               ; <+416>
    0x10068c1f4 <+388>: movq   0x1f(%rax), %rcx
    0x10068c1f8 <+392>: leaq   0xd6c4b1(%rip), %rdx      ; "extension"
Target 0: (node) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x80ec05)
  * frame #0: 0x000000010068c1eb node`v8::internal::V8HeapExplorer::ExtractContextReferences(v8::internal::HeapEntry*, v8::internal::Context) + 379
    frame #1: 0x000000010068e0cc node`v8::internal::V8HeapExplorer::IterateAndExtractReferences(v8::internal::HeapSnapshotGenerator*) + 956
    frame #2: 0x0000000100690653 node`v8::internal::HeapSnapshotGenerator::GenerateSnapshot() + 211
    frame #3: 0x0000000100684eab node`v8::internal::HeapProfiler::TakeSnapshot(v8::ActivityControl*, v8::HeapProfiler::ObjectNameResolver*, bool) + 107
    frame #4: 0x00000001008eca0d node`v8_inspector::V8HeapProfilerAgentImpl::takeHeapSnapshot(v8_crdtp::glue::detail::ValueMaybe<bool>, v8_crdtp::glue::detail::ValueMaybe<bool>) + 301
    frame #5: 0x00000001009ca0a6 node`v8_inspector::protocol::HeapProfiler::DomainDispatcherImpl::takeHeapSnapshot(v8_crdtp::Dispatchable const&, v8_inspector::protocol::DictionaryValue*, v8_crdtp::ErrorSupport*) + 374
    frame #6: 0x00000001009ca8f9 node`std::__1::__function::__func<v8_inspector::protocol::HeapProfiler::DomainDispatcherImpl::Dispatch(v8_crdtp::span<unsigned char>)::$_0, std::__1::allocator<v8_inspector::protocol::HeapProfiler::DomainDispatcherImpl::Dispatch(v8_crdtp::span<unsigned char>)::$_0>, void (v8_crdtp::Dispatchable const&)>::operator()(v8_crdtp::Dispatchable const&) + 137
    frame #7: 0x0000000100922528 node`v8_crdtp::UberDispatcher::DispatchResult::Run() + 24
    frame #8: 0x00000001008f6792 node`v8_inspector::V8InspectorSessionImpl::dispatchProtocolMessage(v8_inspector::StringView) + 562
    frame #9: 0x00000001001852ee node`node::inspector::NodeInspectorClient::dispatchMessageFromFrontend(int, v8_inspector::StringView const&) + 302
    frame #10: 0x0000000100184f3a node`node::inspector::(anonymous namespace)::SameThreadInspectorSession::Dispatch(v8_inspector::StringView const&) + 58
    frame #11: 0x000000010019795b node`node::inspector::(anonymous namespace)::MainThreadSessionState::Dispatch(std::__1::unique_ptr<v8_inspector::StringBuffer, std::__1::default_delete<v8_inspector::StringBuffer> >) + 43
    frame #12: 0x000000010019799e node`void node::inspector::(anonymous namespace)::AnotherThreadObjectReference<node::inspector::(anonymous namespace)::MainThreadSessionState>::Apply<std::__1::unique_ptr<v8_inspector::StringBuffer, std::__1::default_delete<v8_inspector::StringBuffer> > >(node::inspector::(anonymous namespace)::MainThreadSessionState*, void (node::inspector::(anonymous namespace)::MainThreadSessionState::*)(std::__1::unique_ptr<v8_inspector::StringBuffer, std::__1::default_delete<v8_inspector::StringBuffer> >), std::__1::unique_ptr<v8_inspector::StringBuffer, std::__1::default_delete<v8_inspector::StringBuffer> >&) + 46
    frame #13: 0x000000010019656d node`node::inspector::MainThreadInterface::DispatchMessages() + 365
    frame #14: 0x0000000100197fde node`node::CallbackQueue<void, node::Environment*>::CallbackImpl<node::inspector::MainThreadInterface::Post(std::__1::unique_ptr<node::inspector::Request, std::__1::default_delete<node::inspector::Request> >)::$_0>::Call(node::Environment*) + 46
    frame #15: 0x00000001000618d1 node`node::Environment::RunAndClearInterrupts() + 65
    frame #16: 0x00000001000654ef node`node::Environment::RequestInterruptFromV8()::$_8::__invoke(v8::Isolate*, void*) + 31
    frame #17: 0x0000000100343c55 node`v8::internal::Isolate::InvokeApiInterruptCallbacks() + 293
    frame #18: 0x000000010035b2b1 node`v8::internal::StackGuard::HandleInterrupts() + 1633
    frame #19: 0x00000001006fb7b7 node`v8::internal::Runtime_StackGuardWithGap(int, unsigned long*, v8::internal::Isolate*) + 519
    frame #20: 0x0000000100a893d9 node`Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit + 57
    frame #21: 0x00002e8cf0709aaf
    frame #22: 0x0000000100a1ffba node`Builtins_JSEntryTrampoline + 90
    frame #23: 0x0000000100a1fd98 node`Builtins_JSEntry + 120
    frame #24: 0x0000000100334e98 node`v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) + 3048
    frame #25: 0x00000001003342a2 node`v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) + 210
    frame #26: 0x0000000100212b23 node`v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 435
    frame #27: 0x0000000100002240 node`node::InternalMakeCallback(node::Environment*, v8::Local<v8::Object>, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*, node::async_context) + 688
    frame #28: 0x00000001000163f8 node`node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) + 200
    frame #29: 0x00000001001caba4 node`node::TLSWrap::SSLInfoCallback(ssl_st const*, int, int) + 468
    frame #30: 0x0000000100b78150 node`tls_finish_handshake + 496
    frame #31: 0x0000000100b6cf7a node`state_machine + 1274
    frame #32: 0x0000000100b3ed78 node`ssl3_write_bytes + 328
    frame #33: 0x0000000100b57be8 node`SSL_write + 24
    frame #34: 0x00000001001cc3c6 node`node::TLSWrap::ClearIn() + 310
    frame #35: 0x00000001001cddd8 node`node::TLSWrap::OnStreamRead(long, uv_buf_t const&) + 136
    frame #36: 0x000000010016ca2b node`node::LibuvStreamWrap::OnUvRead(long, uv_buf_t const*) + 699
    frame #37: 0x0000000100a0f46e node`uv__stream_io + 1870
    frame #38: 0x0000000100a180ac node`uv__io_poll + 2060
    frame #39: 0x0000000100a049a1 node`uv_run + 401
    frame #40: 0x00000001000f2075 node`node::NodeMainInstance::Run() + 309
    frame #41: 0x00000001000851b6 node`node::Start(int, char**) + 294
    frame #42: 0x00007fff203e3f5d libdyld.dylib`start + 1

(Process started using lldb -- node --inspect index.js.)

How often does it reproduce? Is there a required condition?

This process runs tasks periodically via npm package cron. The crash seems to be more likely to occur while the node process is actively running a task.

What is the expected behavior?

Not to crash.

What do you see instead?

Crash.

Additional information

Roughly, this code periodically uses the got package to query data from a couple different APIs, then insert the data into MySQL using the mysql2 package. As mentioned above, the crash is more likely to occur while the process is actively querying data and inserting it into MySQL. Running it under lldb seems to further increase the likelihood of the crash occuring.

The Chrome version is 91.0.4472.77 with built-in dev tools.

Node installed via nvm 0.38.0.

closed time in 2 months

jaysoffian

issue closedjaysoffian/eap_proxy

USG reboot not triggering reauthentication

I'm interested to know if this problem is just me, or others with a USG-3P as well. This script was working well until the last few months when if the USG router rebooted, it would not reauth with the ONT. The only way I could get it to reauthenticate was if I physically powered off the ONT and turned it back on again, OR if I pulled the ethernet cable from the ONT to the USG and put it back in (easier).

I'm working on a viable simulation of the plug-pull -- ip link down/up does not do it as the lights still stay lit, however, I've had some early success with: ethtool -s eth0 speed 100 duplex full autoneg off && sleep 5 && ethtool -s eth0 speed 1000 duplex full autoneg on -- essentially tricking the interface to reset itself through link negotiation.

Anyone else experiencing the above? If so, is it worth working the link reset hack into the shell script after the python starts?

closed time in 2 months

radicand

issue closedjaysoffian/eap_proxy

eth2 dropping every day around same time

Hey @jaysoffian, first off, thanks for this tool. Really like it. Also, I'm not sure if this is an issue with your script or just with AT&T's router, but I am having it drop connection every day around the same times. I notice it because I lose connection to everything, even calls with work. Was wondering if you or anyone else has had anything like this on their side or if its something wrong with the actual router.

I leave it turned on all the time once the EAP_Proxy was setup because when I would power it off, after a week or so my internet would stop working. I don't have the debug turned on with it but here is a log of when the event is happening.

Jun 10 15:43:11 USG zebra[623]: interface eth2 index 4 changed <UP,BROADCAST,MULTICAST>.
Jun 10 15:43:11 USG kernel: eth2: Link down
Jun 10 15:43:15 USG zebra[623]: interface eth2 index 4 changed <UP,BROADCAST,RUNNING,MULTICAST>.
Jun 10 15:43:15 USG kernel: eth2: 1000 Mbps Full duplex, port 2
Jun 10 15:43:39 USG zebra[623]: interface eth2 index 4 changed <UP,BROADCAST,MULTICAST>.
Jun 10 15:43:39 USG kernel: eth2: Link down
Jun 10 15:43:41 USG zebra[623]: interface eth2 index 4 changed <UP,BROADCAST,RUNNING,MULTICAST>.
Jun 10 15:43:41 USG kernel: eth2: 1000 Mbps Full duplex, port 2
Jun 10 15:43:51 USG zebra[623]: interface eth2 index 4 changed <UP,BROADCAST,MULTICAST>.
Jun 10 15:43:51 USG kernel: eth2: Link down
Jun 10 15:43:53 USG zebra[623]: interface eth2 index 4 changed <UP,BROADCAST,RUNNING,MULTICAST>.
Jun 10 15:43:53 USG kernel: eth2: 1000 Mbps Full duplex, port 2
Jun 10 15:45:24 USG eap_proxy[3018]: eth2: XX:XX:XX:XX:XX:XX > XX:XX:XX:XX:XX:XX, EAPOL start (1) v2, len 0 > eth0
Jun 10 15:45:24 USG eap_proxy[3018]: eth0.0: restarting dhclient

Notice, link goes down on eth2 where the AT&T router is. I'm a software engineer but networking was never my strong suit. Any help would be great but if its not related to your script then feel free to close.

Thanks.

closed time in 2 months

FurmanSK

issue commentjaysoffian/eap_proxy

eth2 dropping every day around same time

I don't know why your connection is dropping, but the log snippet you included looks normal.

FurmanSK

comment created time in 2 months

issue closedjaysoffian/eap_proxy

EdgeRouter 4 w/ bypass + Static IP Block

Hi Archerious,

Can you share any more details on the setup process for the 5 static IP block? I (like others) am having a hard time with the config.

Is VLAN300 a special vlan that the RG has pre-configured?

As far as setup here, it's all sharing the same connection outbound, so are you basically just assigning a port to a vlan where you want to expose the IP? And would inbound work the same way?

I don't mean to be such a bother, but I still don't understand how to apply this to my Edgerouter 4.

I followed the instructions to a Tee and yet I'm still having a hard time routing one of my static ips to one of my devices using a VLAN capable switch and assigning a VLAN to it.

(Using a TL-SG108E from TP-Link)

I can help you on discord screenshare or anydesk.

Originally posted by @Archerious in https://github.com/jaysoffian/eap_proxy/issues/18#issuecomment-653812274

closed time in 2 months

blumberg-git