Weird empty "JavaAppLauncher Helper" app after first start

Having problems with building or using the JCEF Java binding? Ask your questions here.

Weird empty "JavaAppLauncher Helper" app after first start

Postby fhuaulme » Wed Nov 25, 2015 2:58 pm

Hi,

I built and I'm using JCEF on Mac OS (Yosemite) and I noticed an empty .app is created when I first start the sample application. See below the directory structure I have:

.
├── Frameworks
│   ├── Chromium\ Embedded\ Framework.framework
│   │   ├── Chromium\ Embedded\ Framework
│   │   ├── Resources
[Omitted content]
│   ├── JavaAppLauncher\ Helper.app <--- This is the .app I'm talking about
│   │   └── Contents
│   │   └── MacOS
│   │   └── JavaAppLauncher\ Helper
│   ├── jcef\ Helper\ EH.app
...

This JavaAppLauncher app is just an empty directory. I can't find anywhere in the documentation what this directory does.

Now my problem with this JavaAppLauncher app is:
* I can't sign my app because there's an empty .app directory (codesign complains about an empty directory).
* If I remove this empty .app, I can sign but then my app crashes during start up because something is changing a sealed resource (adding this JavaAppLauncher Helper.app).

Thanks.

*EDIT*
I'm not that sure it's linked to that empty directory. Here's the error log when the application crashes:
Code: Select all
Thread 37 Crashed:: Chrome_IOThread
0   org.chromium.ContentShell.framework   0x0000000132a00e55 cef_time_delta + 421605
1   org.chromium.ContentShell.framework   0x0000000132a14f4d cef_time_delta + 503773
2   org.chromium.ContentShell.framework   0x000000013297c6ab cef_log + 123
3   libjcef.dylib                    0x00000001327efe0f cef::logging::LogMessage::~LogMessage() + 95
4   libjcef.dylib                    0x0000000132833e09 CefResponseCToCpp::SetMimeType(CefStringBase<CefStringTraitsUTF16> const&) + 201
5   libjcef.dylib                    0x00000001327d4764 Java_org_cef_network_CefResponse_1N_N_1SetMimeType + 244
6   ???                              0x000000010fcf1694 0 + 4560197268
7   ???                              0x000000010fce398d 0 + 4560140685
8   ???                              0x000000010fce398d 0 + 4560140685
9   ???                              0x000000010fcdc4e7 0 + 4560110823
10  libjvm.dylib                     0x000000010ef3a442 JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*) + 1710
11  libjvm.dylib                     0x000000010ef6f86b jni_invoke_nonstatic(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*) + 773
12  libjvm.dylib                     0x000000010ef625f0 jni_CallVoidMethodV + 248
13  libjcef.dylib                    0x00000001327b71ba JNIEnv_::CallVoidMethod(_jobject*, _jmethodID*, ...) + 138
14  libjcef.dylib                    0x00000001327e9ea2 ResourceHandler::GetResponseHeaders(CefRefPtr<CefResponse>, long long&, CefStringBase<CefStringTraitsUTF16>&) + 242
15  libjcef.dylib                    0x000000013280aa8c (anonymous namespace)::resource_handler_get_response_headers(_cef_resource_handler_t*, _cef_response_t*, long long*, _cef_string_utf16_t*) + 252
16  org.chromium.ContentShell.framework   0x00000001328f97d7 cef_resource_bundle_get_global + 2183
17  org.chromium.ContentShell.framework   0x00000001329661ed cef_zip_reader_create + 368173
18  org.chromium.ContentShell.framework   0x00000001329671a3 cef_zip_reader_create + 372195
19  org.chromium.ContentShell.framework   0x0000000132a01132 cef_time_delta + 422338
20  org.chromium.ContentShell.framework   0x0000000132a1e18f cef_time_delta + 541215
21  org.chromium.ContentShell.framework   0x0000000132a1e31e cef_time_delta + 541614
22  org.chromium.ContentShell.framework   0x0000000132a1e51c cef_time_delta + 542124
23  org.chromium.ContentShell.framework   0x00000001329f8131 cef_time_delta + 385473
24  org.chromium.ContentShell.framework   0x0000000132a2f1b3 cef_time_delta + 610883
25  org.chromium.ContentShell.framework   0x0000000132a1da7d cef_time_delta + 539405
26  org.chromium.ContentShell.framework   0x000000013542bcc8 catch_exception_raise + 571384
27  org.chromium.ContentShell.framework   0x000000013542bdda catch_exception_raise + 571658
28  org.chromium.ContentShell.framework   0x0000000132a50024 cef_time_delta + 745652
29  org.chromium.ContentShell.framework   0x0000000132a4becb cef_time_delta + 728923
30  libsystem_pthread.dylib          0x00007fff8b5ff05a _pthread_body + 131
31  libsystem_pthread.dylib          0x00007fff8b5fefd7 _pthread_start + 176
32  libsystem_pthread.dylib          0x00007fff8b5fc3ed thread_start + 13
fhuaulme
Newbie
 
Posts: 2
Joined: Wed Nov 25, 2015 2:43 pm

Re: Weird empty "JavaAppLauncher Helper" app after first sta

Postby fhuaulme » Tue Dec 01, 2015 9:38 am

Ok, I found the root cause of my issue and it didn't have to do anything with signing or this empty directory (although I'd still like to know what its purpose is). I was loading a web page using Bootstrap + a local GIF image, and the combination of these made JCEF crash on Mac OS.
fhuaulme
Newbie
 
Posts: 2
Joined: Wed Nov 25, 2015 2:43 pm

Re: Weird empty "JavaAppLauncher Helper" app after first sta

Postby magreenblatt » Tue Dec 01, 2015 10:30 am

Can you provide a symbolized call stack for the crash?

The empty directory is a bug in Chromium (it assumes that the app bundle executable will have the same name as the helper app bundles, which is not the case for JCEF, and that code path then creates the empty directory when "JavaAppLauncher Helper" is not found).
magreenblatt
Site Admin
 
Posts: 12407
Joined: Fri May 29, 2009 6:57 pm


Return to JCEF Forum

Who is online

Users browsing this forum: No registered users and 8 guests