Проблема обновления приложения eclipse rcp с 3.3 до 3.5 на Mac OS - PullRequest
1 голос
/ 16 марта 2010

Ранее у меня было приложение eclipse rcp, основанное на pugins eclipse 3.3, развернутых как в Windows, так и в Mac OS X 10.4. сейчас я пытаюсь портировать приложение на плагины java 1.6 и eclipse 3.5 (Build id: 20100218-1602) на Mac OS X 10.5.8 (Leopard).

Я могу запустить продукт из eclipse 3.5 в Windows, но не в Mac OS X. У меня есть 64-битная IDE Coca eclipse и java 6. В конфигурации запуска я установил JRE среды выполнения JVM 1.6.0 и добавил необходимые плагины. Плагины проверяются, и все остальное похоже на конфигурацию Windows, где он работает, но при запуске я получаю только две строки в консоли:

2010-03-16 13:29:32.742 java[758:10b] [Java CocoaComponent compatibility mode]: Enabled
2010-03-16 13:29:32.744 java[758:10b] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000

и тогда программа просто зависает на неопределенное время. В файл .log ничего не записано, поэтому я не уверен, какая там ошибка.

РЕДАКТИРОВАТЬ: Вот что говорит профилирование Yourkit до того, как все действия процессора прекратятся.

+----------------------------------------------------------------------------+----------------+-----------------+  
|                                    Name                                    |   Time   (ms)    |  Own Time (ms)  |  
+----------------------------------------------------------------------------+----------------+-----------------+  
|  +---<All threads>                                                         |  2,799  100   %  |                 |
|    |                                                                       |                |                 |
|    +---org.eclipse.equinox.launcher.Main.main(String[])                    |  1,924  69% |              0  |  
|    |                                                                       |                |                 |  
|    +---org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run()  |    632   23 %  |              0  |
|    |                                                                       |                |                 |  
|    +---java.lang.Thread.run()                                              |    135    5 %  |              0  |
|    |                                                                       |                |                 |  
|    +---java.lang.ClassLoader.loadClassInternal(String)                     |    106    4 %  |              0  |  
+----------------------------------------------------------------------------+----------------+-----------------+  

, и это на вкладке исключений:

Exception staticstics

+----------------------------------------+--------------+
|                  Name                  |    Count     |
+----------------------------------------+--------------+
|  +---java.lang.ClassNotFoundException  |  102   11 %  |
|  |                                     |              |
|  +---java.net.MalformedURLException    |    4    0 %  |
|  |                                     |              |
|  +---java.lang.NoSuchMethodException   |    3    0 %  |
|  |                                     |              |
|  +---java.lang.NumberFormatException   |    2    0 %  |
|  |                                     |              |
|  +---java.io.FileNotFoundException     |    1    0 %  |
|  |                                     |              |
|  +---java.lang.UnsatisfiedLinkError    |    1    0 %  |
+----------------------------------------+--------------+

и вот более подробная информация о ClassNotFoundExceptions, упомянутом выше:

java.lang.ClassNotFoundException
Start Level Event Dispatcher native ID: 0x8B0B group: 'main'      78
Thread-4 native ID: 0x10B group: 'main'                           22
Framework Event Dispatcher native ID: 0xD207 group: 'main'         2

Кто-нибудь знает, почему я не вижу следа этого в Eclipse или в каких-либо файлах журнала? Есть идеи, где я должен искать?

[Обновлено: вт, 16 марта 2010 г. 09:37]

Ответы [ 2 ]

0 голосов
/ 17 марта 2010

Оказалось, что какой-то код вызывается из основного конструктора плагинов, который вызывает зависание. Он загрузил файл изображения в формате JPEG в BufferedImage. Это было добавлено в более ранней версии как хак для исправления некоторой ошибки, связанной с обработкой изображений в Mac-версии кода. Теперь кажется, что он не только больше не требуется (ошибка не воспроизводится после его удаления), но и вызывает зависание приложения при запуске!

0 голосов
/ 16 марта 2010

SWT для Какао 64-битный шаткий для 3,5.

Сначала это не поддерживалось (см. запись в блоге )

Вы можете проверить, видите ли вы ту же проблему с последним затмением 3.6M6.

...