< Back to IRCAM Forum

SDIF dynamic library

Dear all, I often have problems with libSDIF.dynlib (see attached image), normally importing spectral analysis. The most annoying thing is that after this sort of errors one cannot import any analysis data anymore and the only way out is to quit and re-open OM. The bug is there since at least a couple of years (sorry, I should have pointed it out earlier). Am I the only one having this problem ?
Ah, another detail … I’m multithreading as much as I can these days, it works like charm with SuperVP and CSound but for some reasons it’s only possible to run batch spectral analysis with PM2 on a single thread without incurring errors. I guess this is also linked to some fragility of libSDIF.dynlib (just guessing).

All the best to you all and happy 2018

Mauro

Schermata-2018-01-11-alle-16.53.00.png

Am I the only one having this problem ?

Dear Mauro,

NO i did have this on Linux. But nobody could tell why. Very strange and odd thing.
I always had to destroy the sdif box create a new one and reload the file. Very annoying,

Best
K

Hi there – sorry for the no-reply :slight_smile:

I could tell something maybe with a test-case that I could reproduce. Can you attach a patch+SDIF file maybe?

It is pretty much normal that the whole SDIF lib stops working after it crashed though.

Jean

seems like this has been already discussed in the past…
http://forumnet.ircam.fr/user-groups/openmusic/forum/topic/segmentation-violation-error-2/

Hi Karim and Jean !
I can’t send a simple patch that generate the error simply because I don’t have one. The error is appearing randomly and after it I have to restart OM because (like Jean just wrote) he whole SDIF lib stops working. Is there a way to restart the lib without quitting OM ?
If it’s of any help the only cue that I can give is that I’m normally importing sdif files with chord-sequence analysis from AS …

ok but for instance: even if this is not systematic, do you get a crash by simply evaluating an SDIF file ? (even several times in a row)
it would be useful to determine the very minimal context for this crash to happen: I guess if you open a fresh OM workspace and load the SDIF file things are ok, aren’t they ?

I’ll try to find a minimal context and I’ll let you know !

Reading the past discussion with Francesco Vitale I can confirm that before 6.11 (or maybe 6.10, I don’t remember) there were no such errors …

Dear Mauro,

About your last comment regarding versions. I had this error on a 6.9 version so i suspect this comes not from OM, but from the sdif library itself. In the linux om6.12 i am using, the sdiflib is shipped with om and the version is 3.11.4

Best
K

Ok, I tried something simple today … I waited for the crash and then after a OM restart I succeded (without the slightest problem) to import the same SDIF files that allegedly caused it. It seems it’s really happening randomly :frowning:
Karim, I also think this is not an OM problem, it’s clearly coming from the sdif library itself …

can you attach the sdif file ?

Sure, here it is :

forumnet probably does not allow .sdif attachments …
you should .zip it maybe

here it is :

TransTevere-cseq.sdif_.zip (2.47 KB)

ok… so it’s a pretty small file actually…
can you get some a systematic crash with something like this ? (not me…)

Capture-d’écran-2018-01-21-à-20.39.46.png

I can’t as well, but it happens in the process of calling pm2 and then opening the file (maybe pm2 is still writing the file while sdif-lib tries to open it … but I’m using standard OM functions, nothing fancy (there’s a conditional with a “probe-file”, so I guess it should be safe). For the same reason it’s impossible to multi thread analysis with pm2, not because of pm2 but because of sdif-reading …

… so, something like this ? (no problem here either)

Capture-d’écran-2018-01-26-à-15.33.27.png

For the same reason it’s impossible to multi thread analysis with pm2, not because of pm2 but because of sdif-reading …

I’m not sure how you can multi-thread the analysis but yes, in this case it is possible that concurrent access to the same file cause the crash.