DapperLib / DapperLib/Dapper

out of memory error when not able to parse collumn

Open
#1,238 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
18.4k
Forks
3.7k
Avg merge
5h 8m
Merged PRs (30d)
1

Description

Hi,

I know that there is some issues open related as it seems... but actually none have a resolutiuon for issue.

I just use simple queries on my app, either select's or insert.
yet from time to time I have an out of memory on application.

[2019-04-08 10:59:58,116] [ERROR] [1]
ow.GiiC.Base.Result.Helper
[(null)]

System.Data.DataException: Error parsing column 5 (NRDOCI= - String) ---> System.OutOfMemoryException: Tipo de excepção 'System.OutOfMemoryException' accionado.
em System.Data.SqlClient.SqlBuffer.get_Value()
em System.Data.SqlClient.SqlDataReader.GetValueFromSqlBufferInternal(SqlBuffer data, _SqlMetaData metaData)
em System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
em System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
em System.Data.SqlClient.SqlDataReader.get_Item(Int32 i)
em Deserializeafc052fc-d8ce-4766-b174-869891c8024a(IDataReader )
--- Fim do rastreio da pilha de excepção interna ---
em Dapper.SqlMapper.ThrowDataException(Exception ex, Int32 index, IDataReader reader, Object value)
em Deserializeafc052fc-d8ce-4766-b174-869891c8024a(IDataReader )
em Dapper.SqlMapper.d__1381.MoveNext() em System.Collections.Generic.List1..ctor(IEnumerable1 collection) em System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)
em Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable1 commandTimeout, Nullable1 commandType)
em ow.GiiC.Services.Stocks.Moves.BrowseStockMovService.<>c__DisplayClass2_1.b__0(IDbConnection db) em C:\GIT[OW]ERP.DATA\source\data\Services\ow.GiiC.Services\Stocks\Moves\BrowseStockMovService.cs:line 54
em ow.data.Base.Service.BaseService.Detail[T](Func`2 query) em C:\GIT[OW]ERP.DATA\source\data\ow.data.Base\Service\BaseService.cs:line 72
em ow.GiiC.Services.Stocks.Moves.BrowseStockMovService.Browse(Int32 year, Boolean all) em C:\GIT[OW]ERP.DATA\source\data\Services\ow.GiiC.Services\Stocks\Moves\BrowseStockMovService.cs:line 54

[ow.GiiC.Base.Result.Helper.HandleException
[ow.GiiC.Base.Result.Helper.HandleException(System.Exception exception, DevExpress.Mvvm.IMessageBoxService messageBoxService, System.Boolean breakOnException)

[2019-04-08 10:59:59,186] [ERROR] [1]
ow.GiiC.Modules.Common.ViewModels.QuantityArticleSizesViewModel
[(null)]

System.Data.DataException: Error parsing column 5 (NRDOCI= - String) ---> System.OutOfMemoryException: Tipo de excepção 'System.OutOfMemoryException' accionado.
em System.Data.SqlClient.SqlBuffer.get_Value()
em System.Data.SqlClient.SqlDataReader.GetValueFromSqlBufferInternal(SqlBuffer data, _SqlMetaData metaData)
em System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
em System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
em System.Data.SqlClient.SqlDataReader.get_Item(Int32 i)
em Deserializeafc052fc-d8ce-4766-b174-869891c8024a(IDataReader )
--- Fim do rastreio da pilha de excepção interna ---
em ow.GiiC.Base.Result.Helper.HandleException(Exception exception, IMessageBoxService messageBoxService, Boolean breakOnException) em C:\GIT[OW]GiiC\source[OW]GiiC\COMMON\ow.GiiC.Base\Result\Helper.cs:line 476
em ow.GiiC.Base.Result.Helper.HandleCollectionResult[T](owResult1 item, CustomList1 original, IMessageBoxService messageBoxService, Boolean breakOnException) em C:\GIT[OW]GiiC\source[OW]GiiC\COMMON\ow.GiiC.Base\Result\Helper.cs:line 278
em ow.GiiC.Module.Stocks.ViewModels.Moves.BrowseStockMovViewModel.FetchGridDataAction() em C:\GIT[OW]GiiC\source[OW]GiiC\MODULES\ow.GiiC.Module.Stocks\ViewModels\Moves\BrowseStockMovViewModel.cs:line 152

[ow.GiiC.Base.ViewModels.ViewModel.HandleException
[ow.GiiC.Base.ViewModels.ViewModel.HandleException(System.Exception exception, DevExpress.Mvvm.IMessageBoxService messageBoxService)

from what it seem ,when sql buffer is unable to parse value, it thows an out of memory exception - this exception breaks all application.

I don't know how I can help you better for trying to handle this issue... let me know what I can do.

thanks

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Dapper.SqlMapper.Query call and the query location in BrowseStockMovService.cs line 54, focusing on column 5 (NRDOCI) in the reported stack trace. Reproduce the parsing failure if possible and determine how the SQL value leads to an OutOfMemoryException; done means the failure is handled without breaking the application.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, sql
Domain
backend, database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.