-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
edge crashes on Windows, memory access violation (LZO decompression?) #33
Comments
What leads you to believe this is a problem in the LZO? Do you have verbose logs from a crash? |
Sorry, the above was a poor example. I had a string of crashes where the failure bucket referenced lzo1x decompress. Sometimes this happened a moment after a peer joined a community or formed a connection. |
Thanks! More data will certainly help dig into this. Are you using the binaries from the release or compiling your own? (I want to check if the reported addresses should match up with the symbols we have) |
@aarojun, it's good if you managed to run any N3N application on Windows at all because I just didn't. I downloaded both, unblocked them, but nothing happens. Antimalwares and antiviruses didn't come up (I currently use Avira and Malwarebytes Anti-Malware), even Windows Defender didn't react as something suspicious, but there's just nothing, even when I run them from the administrator. Why, I really don't known. |
@NiKola-UE we test n3n on Windows regularly to prove that it is definitely working. You should create a new ticket and describe your situation in that new ticket so we can work on figuring out what is happening for you. |
OK, I'll try again. I'm using Windows 11, but I don't know if that has anything to do with it. If there are problems again, I will open a new issue for it, although I have already said everything here. Maybe I missed something after all... |
@NiKola-UE if it wasn't clear it's not drop-in replacement to n2n: the edge.exe must be called with "edge.exe start" instead of just double clicking, config files are located in user\n3n\ and the command syntax has changed from n2n. see the docs if these are causing issues. For me it runs generally without issue on Windows 11, just with different syntax (which is often more readable) compared to n2n. But I recommend starting a new issue. For the memory access violation crashes I had the following crash today but don't have more details as I didn't have the debugger running and couldn't reproduce it on a short timeframe. The vast majority of these crashes have referenced !lzo1x_decompress which is why I brought it up in the opening comment. Details
I believe the build here is the Windows x64 binary from 51eb3d7 https://github.com/hamishcoleman/n3n/actions/runs/9088706213/artifacts/1503386924 Not sure why I had that on the edge, I'll default to the current release binary for future testing. But this may go on hold for me depending on how much use n3n is seeing |
I suspect that the memory access issue is not in the lzo library, but in the pointers that have been handed to the lzo.
|
releated ntop/n2n#1165 |
Hi @eebssk1 , do you have any logs or dumps or any way to reproduce this issue that you can share? |
I currently does not use n2n much. I have set mtu to 1280. And I'm not getting the problem for now. It seems happen more often if network is unstable or game is bursting a lot small packets. I'll share more information next time this happens. [Anyway I added a extra check for corrupted data so it logs the incident and silently continue, preventing crash. As I said I didn't see the incident log yet] |
If your extra check is able to prevent the crash, are you able to share what you added? |
Nah it's just a quick dirty hack to prevent crash by checking if the struct data are garbage ntop/n2n#1165 (comment)_ According to that stacktrace and memory dump, the function crashes at the end, so I add a check at beginning to skip the entire function if data are corrupt. |
That is unfortunate, since I cannot see any specific buffer overflow in the code, nor am I able to reproduce any similar crash with heavy testing on Linux. So, without more data or a reproducible case, I doubt we can make any progress here. |
I never get any problems on linux, seems only happen on windows. Anyway when it happens I'll try to collect data as much as possible. |
I will be trying to setup a better windows test environment, but it is a lot more difficult than testing on Linux |
I would just like to complete what I already mentioned here (it is not necessary for a new issue): In my case, it is more and more certain that antiviruses interfere, block and make it impossible to start N3N and similar apps tools, not allowing them to work or even to install them at all, falsely recognizing them as something potentially dangerous, suspicious, unwanted, fraudulent, harmful, etc. The instructions, tutorials and guides should also indicate this, as well as explanations of how it should be properly set up and configured for us without advanced technical knowledge who know nothing or very little about programming; which is complex and demanding, but it will still be helpful and useful. Thank you. |
In my case, I never have any problem with zstd compression. |
@NiKola-UE It is very hard to include any clear statements about antivirus products as - pretty much by design - they are unclear on exactly how to bypass them. I would hope that there are clear log entries from any antivirus software making it obvious that they have blocked something. |
@eebssk1 Can you outline what is keeping you on n2n? Perhaps there is something we can merge into n3n to make a migration easier? |
The windows GUI maker @happyntec does not have any interests in supporting n3n. However if you may make n3n(in new branch) a drop-in replacement that comes with only bugfix but not API/CLI breakage then it's really appreciated. |
Do you have any explicit source that indicate AV/FW blocks n2n? |
n3n is deliberately cleaning up the API and CLI, so there will not be the compatibility you are looking for. I'd say that the n2n is the unstable one - the number of stability bugs that have been found and fixed in n3n is only increasing. It is a pity that none of these GUI systems were contributed to the repo, otherwise it would have been possible to forward port them along with the other n3n changes. |
To conclude: I used Avast early, whose adware and false positive alarming is really annoying, and now I use Avira, which, at least from the latest version, automatically blocks everything that looks like that, which I will have to deal with in detail myself. Maybe antiviruses and similar programs can sometimes cause these and similar chrashes, which is what this issue primarily deals with, but I don't know that... |
@NiKola-UE It does sound like we should have a different ticket to track reports of issues with antivirus software - perhaps you could create one and add the logs and event messages generated by your antivirus software so that they can be examined and checked if there are steps that can be taken to help avoid triggering them |
You're probably right. I will do so and record everything nicely when I have more time, but I think it's best to open a separate issue that will deal with it. |
Myself and some other users are experiencing common crashes on n3n-edge 3.3.4 due to access violation during lzo1x decompression. I'm unsure how to reproduce this for further debugging.
If the decompression method is unsafe I suppose one user sending corrupt packets could make a community momentarily unusable.
Issue ntop/n2n#1165 could be related.
We may test if using an older versions of n2n (pre 3.1.1) for edges on communities changes this behavior.
WinDbg !analyze -v result:
Details
The text was updated successfully, but these errors were encountered: