Buggy code:
public class Label extends Control { int frameHandle ; int labelHandle ; int imageHandle ; ImageList imageList ; Image image ; String text ; public Label ( Composite parent , int style ) { } static int checkStyle ( int style ) { } void addRelation ( Control control ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } void createHandle ( int index ) { <START_BUG> state |= HANDLE ; <END_BUG> fixedHandle = OS . g_object_new ( display . gtk_fixed_get_type ( ) , 0 ) ; if ( ( fixedHandle ) == 0 ) error ( ERROR_NO_HANDLES ) ; OS . gtk_fixed_set_has_window ( fixedHandle , true ) ; if ( ( ( style ) & ( SWT . SEPARATOR ) ) != 0 ) { if ( ( ( style ) & ( SWT . HORIZONTAL ) ) != 0 ) { handle = OS . gtk_hseparator_new ( ) ; } else { handle = OS . gtk_vseparator_new ( ) ; } if ( ( handle ) == 0 ) error ( ERROR_NO_HANDLES ) ; } else { handle = OS . gtk_hbox_new ( false , 0 ) ; if ( ( handle ) == 0 ) error ( ERROR_NO_HANDLES ) ; labelHandle = OS . gtk_label_new_with_mnemonic ( null ) ; if ( ( labelHandle ) == 0 ) error ( ERROR_NO_HANDLES ) ; imageHandle = OS . gtk_image_new ( ) ; if ( ( imageHandle ) == 0 ) error ( ERROR_NO_HANDLES ) ; OS . gtk_container_add ( handle , labelHandle ) ; OS . gtk_container_add ( handle , imageHandle ) ; } if ( ( ( style ) & ( SWT . BORDER ) ) != 0 ) { frameHandle = OS . gtk_frame_new ( null ) ; if ( ( frameHandle ) == 0 ) error ( ERROR_NO_HANDLES ) ; OS . gtk_container_add ( fixedHandle , frameHandle ) ; OS . gtk_container_add ( frameHandle , handle ) ; OS . gtk_frame_set_shadow_type ( frameHandle , GTK_SHADOW_ETCHED_IN ) ; } else { OS . gtk_container_add ( fixedHandle , handle ) ; } if ( ( ( style ) & ( SWT . SEPARATOR ) ) != 0 ) return ; if ( ( ( style ) & ( SWT . WRAP ) ) != 0 ) OS . gtk_label_set_line_wrap ( labelHandle , true ) ; if ( ( ( style ) & ( SWT . LEFT ) ) != 0 ) { OS . gtk_misc_set_alignment ( labelHandle , 0.0F , 0.0F ) ; OS . gtk_label_set_justify ( labelHandle , GTK_JUSTIFY_LEFT ) ; OS . gtk_misc_set_alignment ( imageHandle , 0.0F , 0.5F ) ; return ; } if ( ( ( style ) & ( SWT . CENTER ) ) != 0 ) { OS . gtk_misc_set_alignment ( labelHandle , 0.5F , 0.0F ) ; OS . gtk_label_set_justify ( labelHandle , GTK_JUSTIFY_CENTER ) ; OS . gtk_misc_set_alignment ( imageHandle , 0.5F , 0.5F ) ; return ; } if ( ( ( style ) & ( SWT . RIGHT ) ) != 0 ) { OS . gtk_misc_set_alignment ( labelHandle , 1.0F , 0.0F ) ; OS . gtk_label_set_justify ( labelHandle , GTK_JUSTIFY_RIGHT ) ; OS . gtk_misc_set_alignment ( imageHandle , 1.0F , 0.5F ) ; return ; } } void createWidget ( int index ) { } void deregister ( ) { } int eventHandle ( ) { } public int getAlignment ( ) { } public int getBorderWidth ( ) { } public Image getImage ( ) { } String getNameText ( ) { } public String getText ( ) { } void hookEvents ( ) { } boolean isDescribedByLabel ( ) { } boolean mnemonicHit ( char key ) { } boolean mnemonicMatch ( char key ) { } void register ( ) { } void releaseHandle ( ) { } void releaseWidget ( ) { } void resizeHandle ( int width , int height ) { } public void setAlignment ( int alignment ) { } void setBackgroundColor ( GdkColor color ) { } int setBounds ( int x , int y , int width , int height , boolean move , boolean resize ) { } void setFontDescription ( int font ) { } void setForegroundColor ( GdkColor color ) { } void setOrientation ( ) { } public void setImage ( Image image ) { } public void setText ( String string ) { } void showWidget ( ) { } }

Fix:
state |= ( HANDLE ) | ( THEME_BACKGROUND ) ;