Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] SWT produce a VM failure on a GC.getFontMetrics() call.


Sorry Ivan, I misunderstood.  If you dispose the font while it is in use (in a GC, a Widget ...), then the results are undefined and can include crashing.  If there is a simple work around to avoid the crash, then we will do it.  If the work around is too complex or makes the code slow, then we won't.  The good news is that you are as fast as a C/C++ program.  The bad news is ... well, you know what that is.

So, if you enter a bug report with some code that shows the problem, someone will look into working around it.  Thanks.



"Ivan Markov" <ivan.markov@xxxxxxxxx>
Sent by: platform-swt-dev-admin@xxxxxxxxxxx

10/08/2004 11:25 AM

Please respond to
platform-swt-dev

To
<platform-swt-dev@xxxxxxxxxxx>
cc
Subject
Re: [platform-swt-dev] SWT produce a VM failure on a GC.getFontMetrics() call.





I've asked this very question on this mailing list in the past and I think the answer was "NO".
 
Question: Is SWT supposed NOT to crash (somehow, by refcounting used resources or whatnot) if user accidentally disposes a resource which is still selected somewhere, like a font in a GC?
 
Answer: It is OK to crash.
 
Has something changed recently?
 
 
----- Original Message -----
From: "Mike Wilson" <Mike_Wilson@xxxxxxxxxx>
To: <platform-swt-dev@xxxxxxxxxxx>
Sent: Friday, October 08, 2004 5:48 PM
Subject: Re: [platform-swt-dev] SWT produce a VM failure on a GC.getFontMetrics() call.

> True, but that does excuse the fact that SWT crashed. Seems like another
> place where an isDisposed check is needed.
>
> McQ.
>
>
>
>
> Arnaud De Muyser <
ademuyser@xxxxxxxxxx>
> Sent by:
platform-swt-dev-admin@xxxxxxxxxxx
> 10/08/04 09:03
> Please respond to
> platform-swt-dev
>
>
> To
>
platform-swt-dev@xxxxxxxxxxx
> cc
>
> Subject
> Re: [platform-swt-dev] SWT produce a VM failure on a GC.getFontMetrics()
> call.
>
>
>
>
>
>
>
> Seek in it before sent mail .... Sorry.
>
> This is due to the following situation:
>
> Font font = new Font( ... );
> gc.setFont( font );
> font.dispose();
> gc.getFontMetrics() => core.
>
> The right think is to not dispose font after set it in a gc ...
>
>
>
> Arnaud De
Muyser/France/IBM@IBMFR
> Sent by:
platform-swt-dev-admin@xxxxxxxxxxx
> 10/08/2004 02:37 PM
>
> Please respond to
> platform-swt-dev
>
>
> To
>
platform-swt-dev@xxxxxxxxxxx
> cc
>
> Subject
> [platform-swt-dev] SWT produce a VM failure on a GC.getFontMetrics() call.
>
>
>
>
>
>
>
>
>
> Does anyone have already seen this kind of joke ?
> Using Eclipse SDK 3.0.1 on a Linux Suse.
> Thanks for your help.
> Arnaud.
>
>
> ** (<unknown>:668): CRITICAL **: file pango-fontmap.c: line 126
> (pango_font_map_load_fontset): assertion
> `pango_font_description_get_family (desc) != NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file pango-fontset.c: line 101
> (pango_fontset_get_metrics): assertion `fontset != NULL' failed
>
> (<unknown>:668): GLib-GObject-CRITICAL **: file gobject.c: line 1337
> (g_object_unref): assertion `G_IS_OBJECT (object)' failed
>
> ** (<unknown>:668): CRITICAL **: file fonts.c: line 1206
> (pango_font_metrics_get_ascent): assertion `metrics != NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file fonts.c: line 1226
> (pango_font_metrics_get_descent): assertion `metrics != NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file fonts.c: line 1245
> (pango_font_metrics_get_approximate_char_width): assertion `metrics !=
> NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file fonts.c: line 1182
> (pango_font_metrics_unref): assertion `metrics != NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file pango-fontmap.c: line 126
> (pango_font_map_load_fontset): assertion
> `pango_font_description_get_family (desc) != NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file pango-fontset.c: line 101
> (pango_fontset_get_metrics): assertion `fontset != NULL' failed
>
> (<unknown>:668): GLib-GObject-CRITICAL **: file gobject.c: line 1337
> (g_object_unref): assertion `G_IS_OBJECT (object)' failed
>
> ** (<unknown>:668): CRITICAL **: file fonts.c: line 1206
> (pango_font_metrics_get_ascent): assertion `metrics != NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file fonts.c: line 1226
> (pango_font_metrics_get_descent): assertion `metrics != NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file fonts.c: line 1245
> (pango_font_metrics_get_approximate_char_width): assertion `metrics !=
> NULL' failed
>
> ** (<unknown>:668): CRITICAL **: file fonts.c: line 1182
> (pango_font_metrics_unref): assertion `metrics != NULL' failed
>
> An unexpected exception has been detected in native code outside the VM.
> Unexpected Signal : 11 occurred at PC=0x400E49DF
> Function=strlen+0xF
> Library=/lib/libc.so.6
>
> Current Java thread:
>        at org.eclipse.swt.internal.gtk.OS.pango_context_get_metrics(Native
> Method)
>        - locked <0x4831db20> (a java.lang.Class)
>        at org.eclipse.swt.graphics.GC.getFontMetrics(GC.java:1472)
>                at ....
>
> and Sun's VM (1.4.2) produce a core file ...
>
> _______________________________________________
> platform-swt-dev mailing list
>
platform-swt-dev@xxxxxxxxxxx
>
http://dev.eclipse.org/mailman/listinfo/platform-swt-dev

Back to the top