Skip to content
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

OutOfMemoryException #399

Open
ghost opened this issue Dec 6, 2019 · 0 comments
Open

OutOfMemoryException #399

ghost opened this issue Dec 6, 2019 · 0 comments

Comments

@ghost
Copy link

ghost commented Dec 6, 2019

Affected version: 1.2.0

I'm executing roundhouse from powershell and receive OutOfMemoryException. Powershell puts some limitations on memory (default is 128MB per powershell instance). I've increased it to 1GB but It's still not enough.

My ScriptsRun table has data space = 1,745.109 MB

Callstack:

Looking for AlterDatabase scripts in "[...]alterDatabase".
--------------------------------------------------
Exception of type 'System.OutOfMemoryException' was thrown.
Exception of type 'System.OutOfMemoryException' was thrown.
set_db_options.sql - I didn't find this script executed before.
NHibernate.Exceptions.GenericADOException: could not execute query
[ SELECT this_.id as id1_1_0_, this_.version_id as version2_1_0_, this_.script_name as script3_1_0_, this_.text_of_script as text4_1_0_, this_.text_hash as text5_1_0_, this_.one_time_script as one6_1_0_, this_.entry_date as entry7_1_0_, this_.modified_date as modified8_1_0_, this_.entered_by as entered9_1_0_ FROM dbo.ScriptsRun this_ ]
[SQL: SELECT this_.id as id1_1_0_, this_.version_id as version2_1_0_, this_.script_name as script3_1_0_, this_.text_of_script as text4_1_0_, this_.text_hash as text5_1_0_, this_.one_time_script as one6_1_0_, this_.entry_date as entry7_1_0_, this_.modified_date as modified8_1_0_, this_.entered_by as entered9_1_0_ FROM dbo.ScriptsRun this_] ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.String.CreateStringFromEncoding(Byte* bytes, Int32 byteLength, Encoding encoding)
   at System.Text.EncodingNLS.GetString(Byte[] bytes, Int32 index, Int32 count)
   at System.Data.SqlClient.TdsParserStateObject.TryReadStringWithEncoding(Int32 length, Encoding encoding, Boolean isPlp, String& value)
   at System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj, SqlCommandColumnEncryptionSetting columnEncryptionOverride, String columnName)
   at System.Data.SqlClient.SqlDataReader.TryReadColumnData()
   at System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly)
   at System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn)
   at System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
   at System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
   at NHibernate.Type.AbstractStringType.Get(DbDataReader rs, Int32 index, ISessionImplementor session)
   at NHibernate.Type.NullableType.NullSafeGet(DbDataReader rs, String name, ISessionImplementor session)
   at NHibernate.Persister.Entity.AbstractEntityPersister.Hydrate(DbDataReader rs, Object id, Object obj, ILoadable rootLoadable, String[][] suffixedPropertyColumns, Boolean allProperties, ISessionImplementor session)
   at NHibernate.Loader.Loader.LoadFromResultSet(DbDataReader rs, Int32 i, Object obj, String instanceClass, EntityKey key, LockMode lockMode, ILoadable rootPersister, ISessionImplementor session)
   at NHibernate.Loader.Loader.InstanceNotYetLoaded(DbDataReader dr, Int32 i, ILoadable persister, EntityKey key, LockMode lockMode, EntityKey optionalObjectKey, Object optionalObject, IList hydratedObjects, ISessionImplementor session)
   at NHibernate.Loader.Loader.GetRow(DbDataReader rs, ILoadable[] persisters, EntityKey[] keys, Object optionalObject, EntityKey optionalObjectKey, LockMode[] lockModes, IList hydratedObjects, ISessionImplementor session, Boolean mustLoadMissingEntity)
   at NHibernate.Loader.Loader.GetRowFromResultSet(DbDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
   --- End of inner exception stack trace ---
   at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
   at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
   at NHibernate.Impl.CriteriaImpl.List(IList results)
   at NHibernate.Impl.CriteriaImpl.List[T]()
   at roundhouse.infrastructure.persistence.Repository.get_all[T]() in C:\projects\roundhouse\product\roundhouse.core\infrastructure\persistence\Repository.cs:line 81
   at roundhouse.databases.DefaultDatabase`1.<get_all_scripts>b__107_0() in C:\projects\roundhouse\product\roundhouse.core\databases\DefaultDatabase.cs:line 348
   at Polly.Policy.<>c__DisplayClass114_0`1.<Execute>b__0(Context ctx, CancellationToken ct)
   at Polly.Retry.RetryEngine.Implementation[TResult](Func`3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates`1 shouldRetryResultPredicates, Action`4 onRetry, Int32 permittedRetryCount, IEnumerable`1 sleepDurationsEnumerable, Func`4 sleepDurationProvider)
   at Polly.Retry.RetryPolicy.Implementation[TResult](Func`3 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.Execute[TResult](Func`3 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.Execute[TResult](Func`1 action)
   at roundhouse.databases.DefaultDatabase`1.get_all_scripts() in C:\projects\roundhouse\product\roundhouse.core\databases\DefaultDatabase.cs:line 348
   at roundhouse.databases.DefaultDatabase`1.get_script_run(String script_name) in C:\projects\roundhouse\product\roundhouse.core\databases\DefaultDatabase.cs:line 358
   at roundhouse.databases.DefaultDatabase`1.get_current_script_hash(String script_name) in C:\projects\roundhouse\product\roundhouse.core\databases\DefaultDatabase.cs:line 336
   at roundhouse.migrators.DefaultDatabaseMigrator.this_script_has_changed_since_last_run(String script_name, String sql_to_run) in C:\projects\roundhouse\product\roundhouse.core\migrators\DefaultDatabaseMigrator.cs:line 316
 Running set_db_options.sql on SQL.BITECH.LOCAL\IL - IL_Evo_TEST.
RoundhousE encountered an error.
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at roundhouse.cryptography.LocalMD5Implementation.Transform(Byte[] block, Int32 offset)
   at roundhouse.cryptography.LocalMD5Implementation.HashCore(Byte[] input, Int32 offset, Int32 count) in C:\projects\roundhouse\product\roundhouse.core\cryptography\LocalMD5Implementation.cs:line 218
   at roundhouse.cryptography.LocalMD5Implementation.HashFinal() in C:\projects\roundhouse\product\roundhouse.core\cryptography\LocalMD5Implementation.cs:line 250
   at roundhouse.cryptography.LocalMD5Implementation.ComputeHash(Byte[] buffer, Int32 offset, Int32 count) in C:\projects\roundhouse\product\roundhouse.core\cryptography\LocalMD5Implementation.cs:line 469
   at roundhouse.cryptography.LocalMD5Implementation.ComputeHash(Byte[] buffer) in C:\projects\roundhouse\product\roundhouse.core\cryptography\LocalMD5Implementation.cs:line 463
   at roundhouse.cryptography.MD5CryptographicService.hash(String clear_text_of_what_to_hash) in C:\projects\roundhouse\product\roundhouse.core\cryptography\MD5CryptographicService.cs:line 18
   at roundhouse.migrators.DefaultHashGenerator.create_hash(String sql_to_run, Boolean normalizeEndings) in C:\projects\roundhouse\product\roundhouse.core\migrators\DefaultHashGenerator.cs:line 34
   at roundhouse.migrators.DefaultDatabaseMigrator.record_script_in_scripts_run_table(String script_name, String sql_to_run, Boolean run_this_script_once, Int64 version_id) in C:\projects\roundhouse\product\roundhouse.core\migrators\DefaultDatabaseMigrator.cs:line 258
   at roundhouse.migrators.DefaultDatabaseMigrator.run_sql(String sql_to_run, String script_name, Boolean run_this_script_once, Boolean run_this_script_every_time, Int64 version_id, EnvironmentSet environment_set, String repository_version, String repository_path, ConnectionType connection_type) in C:\projects\roundhouse\product\roundhouse.core\migrators\DefaultDatabaseMigrator.cs:line 225
   at roundhouse.runners.RoundhouseMigrationRunner.traverse_files_and_run_sql(String directory, Int64 version_id, MigrationsFolder migration_folder, EnvironmentSet migrating_environment_set, String repository_version, ConnectionType connection_type) in C:\projects\roundhouse\product\roundhouse.core\runners\RoundhouseMigrationRunner.cs:line 290
   at roundhouse.runners.RoundhouseMigrationRunner.log_and_traverse(MigrationsFolder folder, Int64 version_id, String new_version, ConnectionType connection_type) in C:\projects\roundhouse\product\roundhouse.core\runners\RoundhouseMigrationRunner.cs:line 222
   at roundhouse.runners.RoundhouseMigrationRunner.run() in C:\projects\roundhouse\product\roundhouse.core\runners\RoundhouseMigrationRunner.cs:line 135
Exception of type 'System.OutOfMemoryException' was thrown.
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at roundhouse.cryptography.LocalMD5Implementation.Transform(Byte[] block, Int32 offset)
   at roundhouse.cryptography.LocalMD5Implementation.HashCore(Byte[] input, Int32 offset, Int32 count) in C:\projects\roundhouse\product\roundhouse.core\cryptography\LocalMD5Implementation.cs:line 218
   at roundhouse.cryptography.LocalMD5Implementation.HashFinal() in C:\projects\roundhouse\product\roundhouse.core\cryptography\LocalMD5Implementation.cs:line 250
   at roundhouse.cryptography.LocalMD5Implementation.ComputeHash(Byte[] buffer, Int32 offset, Int32 count) in C:\projects\roundhouse\product\roundhouse.core\cryptography\LocalMD5Implementation.cs:line 469
   at roundhouse.cryptography.LocalMD5Implementation.ComputeHash(Byte[] buffer) in C:\projects\roundhouse\product\roundhouse.core\cryptography\LocalMD5Implementation.cs:line 463
   at roundhouse.cryptography.MD5CryptographicService.hash(String clear_text_of_what_to_hash) in C:\projects\roundhouse\product\roundhouse.core\cryptography\MD5CryptographicService.cs:line 18
   at roundhouse.migrators.DefaultHashGenerator.create_hash(String sql_to_run, Boolean normalizeEndings) in C:\projects\roundhouse\product\roundhouse.core\migrators\DefaultHashGenerator.cs:line 34
   at roundhouse.migrators.DefaultDatabaseMigrator.record_script_in_scripts_run_table(String script_name, String sql_to_run, Boolean run_this_script_once, Int64 version_id) in C:\projects\roundhouse\product\roundhouse.core\migrators\DefaultDatabaseMigrator.cs:line 258
   at roundhouse.migrators.DefaultDatabaseMigrator.run_sql(String sql_to_run, String script_name, Boolean run_this_script_once, Boolean run_this_script_every_time, Int64 version_id, EnvironmentSet environment_set, String repository_version, String repository_path, ConnectionType connection_type) in C:\projects\roundhouse\product\roundhouse.core\migrators\DefaultDatabaseMigrator.cs:line 225
   at roundhouse.runners.RoundhouseMigrationRunner.traverse_files_and_run_sql(String directory, Int64 version_id, MigrationsFolder migration_folder, EnvironmentSet migrating_environment_set, String repository_version, ConnectionType connection_type) in C:\projects\roundhouse\product\roundhouse.core\runners\RoundhouseMigrationRunner.cs:line 290
   at roundhouse.runners.RoundhouseMigrationRunner.log_and_traverse(MigrationsFolder folder, Int64 version_id, String new_version, ConnectionType connection_type) in C:\projects\roundhouse\product\roundhouse.core\runners\RoundhouseMigrationRunner.cs:line 222
   at roundhouse.runners.RoundhouseMigrationRunner.run() in C:\projects\roundhouse\product\roundhouse.core\runners\RoundhouseMigrationRunner.cs:line 202
   at roundhouse.console.Program.run_migrator(ConfigurationPropertyHolder configuration)
   at roundhouse.console.Program.Main(String[] args)```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants