Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Oct 2002 14:07:34 -0400
From:      "Kevin B. Hendricks" <kevin.hendricks@sympatico.ca>
To:        Martin Blapp <mb@imp.ch>
Cc:        <dev@porting.openoffice.org>, <openoffice@freebsd.org>, <kan@freebsd.org>
Subject:   Re: [porting-dev] FreeBSD: Uncatched exception problem
Message-ID:  <200210101407.34969.kevin.hendricks@sympatico.ca>
In-Reply-To: <20021010192739.S15308-100000@levais.imp.ch>
References:  <20021010192739.S15308-100000@levais.imp.ch>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

Yes these are the right throw and catch places.

Here is what my debug fprintf's say when I try to load file://junk.ggg that 
does not exist:

[kbhend@localhost kbhend]$ cd OpenOffice.org1.0.1
[kbhend@localhost OpenOffice.org1.0.1]$ ./soffice
in detect doing the throw
caught in basedispatcher in implts_detectType

So you should be doing the same.

Since our old simple excetpion handling did not show the problem, perhaps 
the issue is throwing and catching across shared library boundaries.

The thow is done in libsfx* and the catch is done in libfwk*.

Perhaps if we changed the test program into two seaparate peices and tried 
the same thing (across two shared libs) we could recreate the issue 
outside of OOo.

What do you think?

Kevin

On October 10, 2002 01:36, Martin Blapp wrote:
> Hi,
>
> > So it would be interesting to change this catch to catch everything
> > just to make sure the stack walkback to find the catch is close to
> > working and then check the type of the exception.
>
> Doesn't work. been there, but are you sure it is the right "try" we are
> looking at ? But it is strange ...
>
>             printf("try XXX - 1\n");
>             sTypeName = xDetection->queryTypeByDescriptor( lDescriptor,
> bDeep ); // If no exception occure - but we couldn't detect right type
> ... // we can try to get neccessary information by using interaction //
> An interaction handler should exist everytime.
>             // If user forgot to set anyone - we created our own one
> some lines printf("try XXX - 2\n");
>
> try XXX - 1
> Abort trap (core dumped)
>
> Only the first point is hit ...
>
> > I would simply add debug print statements to these two methods to
> > confirm if the catch is made but somehow it is not an exAbort and so
> > another throw is done.  If you do not get the right catch, try
> > changeing it to catch everything "..." and the print out the type of
> > whatever is caught.
>
> Nope, the catch is never reached.
>
> Martin


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-openoffice" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210101407.34969.kevin.hendricks>