TagLEET error: "access violation"



  • I had tried some years back to get some variant of ctags into my standard workflow, but it never stuck with me. Seeing @Michael-Vincent’s recent post encouraged me to give it another try.

    But I’ve obviously done something wrong, because I get an Access Violation when I try to run any TagLEET
    d33a1fa6-4ae0-426c-8c5b-302bb7579cbc-image.png

    Notepad++ v7.8.6   (64-bit)
    Build time : Apr 21 2020 - 15:23:03
    Path : C:\usr\local\apps\notepad++\notepad++.exe
    Admin mode : OFF
    Local Conf mode : ON
    OS Name : Windows 10 Enterprise (64-bit) 
    OS Version : 1903
    OS Build : 18362.720
    Plugins : ComparePlugin.dll LuaScript.dll MarkdownViewerPlusPlus.dll mimeTools.dll NppConsole.dll NppConverter.dll NppEditorConfig.dll NppExec.dll NppExport.dll NppFTP.dll PreviewHTML.dll PythonScript.dll QuickText.dll TagLEET.dll XMLTools.dll 
    

    I installed ctags (copied ctags.exe into my path):

    C:\usr\local\share\PassThru\perl\nppCommunity\plproject>where ctags
    C:\usr\local\bin\ctags.exe
    C:\usr\local\share\PassThru\perl\nppCommunity\plproject>ctags --version
    Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
      Compiled: Jul  9 2009, 17:05:35
      Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
      Optional compiled features: +win32, +regex, +internal-sort
    

    I installed TagLEET:
    2f584a06-1bd7-4542-8c4d-deffbbcb938b-image.png

    for showing my problem, I created a new dummy project and ran ctags -R, which results in the following structure and contents:

    C:\usr\local\share\PassThru\perl\nppCommunity\plproject>dir /S
     Volume in drive C has no label.
     Volume Serial Number is 4A3F-937C
    
     Directory of C:\usr\local\share\PassThru\perl\nppCommunity\plproject
    
    05/11/2020  09:07 AM    <DIR>          .
    05/11/2020  09:07 AM    <DIR>          ..
    05/11/2020  09:02 AM    <DIR>          lib
    05/11/2020  09:06 AM               174 script.pl
    05/11/2020  09:07 AM               595 tags
                   2 File(s)            769 bytes
    
     Directory of C:\usr\local\share\PassThru\perl\nppCommunity\plproject\lib
    
    05/11/2020  09:02 AM    <DIR>          .
    05/11/2020  09:02 AM    <DIR>          ..
    05/11/2020  09:06 AM               205 myLib.pm
                   1 File(s)            205 bytes
    
    C:\usr\local\share\PassThru\perl\nppCommunity\plproject>type script.pl lib\myLib.pm tags
    
    script.pl
    
    
    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    use lib './lib';
    use myLib qw/libSub/;
    
    sub localSub { print "runs\n"; }
    
    localSub();
    libSub();
    myLib::otherSub();
    
    lib\myLib.pm
    
    
    package myLib;
    use warnings;
    use strict;
    
    use Exporter qw/import/;
    
    our @EXPORT_OK = qw(libSub otherSub);
    
    sub libSub() { print "run libSub\n"; }
    sub otherSub() { print "run otherSub\n"; }
    
    1;
    
    tags
    
    
    !_TAG_FILE_FORMAT       2       /extended format; --format=1 will not append ;" to lines/
    !_TAG_FILE_SORTED       1       /0=unsorted, 1=sorted, 2=foldcase/
    !_TAG_PROGRAM_AUTHOR    Darren Hiebert  /dhiebert@users.sourceforge.net/
    !_TAG_PROGRAM_NAME      Exuberant Ctags //
    !_TAG_PROGRAM_URL       http://ctags.sourceforge.net    /official site/
    !_TAG_PROGRAM_VERSION   5.8     //
    libSub  .\lib\myLib.pm  /^sub libSub() { print "run libSub\\n"; }$/;"   s
    localSub        .\script.pl     /^sub localSub { print "runs\\n"; }$/;" s
    myLib   .\lib\myLib.pm  /^package myLib;$/;"    p
    otherSub        .\lib\myLib.pm  /^sub otherSub() { print "run otherSub\\n"; }$/;"       s
    

    But when I then open script.pl, put the cursor on localSub(); on line 10 or libSub(); on line 11, and run Plugins > TagLEET > Lookup Tag, I get the Access Violation error shown above.

    I tried a brand new fresh unzip of Notepad++:

    Notepad++ v7.8.6   (64-bit)
    Build time : Apr 21 2020 - 15:23:03
    Path : C:\usr\local\apps\npp-other\npp.7.8.6.bin.x64\notepad++.exe
    Admin mode : OFF
    Local Conf mode : ON
    OS Name : Windows 10 Enterprise (64-bit) 
    OS Version : 1903
    OS Build : 18362.720
    Plugins : mimeTools.dll NppConverter.dll NppExport.dll TagLEET.dll 
    

    and it does the same.

    I tried both with the .ctags file excerpt that @Michael-Vincent quoted in the other post, and without that config file (just in case it was causing the bug).

    What am I missing / doing wrong?



  • After more debug:

    v1.3.1 worked fine on 32-bit Notepad++.

    So then I went to the sourceforge repo and saw v1.3.2 was available there.

    When I manually installed the v1.3.2, it worked fine in 64-bit Notepad++ as well.

    Does @gstavi want to ping nppPluginList to get Plugins Admin to download the newer version?



  • @PeterJones said in TagLEET error: "access violation":

    So then I went to the sourceforge repo and saw v1.3.2 was available there.

    Interesting. Sounds like the Plugin Admin links are both for the 32-bit version? Since I’ve been using a modified copy, I never noticed.

    Sounds like it’s working for you now? I don’t find it that useful in single file projects - I just use function list, but for developing N++ plugins or maybe a multi-file Perl module (e.g., Win32::Mechanize::NotepadPlusPlus) it’s pretty helpful.

    Cheers.



  • @Michael-Vincent said in TagLEET error: "access violation":

    @PeterJones said in TagLEET error: "access violation":

    So then I went to the sourceforge repo and saw v1.3.2 was available there.

    Interesting. Sounds like the Plugin Admin links are both for the 32-bit version? Since I’ve been using a modified copy, I never noticed.

    Nope. Putting the 32bit in the 64bit plugin folder, I get explicit 32-bit error
    20bd68f0-ea25-436f-82d3-723fd4e68376-image.png

    I tried downloading the 64bit directly from here, and got the same access violation.

    I also verified nppPluginList correctly links to the 64bit zip for 1.3.1.

    Sounds like it’s working for you now?

    Yes, v1.3.2-64bit worked right off the bat, no problem.

    I don’t find it that useful in single file projects - I just use function list,

    That’s probably why it never “stuck” when I’d tried getting into ctags before.

    but for developing N++ plugins or maybe a multi-file Perl module (e.g., Win32::Mechanize::NotepadPlusPlus) it’s pretty helpful.

    That’s the personal project I’ll probably use it the most in. And my upcoming work project will involve a multi-file CPP program – I’ll mostly be in the IDE bundled with the hardware that the program will be running on, but when I’m at my desk, I’ll probably do “quick” edits in Notepad++, so ctags/TagLEET will probably help there, too.


Log in to reply