Articles of deadlock

C ++ termina llamada sin una excepción activa

Estoy obteniendo un error de C ++ con subprocesamiento: terminate called without an active exception Aborted Aquí está el código: #include #include #include #include template class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &operator<<(TYPE &other) { std::unique_lock mtx_lock(mtx); while(buffer.size()>=max_buffer_size) stop_if_full.wait(mtx_lock); buffer.push(std::move(other)); mtx_lock.unlock(); stop_if_empty.notify_one(); return *this; } //POP […]

“Llamar esto desde su hilo principal puede conducir a un punto muerto y / o ANRs mientras obtiene accesToken” de GoogleAuthUtil (integración de Google Plus en Android)

En mi aplicación de Android, estoy tratando de obtener AccessToken de GoogleAuthUtil de la siguiente manera: accessToken = GoogleAuthUtil.getToken (this, mPlusClient.getAccountName (), “oauth2:” + SCOPES); Pero en esta línea estoy obteniendo el error de la siguiente manera: E / GoogleAuthUtil (4696): Llamar esto desde su hilo principal puede llevar a un punto muerto y / […]

Diagnóstico de interlockings en SQL Server 2005

Estamos viendo algunas condiciones perniciosas, pero raras, de interlocking en la base de datos Stack Overflow SQL Server 2005. Anexé el generador de perfiles, establecí un perfil de rastreo usando este excelente artículo sobre resolución de problemas y capturé un montón de ejemplos. Lo extraño es que la escritura de locking es siempre la misma […]

Solucionando el error de MySQL “Se encontró un punto muerto al tratar de obtener el locking; intente reiniciar la transacción “

Tengo una tabla MySQL con aproximadamente 5,000,000 filas que se actualizan constantemente en pequeñas formas mediante procesos paralelos de Perl que se conectan a través de DBI. La tabla tiene alrededor de 10 columnas y varios índices. Una operación bastante común da lugar al siguiente error a veces: DBD::mysql::st execute failed: Deadlock found when trying […]

.NET 4.0 y el temido OnUserPreferenceChanged Hang

He estado plagado con el temido OnUserPreferenceChanged Hang al que Ivan Krivyakov se refiere bastante bien: http://ikriv.com/en/prog/info/dotnet/MysteriousHang.html#BeginInvokeDance Publiqué una pregunta hace un tiempo, cuando originalmente me encontré con el problema: Sin embargo, otra C # Deadlock Debugging Question Pensé que lo había resuelto quitando un Control que se construyó a partir del hilo de UI, […]

Bloqueo recursivo (Mutex) frente a locking no recursivo (Mutex)

POSIX permite que los mutexes sean recursivos. Eso significa que el mismo hilo puede bloquear el mismo mutex dos veces y no se estancará. Por supuesto, también necesita desbloquearlo dos veces, de lo contrario, ningún otro hilo puede obtener el mutex. No todos los sistemas que soportan pthreads también soportan mutexes recursivos, pero si quieren […]

aguarda el trabajo pero llama a task.Result cuelga / deadlocks

Tengo las siguientes cuatro pruebas y la última se cuelga cuando la ejecuto, mi pregunta es por qué sucede esto: [Test] public void CheckOnceResultTest() { Assert.IsTrue(CheckStatus().Result); } [Test] public async void CheckOnceAwaitTest() { Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceAwaitTest() { Assert.IsTrue(await CheckStatus()); Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceResultTest() { Assert.IsTrue(CheckStatus().Result); // […]

Un ejemplo de asincronización / espera que causa un punto muerto

Encontré algunas de las mejores prácticas para la progtwigción asincrónica usando las palabras clave async / await de c # (soy nuevo en c # 5.0). Uno de los consejos dados fue el siguiente: Estabilidad: conozca sus contextos de sincronización … Algunos contextos de sincronización son no reentrantes y de un solo subproceso. Esto significa […]

espera vs Tarea. Espera – ¿Interlocking?

No entiendo muy bien la diferencia entre Task.Wait y Task.Wait . Tengo algo similar a las siguientes funciones en un servicio ASP.NET WebAPI: public class TestController : ApiController { public static async Task Foo() { await Task.Delay(1).ConfigureAwait(false); return “”; } public async static Task Bar() { return await Foo(); } public async static Task Ros() […]