Category Archives

Archive of posts published in the category: Debugging

Async Wandering Part 9 — awaiting with timeout

This is the ninth part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? In previous part I mentioned multiple…

Reverse engineering Profesor Klaus Intensywny Kurs to fix missing microphone — Profesor Klaus Intensywny Kurs bez mikrofonu

Word of warning: if you come to this post to find the solution only and you are not interested in the explanation how to do it then scroll down to the last section. I don’t expect any non-Polish speaker to do it so…

.NET Inside Out Part 24 – Synchronous waiting for the Task in the same frame

This is the twentieth fourth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Let’s take this code:

and compare it…

.NET Inside Out Part 23 – Machine code address of any .NET Core method

This is the twentieth third part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# .NET Core introduced tiered compilation and reworked AOT…

RuntimeError: generator raised StopIteration in PySpark in Python 3.7.3

Recently I was debugging this simple PySpark code:

First, we get some DataFrame. Next, we collect it to dictionary. It doesn’t matter how you create the dictionary, actually it could be a set or list as well. Finally, we do some filtering…

.NET Inside Out Part 22 – Your application is always multithreaded and it’s not easy to exit properly

This is the twentieth second part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# We know that a .NET application is always…

Aborted transactions in Redshift due to Serializable isolation level 2

I had 3 jobs in my Redshift cluster. First of them was querying two tables A and B and then inserting data to table B. Second transaction was removing and inserting to table A. Third transaction was just reading A and B. The…

.NET Inside Out Part 21 – Using is broken

This is the twentieth first part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Today we are going to see using in…

.NET Inside Out Part 20 – Try doing nothing but decreasing performance

This is the twentieth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Let’s take this code and see its performance with…

.NET Inside Out Part 19 – Creating structure instance without calling a constructor

This is the nineteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Today we will see that .NET can create an…

DotNetBrowser and invalid external method call

Recently I was debugging the issue with DotNetBrowser and external call from JavaScript. I had the following:

So I configure the browser and then set external object to handle callback. The callback is a method accepting two integers. It was called using…

.NET Inside Out Part 18 — Handling StackOverflowException with custom CLR host

This is the eighteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# We saw in Part 8 — Handling Stack Overflow…

.NET Inside Out Part 17 — Abusing types to serialize non-serializable type

This is the seventeenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Last time we saw how to abuse type system.…

.NET Inside Out Part 16 — Abusing type system

This is the sixteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Today we are going to play with type system…

Aborted transactions in Redshift due to Serializable isolation level

I was working with seemingly simple load job in Redshift. I was generating some data and wanted to store the output in separate table, just to persist it for debugging purposes. However, since the job could be reran if needed, I wanted to…

Updating Tomcat in an EMR cluster

This is a short story of fixing Tomcat in an EMR cluster. There is a CVE about Tomcat 8 hole. I’m using EMR 5.12.2. Let’s try installing CVE patch as a bootstrap action with

It should fix the mentioned hole but after…

JVM Inside Out Part 4 — Locks and out of band exceptions

This is the fourth part of the JVM Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 — Getting object address Typical locking pattern in Java (and other languages, even outside them JVM…

JVM Inside Out Part 2 — Reading object content

This is the second part of the JVM Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 — Getting object address Last time we saw how to read object address. We can use…

JVM Inside Out Part 1 — Getting object address

This is the first part of the JVM Inside Out series. For your convenience you can find other parts using the links below: Part 1 — Getting object address Part 2 — Reading object content Part 3 — Java raw type trickery Part…

.NET Inside Out Part 13 — Bypassing license checks

This is the thirteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Last time we saw how to modify library on…