I did not try GAbi++ since I need standard library support.  There is no
useful stack (below) at the point of the crash.
  

(gdb) bt
#0  0x4012e1ba in ?? ()
#1  0x40131b18 in ?? ()
#2  0x40131b18 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)



On 10/22/13 1:23 PM, "Jim Chen" <[email protected]> wrote:

>Yes, dynamic header type #f (i.e. 15) is DT_RPATH [1], so not likely
>related.
>
>Do you get other messages or a stack with the crash? Have you tried
>the GAbi++ runtime [2] (assuming you don't need additional
>functionality that stlport/gnustl provides?
>
>Jim
>
>
>[1] http://www.sco.com/developers/gabi/latest/ch5.dynamic.html
>
>[2]
>http://androidxref.com/4.3_r2.1/xref/ndk/docs/CPLUSPLUS-SUPPORT.html#75
>
>
>On 10/22/13 1:12 PM, Carl Wallace wrote:
>> To self-reply and top post, I got rid of the dynamic header type #f not
>> handled warnings by omitting rpath in the library.  Still crash on throw
>> though.  
>> 
>> On 10/22/13 11:46 AM, "Carl Wallace" <[email protected]> wrote:
>> 
>>> I am continuing my effort to get exception handling working with an
>>> external library.  Here's a summary of current status.  Any help is
>>> welcome.  
>>>
>>> I have a restartless extension (.xpi file) that installs modutil, pcscd
>>> and coolkey.  The modutil utility is from the Fennec build, the other
>>>two
>>> are external to the Mozilla build. The extension may need to be a
>>> non-restartless extension ultimately but for now it is restartless.
>>>The
>>> rough actions performed by the extension are as follows:
>>>
>>> 1) Copy binaries and a few library files to fennec/bin.  I could not
>>>run
>>> the binaries from the folder within the extension but execution from a
>>> newly created bin folder works fine.  The extension also sets up
>>>folders
>>> and copies configuration files required by pcscd.
>>> 2) During installation the extension starts pcscd and uses modutil to
>>> register an sdcard with the NSS store used by Fennec during the
>>> installation.  Exceptions are thrown and caught successfully during
>>>this
>>> registration.
>>> 3) During browser start-up, the extension starts pcscd and adds the bin
>>> folder to LD_LIBRARY_PATH.
>>> 4) When browsing to a page that requires TLS client authentication, the
>>> browser loads the coolkey library which interacts with the pcscd
>>>service.
>>> A PIN prompt is displayed then the application crashes when an
>>>exception
>>> is thrown inside the coolkey library.
>>>
>>> The exception is part of a throw/catch I added to libcoolkey to make
>>>sure
>>> I always hit an exception until this is resolved.  The libcoolkey
>>>library
>>> is linked against gnustl_shared.  The .so is installed by the
>>>extension.
>>> I know this .so is loaded as the behavior when I move the .so file is
>>> different (I am not prompted for a PIN and the browsers continues to an
>>> error page displayed by the server).  Initially I was using NDK n8e but
>>> have also tried with n9.
>>>
>>> I noticed the following warnings in logcat shortly before a crash:
>>>
>>>     E GeckoLinker:
>>> /data/data/org.mozilla.fennec_cwallace/bin/libcoolkeypk11.so: Warning:
>>> dynamic header type #f not handled
>>>     E GeckoLinker:
>>> /data/data/org.mozilla.fennec_cwallace/bin/libcoolkeypk11.so: Warning:
>>> unhandled flags #8 not handled
>>>
>>>
>>> Several NSS libraries also generate the unhandled flags warning, but
>>>the
>>> dynamic header type warning only appears for the library that is
>>>causing
>>> the crash.  Are these warnings problematic?  It seems strange that
>>> exceptions are thrown/caught when the library is loaded by modutil, but
>>> not when loaded by the browser.
>>>
>>> I have tried using gnustl and stlport in both static and shared forms.
>>> When using stlport (static or shared), the coolkey library cannot be
>>> loaded with the following error:
>>>
>>>     "Cannot load library: reloc_library[1310]:  5237 cannot locate
>>> '_ZNSsD1Ev'?
>>>
>>> As above, I confirmed the shared version of stlport is being used by
>>> moving the library and observing a different error.  Unlike the gnustl
>>> behavior, I am unable to load libcoolkey into modutil when it is linked
>>> against stlport.
>>>
>>>
>> 
>> 
>> _______________________________________________
>> mobile-firefox-dev mailing list
>> [email protected]
>> https://mail.mozilla.org/listinfo/mobile-firefox-dev
>> 


_______________________________________________
mobile-firefox-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to