Week 4: Completion of compilation of Test Open Maps

June 13, 2025

← Back to Home

Hi everyone, welcome to the fourth blog of my GSoC'25 journey. A significant achievement in my fourth week's work is the Completion of compilation of the Test Open Maps from the hashmaps package. Now, Test Open Maps file is executing perfectly and passing all the tests, obviously with workarounds, using LFortran. It has been set up on CI to prevent any sort of regression. Merged Pull Request responsible for setting it up on CI is here.

I started the week by working on segmentation faults that I was getting while running test open maps. This was a trickier part as one needs to go through the entire codeflow to get the exact cause for these segfaults. Through thorough debugging, I was able to create MREs and workarounds for these segfaults.

Following is the List of MREs created this week to that were responsible for segfaults :-

Following the MREs, I created following workarounds this week to get rid of segmentation faults :-

After all these workarounds, test open maps was free from segmentation faults. But then, I encountered some error stop failures. I again continued my process of debugging and was able to create MREs and workarounds for these error stop failures.

Following is the List of MREs created this week to that were responsible for error stops failures :-

Following the MREs, I created following workarounds this week to get rid of error stop failures:-

With these, Test Open Maps was now working fine and so, I created a new branch to add all my commits on the top of latest branch of stdlib (branch link) and used this branch to set up test open maps on ci to avoid regression. This proved to be a significant step in the code compilation of stdlib hashmaps as all other files that are left to compile follow similar codeflow and so, the further code compilation process would not be that much difficult as we just need to replicate our workarounds in other files.

After this, I started to work on Test Chaining Maps whose progress can be tracked using the branch n-lf-hashmaps-4. Meanwhile, I also, worked on Issue #7330 as ,I believe, fixing this could simplify our code compilation process to a large extent. I was able to fix it and link to the Merged Pull Requests is here.

For my next week, I am planning to complete the compilation process for hashmaps package of stdlib as I don't think it would take more than a week to compile all other test files seeing their code complexity. Also, If time permits, then I will be fixing issues related to stdlib as our end goal is to compile stdlib using LFortran without any workarounds.

Overall, I worked for 31 hours this week and enjoyed the work that I did in the fourth week and would like to thank Ondrej Certik, Harshita Kalani, Pranav Goswami and all the other LFortran members for their reviews and suggestions which helped me a lot to tackle new difficulties. I am looking forward to continue my journey in the next week with the same excitement and enthusiasm and plan to complete my proposed tasks as quickly as I can.