-
Notifications
You must be signed in to change notification settings - Fork 329
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
[Error] Error in `dotnet': double free or corruption (out) ,V2.0.9328(latest) ,Ubuntu16.04x64,.netcore2.1.4 #220
Comments
More Info: My storage data copy from windows, and it loaded success. Empty storage will not throw exception. |
Client side got no response here,check protocol signatures is a new feature?
Server side output contains strange ip, and http for likq not startup...
|
uh oh, looks like the networking subsystem crashed on connection. investigating. |
@BenDerPan hey could you try the eventloop branch? The Linux networking is improved. |
I’ve also noticed the weird addresses reported by the server on client connection — these connections should be all coming from localhost, but appear to be random in the log. |
@yatli great , I will try it later, not on my PC now. :) |
@yatli the address report is still strange, but there is a new problem, my env : Server on ubuntu 16.04x64, Client on windows 10, and GraphEngine 2.0.9542. The client side sometimes will dead with no response when I save someting, but sometime it's ok. I think it is still the problem of network |
@BenDerPan thanks for testing! how about the double free corruption? |
@yatli there is no exception on Linux server side, so the double free corruption seems fixed. but I am not sure. |
attempting a minimal repro. |
minimal repro failed. Client side using System;
using Trinity;
using Trinity.Storage;
namespace test_ge
{
class Program
{
static void Main(string[] args)
{
TrinityConfig.LoadConfig("trinity.xml");
TrinityConfig.CurrentRunningMode = RunningMode.Client;
Global.CloudStorage.LoadCell(0, out var cell, out _);
Console.WriteLine(cell.Length);
}
}
} Server side using System;
using Trinity;
using Trinity.Storage;
using Trinity.Network;
namespace test
{
class Program
{
static void Main(string[] args)
{
Global.LocalStorage.SaveCell(0, new byte[128]);
Global.LocalStorage.SaveStorage();
TrinityServer server = new TrinityServer();
server.Start();
Console.Write("Press any key to stop...");
Console.ReadKey();
}
}
} windows client correctly outputs |
@yatli yes, I used custom syn protocol |
@BenDerPan repro failed. Client: using System;
using Trinity;
using Trinity.Storage;
using test_ge.S;
namespace test_ge
{
class Program
{
static void Main(string[] args)
{
TrinityConfig.LoadConfig("trinity.xml");
TrinityConfig.CurrentRunningMode = RunningMode.Client;
Global.CloudStorage.LoadCell(0, out var cell, out _);
Console.WriteLine(cell.Length);
using(var rsp = Global.CloudStorage[0].P())
{
Console.WriteLine(rsp);
}
}
}
} server (Linux): using System;
using Trinity;
using Trinity.Storage;
using Trinity.Network;
namespace test
{
class Server: SBase
{
public override void PHandler(PayloadWriter rsp)
{
rsp.foo = 123;
rsp.bar = "bar";
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Global.LocalStorage.SaveCell(0, new byte[128]);
Global.LocalStorage.SaveStorage();
Server server = new Server();
server.Start();
Console.Write("Press any key to stop...");
Console.ReadKey();
}
}
} TSL:
The client correctly outputs the response. |
@yatli I am trying to clean all the cache ,and rebuild for a test with my project |
@yatli Still the same: dead again, no response, as pic: |
@BenDerPan you mean crash, exception or freeze? |
@yatli I mean freeze, the code stopped at that line ,but there is no crash or exception |
Understood. From your screenshot I see that I should try larger payloads. Attempting a repro. |
@BenDerPan do you observe the same symptom if running a windows server program? |
@yatli I am trying now |
@yatli not freeze, but there is exception:
|
two possible cases:
|
could you come up with a minimal repro? I can then proceed to debug it. |
@yatli sorry I can't , it's part of our big system, pick it out is a terrible work :( |
@yatli I tested run the server on windows ,and build simple query client on both Ubuntu and windows, everything is ok , now I guess it's the version problem, server use eventloop version, and my exception client use master version. |
@BenDerPan you mean you rebuild everything and the problem is gone? |
@yatli yes, I can't reproduce the problem now, but I don't know why , maybe because I rebooted my PC. |
alright. let's close this issue for now (as the original double-free corruption is known to be resolved). thanks again! |
My Test Env:
GraphEngine.Core: V2.0.9328(latest) , I rebuild this morning.
OS: Ubuntu16.04 x64
.Net Core: V2.1.4
My code run well on windows, the exception occurs when I run my same code on Linux. and I found that when the storage contains data and query data with syn protocol this will happen.
My server side output
My client side only throw exception: System.IO.IOException "Network error occurs."
The text was updated successfully, but these errors were encountered: