Posted Sunday, November 07, 2010 3:53 PM
|
|
|
|
| I have a web service that is calling some bluebit objects and functions from the dll. It works fine but the problem is that if I request the server simultaniusly, I get sometimes (only with some requests) a System.AccessViolationException error in the matrix multiply method. Since it is only a Read access and the dll is thread safe, I don`t understand what is wrong. What can be the causes? System.AccessViolationException: Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada. en dgemm(SByte* , SByte* , Int32* , Int32* , Int32* , Double* , Double* , Int32* , Double* , Int32* , Double* , Double* , Int32* ) en Bluebit.MatrixLibrary.Matrix.op_Multiply(Matrix matrix1, Matrix matrix2) en Bluebit.MatrixLibrary.Matrix.Multiply(Matrix matrix1, Matrix matrix2) en semanticServices.Pseudodocumento.Consulta(String texto, Matrix& MatrizBase, Matrix& MatrizTerminosReducida, String[]& ArrayPalabras) en C:\Inetpub\wwwroot\semanticServices\Clases\Pseudodocumento.vb:línea 248 en semanticServices.Pseudodocumento..ctor(String Cadena, ClassModulo& espacio_varibles, String AjusteLinguistico) en C:\Inetpub\wwwroot\semanticServices\Clases\Pseudodocumento.vb:línea 95 en semanticServices.CUtterance.TextToPseudo() en C:\Inetpub\wwwroot\semanticServices\Clases\CUtterance.vb:línea 55 en semanticServices.CUtterance..ctor(String utterance, Boolean& allowNet, ClassModulo& espacio_varibles) en C:\Inetpub\wwwroot\semanticServices\Clases\CUtterance.vb:línea 34 en semanticServices.semanticRouter.DoRoute(String a) en C:\Inetpub\wwwroot\semanticServices\semanticRouter.asmx.vb:línea 121 Could you help me, please? Regards. Guillermo
|
|
Posted Sunday, November 07, 2010 3:57 PM
|
|
|
|
| [The same post but with a better structure (sorry about that)] I have a web service that is calling some bluebit objects and functions from the dll. It works fine but the problem is that if I request the server simultaniusly, I get sometimes (only with some requests) a System.AccessViolationException error in the matrix multiply method. Since it is only a Read access and the dll is thread safe, I don`t understand what is wrong. What can be the causes? System.AccessViolationException: Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada. e n dgemm(SByte* , SByte* , Int32* , Int32* , Int32* , Double* , Double* , Int32* , Double* , Int32* , Double* , Double* , Int32* ) en Bluebit.MatrixLibrary.Matrix.op_Multiply(Matrix matrix1, Matrix matrix2) en Bluebit.MatrixLibrary.Matrix.Multiply(Matrix matrix1, Matrix matrix2) en semanticServices.Pseudodocumento.Consulta(String texto, Matrix& MatrizBase, Matrix& MatrizTerminosReducida, String[]& ArrayPalabras) en C:\Inetpub\wwwroot\semanticServices\Clases\Pseudodocumento.vb:línea 248 en semanticServices.Pseudodocumento..ctor(String Cadena, ClassModulo& espacio_varibles, String AjusteLinguistico) en C:\Inetpub\wwwroot\semanticServices\Clases\Pseudodocumento.vb:línea 95 en semanticServices.CUtterance.TextToPseudo() en C:\Inetpub\wwwroot\semanticServices\Clases\CUtterance.vb:línea 55 en semanticServices.CUtterance..ctor(String utterance, Boolean& allowNet, ClassModulo& espacio_varibles) en C:\Inetpub\wwwroot\semanticServices\Clases\CUtterance.vb:línea 34 en semanticServices.semanticRouter.DoRoute(String a) en C:\Inetpub\wwwroot\semanticServices\semanticRouter.asmx.vb:línea 121 Could you help me, please? Regards. Guillermo
|
|
Posted Thursday, December 23, 2010 3:24 PM
|
|
|
|
If that might help, I had that error when I was not thoroughly disposing my matrices.
Regards,
|
|
Posted Wednesday, June 06, 2012 1:34 PM
|
|
|
|
| I am kind of new in Bluebit and got the same error. How to properly dispose Matrix? Case 1 - no need to dispose a, right? Matrix a; Matrix b = new Matrix(); b.Dispose(); Case 2 - Do I need to dispose a and c? Matrix a; Matrix b = new Matrix(); Matrix c; a = b; c = b.Clone(); b.Dispose(); Case 3 - Is this memory leak? need to dispose a before new again? Matrix a = new Matrix(); a = new Matrix(); a.Dispose(); Case 4 - do I need to dispose m in foo? Is there memory leak in main if I don't save the foo result? Matrix foo(Matrix m) { Matrix result = new Matrix(); return result } void main() { Matrix arg = new Matrix(); foo(r); Matrix r = foo(arg); arg.dispose(); r.dispose(); }
|
|
|
|