Forums > MaxMSP

Once more: "check failed : no matching exception"

February 22, 2007 | 12:01 pm

Hi, this has been reported several times, but as far as I can find there hasn’t been an answer:

Where does the "check failed : no matching exception" message come from? And, naturally, how do I get rid of it?

I have just spent 1,5 hours trying to pin it down. No luck so far. I did find out that it happens once in an avarage of approximately 40 times when muting the contents of a poly by sending ‘mute 1′ to thispoly~ in a big patch that I am working on. But when I make a clean patch with a basic poly~ setup, the message is not there.

Perhaps someone could search through some source code for this string? In the mean time I’ll see if I can find out more.

mac os X.4.8, max 4.6.2, mac pro quad xeon

- Mattijs


February 22, 2007 | 5:21 pm

On Feb 22, 2007, at 4:01 AM, Mattijs Kneppers wrote:

> Where does the "check failed : no matching exception" message come
> from? And, naturally, how do I get rid of it?
> Perhaps someone could search through some source code for this
> string? In the mean time I’ll see if I can find out more.

It’s too difficult for us to figure out what’s causing this issue
without an example patch and reproduction steps.

I can tell you what it means and when it will happen, however. Not
necessarily why or how to fix it. It happens when our software thinks
that there has been a stack overflow and it attempts to restore
execution without crashing, but there is no evidence of the problem
from the thread which has detected it.

The two most likely ways it would appear to be able to happen are:

1. Some object is sending information out an outlet in some thread
other than the scheduler or low priority threads.

2. Memory has been corrupted by some object.

There might be some other possible scenarios, but these seem to be
the most probable. These don’t really lead to any easier way for you
to track it down. If you’re using third party objects, especially
anything which does stuff in a different thread like networking
objects or some kind of disk access, I would try removing those from
your patch first.

However, as long as you aren’t witnessing any other resulting issues,
you can probably safely ignore.

-Joshua


February 23, 2007 | 1:42 pm

Quote: jkc wrote on Thu, 22 February 2007 18:21
—————————————————-
>
> On Feb 22, 2007, at 4:01 AM, Mattijs Kneppers wrote:
>
> > Where does the "check failed : no matching exception" message come
> > from? And, naturally, how do I get rid of it?
> > Perhaps someone could search through some source code for this
> > string? In the mean time I’ll see if I can find out more.
>
> It’s too difficult for us to figure out what’s causing this issue
> without an example patch and reproduction steps.

I understand and expected that to be the case. Good that you replied nonetheless, every piece of information helps me to isolate the problem.

>
> I can tell you what it means and when it will happen, however. Not
> necessarily why or how to fix it. It happens when our software thinks
> that there has been a stack overflow and it attempts to restore
> execution without crashing, but there is no evidence of the problem
> from the thread which has detected it.
>
> The two most likely ways it would appear to be able to happen are:
>
> 1. Some object is sending information out an outlet in some thread
> other than the scheduler or low priority threads.
>
> 2. Memory has been corrupted by some object.
>
> There might be some other possible scenarios, but these seem to be
> the most probable. These don’t really lead to any easier way for you
> to track it down.

That is not necessarily true. The more info I have, the more likely it is that I’ll produce an example patch with reproduction steps. Often debugging in max is much about intuition ;)

> If you’re using third party objects, especially
> anything which does stuff in a different thread like networking
> objects or some kind of disk access, I would try removing those from
> your patch first.

I don’t use 3rd party objects.

>
> However, as long as you aren’t witnessing any other resulting issues,
> you can probably safely ignore.

Unluckily, that is not the case. There seems to be a relationship between the error and an adsr~ not properly muting a voice inside poly~ and messing up the voice stealing system.

But I’ll get back to this thread as soon as I have more info or even an example patch.

Thanks for your reply,
Mattijs


February 23, 2007 | 6:32 pm

On Feb 23, 2007, at 5:42 AM, Mattijs Kneppers wrote:

> Unluckily, that is not the case. There seems to be a relationship
> between the error and an adsr~ not properly muting a voice inside
> poly~ and messing up the voice stealing system.

This information is very useful. As it turns out, adsr~ sends
information out its outlet in response to the mute message, which
might be happening in the audio thread. If you can send us a simple
example patch, together with scheduler settings and platform
information, we an investigate further.

Thanks,
Joshua


February 27, 2007 | 11:21 am

Hi Joshua, good that you see options.

It turns out to be a lot of work to narrow down my current patch to a proper bug report. So for a start I’ll send you a bigger patch with steps to reproduce. I hope you don’t mind if I send it to your personal mail instead of posting on the forum.

Cheers,
Mattijs

Quote: jkc wrote on Fri, 23 February 2007 19:32
—————————————————-
>
> On Feb 23, 2007, at 5:42 AM, Mattijs Kneppers wrote:
>
> > Unluckily, that is not the case. There seems to be a relationship
> > between the error and an adsr~ not properly muting a voice inside
> > poly~ and messing up the voice stealing system.
>
> This information is very useful. As it turns out, adsr~ sends
> information out its outlet in response to the mute message, which
> might be happening in the audio thread. If you can send us a simple
> example patch, together with scheduler settings and platform
> information, we an investigate further.
>
> Thanks,
> Joshua
>
—————————————————-


February 28, 2007 | 2:57 pm

Btw please let me know if you didn’t receive my email or if you need more information.

- Mattijs

Quote: Mattijs wrote on Tue, 27 February 2007 12:21
—————————————————-
> Hi Joshua, good that you see options.
>
> It turns out to be a lot of work to narrow down my current patch to a proper bug report. So for a start I’ll send you a bigger patch with steps to reproduce. I hope you don’t mind if I send it to your personal mail instead of posting on the forum.
>
> Cheers,
> Mattijs
>
> Quote: jkc wrote on Fri, 23 February 2007 19:32
> —————————————————-
> >
> > On Feb 23, 2007, at 5:42 AM, Mattijs Kneppers wrote:
> >
> > > Unluckily, that is not the case. There seems to be a relationship
> > > between the error and an adsr~ not properly muting a voice inside
> > > poly~ and messing up the voice stealing system.
> >
> > This information is very useful. As it turns out, adsr~ sends
> > information out its outlet in response to the mute message, which
> > might be happening in the audio thread. If you can send us a simple
> > example patch, together with scheduler settings and platform
> > information, we an investigate further.
> >
> > Thanks,
> > Joshua
> >
> —————————————————-
>
>
—————————————————-


Viewing 6 posts - 1 through 6 (of 6 total)