Skip to main content

Posts

GTK Error in Eclipse RCP

GTK Error in Eclipse RCP Many times while testing eclipse RCP application, you will see following error: ------------------------------------------------------------------------------------------------------------ (eclipse:2960): GLib-GObject-WARNING **: invalid (NULL) pointer instance (eclipse:2960): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE' (instance) failed (eclipse:2960): Gtk-CRITICAL **: IA__gtk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed (eclipse:2960): Gtk-WARNING **: Screen for GtkWindow not set; you must always set a screen for a GtkWindow before using the window (eclipse:2960): Gtk-WARNING **: Screen for GtkWindow not set; you must always set a screen for a GtkWindow before using the window (eclipse:2960): Gdk-CRITICAL **: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed (eclipse:2960): Gdk-CRITICAL **: IA__gdk_display_get_pointer: assertion 'GDK_IS_DI...

Eclispe RCP : symbol lookup error: /usr/lib64/xulrunner-1.9.2.17/libxul.so: undefined symbol: gdk_screen_get_resolution

Error :  symbol lookup error: /usr/lib64/xulrunner-1.9.2.17/ libxul.so: undefined symbol: gdk_screen_get_resolution Solution : 1. Locate the XULRunner library.  # cd /usr/lib # ls -ld xul* lrwxrwxrwx 1 root root 21 2012-02-20 17:32 xulrunner-1.8.0 -> xulrunner-1.8.old lrwxrwxrwx 1 root root 21 20012-02-20 10:44 xulrunner-1.8.0.1 -> xulrunner-1.8.new lrwxrwxrwx 1 root root 18 2012-08-07 10:43 xulrunner-1.9 -> xulrunner-1.9.0.11 drwxr-xr-x 12 root root 4096 2012-08-07 10:45 xulrunner-1.9.0.11 2. If you are not able to locate the XULRunner in your system then, download from following location and install it : http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases 3. Modify eclipse.ini file with the xulrunner path found. append the following line at the end of the file. -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/local/xulrunner-1.9.0.11/ 4. Restart your RCP.

Native Library in Eclipse RCP

Native Library in Eclipse RCP Plug-in Adding native library in eclipse RCP is little-bit bit tricky part. Mainly native library has extensions like .so or .dll . There are multiple ways to define this kind of libraries to the eclipse RCP plug-in. (Follow steps one by one anyone of them will work.) Here we take one example : Suppose you have following directory structure <dirPath>/NativeLibraryDirectory/      --- nativeFile.jar      --- nativeLib.so 1. Adding library to the project For adding library to the project , right click on Project name -> select "Properties..." -> then go to "Java Build Path" Add nativeFile.jar from External jar button. Expand nativeFile.jar and double click on "native library location" enter the path "<dirPath>/NativeLibraryDirectory/" 2. Using LD_LIBRARY_PATH Set following environment before starting the Eclipse. setenv LD_LIBRARY_PATH <dirPath>/NativeLibraryDirectory/:$LD_...

Could not launch the product because the associated workspace is currently in use by another Eclipse application

If you are seeing following error at the beginning of the Eclipse or any RCP based product then here is the solution: Error Message: "Could not launch the product because the associated workspace is currently in use by another Eclipse application." or “Workspace in use or cannot be created chose a different one.” Solution :  go to workspace location remove file <workspace location>/.metadata/.lock Reason: Through eclipse, user can create multiple Workspace locations. One Workspace location can be edited by one user at a time. A workspace contains the data related to various project configuration and local file storage. To avoid multiple users to access the same workspace, eclipse is maintaining a ".lock" file inside the Workspace. Eclipse will remove this ".lock" file when you will close the Eclipse. But in some cases, the Eclipse will crash due to some error, due to which it could not able to remove ".lock" file from...

Singleton Design Pattern in Java

Singleton Design Pattern Singleton Design Pattern means able to create only one object of the class. When you want to restrict some class from being created multiple objects, this design pattern is being used. First step of creating the class singleton is to make it's constructor private so other class can't call it anytime and create and object of it. Then create a static method "getInstance" which will return the object of the same class . Here its SingletonExampleClass . This method (getInstance) is created static , because this class has private constructor so we won't have it's object with us to access this class first time. Synchronized block is used stop multiple threads to access the instantiation code block at the same time, else it will be able to create multiple objects. now assume that two thread are there T1 and T2. Not Thread T1 access this method first and acquire the lock. While Thread T1 was accessing the code inside Synchronized bl...

How to resolve : print() on closed filehandle in perl

How to resolve : print() on closed filehandle in perl Error "print() on closed filehandle" generated in the following condition ( it is on of possible cause of it) -------------------------- BEGIN Code --------------------------------------- my $inputFile = '/this/is/path/of/your/input/file.txt'; open(MYINPUTFILE, ">","$inputFile"); print MYINPUTFILE "any data"; close(MYINPUTFILE); -------------------------- END Code --------------------------------------- here if you don't have permission to access the path '/this/is/path/of/your/input/file.txt' or the path (of parent directory) does not exist then it will throuw the error : print() on closed filehandle To resolve this better to make practice as follow while opening the file: -------------------------- BEGIN Code --------------------------------------- open(MYINPUTFILE, ">","$inputFile") or die "ERROR ::: unable access the file...