I recently noticed that the FluidSynth library for Linux had been upgraded since I last had installed it months or even over a year ago. Something makes me think its release version jumped from 1.0.x to 3.0.x on my distro in the last couple of months or weeks. Or probably just a few days ago...
Normally, I would not suspect anything from it for I first thought it was a minor update instead of a major one, like from 1.1 to 1.3 or the like. How wrong I was!
As of now, HiddenChest for Linux is compiling fine. I get no errors besides some of Ruby's CXX args warnings because they wanna make me refactor some basic code in its code base. It seems to be optional for Ruby version 2.7 so far. Not gonna happen any time soon, Ruby Header Files.
I guess that could change if I upgrade Ruby to 3.x in the future. Not keen on that for sure.
The major issue was finding that stopping a MIDI and reading a second audio sample, namely some OGG or WAV file, could cause it to failed for no specific reason.
So I started digging on the web only to find out that it was either FluidSynth related, kind of unlikely, or SDL_Sound based. I went this route, and what I found out was that I had missed the fact that there was a brand new SDL2_Sound project!
Thanks to getting its source code and some feedback provided by gdb tool, I discovered that the main issue that was causing the error and the fatalistic / apocalyptic core dump was an arithmetic exception.
My first suspicion thanks to my experience in programming and mathematics was that it should be some sort of division by zero kind of error. Actually, I failed. But I got very close indeed!
The actual problem was that the divisor was equal to nothing.
Not even its arithmetic equivalent, the dreadful 0!
Now after checking the code for any differences, something I usually / always do manually, I found out the root cause!
The integer data type was not some uint8_t integer but some uint16_t one!
Now it does return the dreadful 0 that I was talking about a few moments ago...
Normally, I would not suspect anything from it for I first thought it was a minor update instead of a major one, like from 1.1 to 1.3 or the like. How wrong I was!
As of now, HiddenChest for Linux is compiling fine. I get no errors besides some of Ruby's CXX args warnings because they wanna make me refactor some basic code in its code base. It seems to be optional for Ruby version 2.7 so far. Not gonna happen any time soon, Ruby Header Files.
I guess that could change if I upgrade Ruby to 3.x in the future. Not keen on that for sure.
The major issue was finding that stopping a MIDI and reading a second audio sample, namely some OGG or WAV file, could cause it to failed for no specific reason.
So I started digging on the web only to find out that it was either FluidSynth related, kind of unlikely, or SDL_Sound based. I went this route, and what I found out was that I had missed the fact that there was a brand new SDL2_Sound project!
Thanks to getting its source code and some feedback provided by gdb tool, I discovered that the main issue that was causing the error and the fatalistic / apocalyptic core dump was an arithmetic exception.
My first suspicion thanks to my experience in programming and mathematics was that it should be some sort of division by zero kind of error. Actually, I failed. But I got very close indeed!
The actual problem was that the divisor was equal to nothing.
Not even its arithmetic equivalent, the dreadful 0!
Now after checking the code for any differences, something I usually / always do manually, I found out the root cause!
The integer data type was not some uint8_t integer but some uint16_t one!
Now it does return the dreadful 0 that I was talking about a few moments ago...
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE