Hi Troy,

Thanks for looking into this!
I've been using the VS2015 compiler for building Sword on Windows, because it works well with the "node-addon-api" (for creating native node.js modules). The necessary build tools can even be installed in a scripted fashion quite easily with npm (the node package manager) for use in a CI scenario.

I am taking the sword.dll on Windows and am dynamically linking it to the node.js module I'm building for use in Ezra Project (Electron / node.js based). I've been doing that last year successfully for Sword 1.8.1 (just had to change on thing in swbuf.h, the symbol "nullStr" was somehow removed from the DLL).

I haven't touched the Sword build for Windows since then, but now I'm integrating the latest unlock features, so therefore I need to rebuild Sword. I'll check whether I can debug the crash more and will provide you additional information soon!

Have you thought about implementing a Sword CI build for all platforms (Windows, Linux, Mac)? This is quite comfortable these days on GitHub and now also on GitLab.com. Both offer CI runners for both Windows, Mac and Linux. With a CI build for all platforms it would be easier to notice compiler errors at the time when they are introduced.

Best regards,
Tobias

On 2/8/20 8:18 PM, Troy A. Griffitts wrote:

Hi Tobias,

I've looked at the revisions you cite below.

The first adds varargs to SWBuf and the second seems to simply fully qualify the icu namespace in the RegEx code which is used if you compile with ICU RegEx support.

Can you give me a bit more information.  I think you might be the first one to try to compile SWORD with MSVS in a really really long time.  I personally still use Borland (now Embarcadero) tools for Windows development and I believe the other projects use some kind of GCC cross-compile or cygwin environment to build.

I would be curious to hear which .conf file is being loaded when the failure below happens.  I'd be happy to valgrind the code if I can reproduce the problem here on Linux.

If you have any more info, I would love to hear.  Thank you for reporting the issue and for your contribution of your time and talents with us at CrossWire the past year or so.

Troy


On 2/6/20 11:14 PM, Tobias Klein wrote:

Hi,

the latest Sword trunk crashes on Windows 10 during initialization of SWMgr. I built the library using Visual Studio 2015.


          EXCEPTION_ACCESS_VIOLATION_READ

Fatal Error: EXCEPTION_ACCESS_VIOLATION_READ

 *


 *
    VCRUNTIME140+0x000332d|memcpy|memcpy.asm:668
 *
    libsword+0x000ce4c|sword::SWBuf::set|swbuf.h:205
 *
    libsword+0x001a879|sword::SWBuf::{ctor}|swbuf.h:112
 *
    libsword+0x001a855|std::pair<T>::{ctor}|utility:171
 *
    
libsword+0x001a82e|sword::multimapwithdefault<T>::operator[]|multimapwdef.h:45
 *
    libsword+0x008d6ff|sword::SWConfig::augment|swconfig.cpp:172
 *
    libsword+0x00a09f4|sword::SWMgr::loadConfigDir|swmgr.cpp:764
 *
    libsword+0x00a038c|sword::SWMgr::load|swmgr.cpp:856
 *
    libsword+0x0092829|sword::SWMgr::Load|swmgr.h:407
 *
    libsword+0x0092823|sword::SWMgr::SWMgr|swmgr.cpp:412
 *

    The crash happens in sword::SWBuf::set (see stacktrace above).

    After performing the following reverts it does not crash anymore:
 *

    swbuf.cpp, swbuf.h => svn 3590
  * swmodule.cpp => svn 3618
 *

  * Best regards,
    Tobias


_______________________________________________
sword-devel mailing list:sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to