Menu

v0.22.2 RC2 Available

2004-12-02
2013-04-15
  • John Graham-Cumming

    OK, I've redone the semaphore stuff myself with a new POPFile module called POPFile::Mutex that implements a flock()-based mutex using the file system.  This should give us a cross-thread and cross-process mutex that will guard the Text::Kakasi module (and perhaps IO::Socket::SSL in future).

    That's all I changed.

    http://getpopfile.org/popfile-0.22.2RC2.zip
    http://getpopfile.org/popfile-0.22.2RC2-windows.zip

    John.

     
    • rdlin

      rdlin - 2004-12-02

      I am crossing threads here...but i need to clarify.

      Sam said ....

      How does including the async fix in 0.22.2, and a full optimization (with or without async enabled by default) for 0.23.0 sound?

      John said ....
      If you want the async deletes thing turned on then just leave that number alone.

      So for v0.22.2 the default (async on) setting for:
      Bayes_sqlite_tweaks is:

      Bayes_sqlite_tweaks = 4294967295

      correct?

      rd

      Regards,
      Sam

       
      • John Graham-Cumming

        Correct.

        John.

         
    • naoki iimura

      naoki iimura - 2004-12-03

      John,

      Thanks. But POPFile 0.22.2 RC2 sometimes crashes with error -1073741819 (which is captured by Message Capture Utility) when I use forking.
      Here is the Message Capture log:
      ------------------------------------------------------------
      POPFile Message Capture Utility v0.0.57
      ------------------------------------------------------------
      POPFILE_ROOT = c:\progra~1\popfile
      POPFILE_USER = C:\DOCUME~1\m001062\APPLIC~1\POPFile2
      Using 'popfileif.exe' to run POPFile
      ------------------------------------------------------------
      (report started 03-Dec-2004 @ 10:26:03)
      ------------------------------------------------------------

      POPFile Engine loading

          Loading...
               {core: windows}
               {core: config history logger mq}
               {classifier: bayes wordmangle}
               {interface: html}
               {proxy: pop3}
               {services:}

      POPFile Engine v0.22.2 starting

          Initializing...
               {core: config history logger mq windows}
               {classifier: bayes wordmangle}
               {interface: html}
               {proxy: pop3}
               {services:}

          Starting...    
               {core: config history logger mq windows}
               {classifier: bayes wordmangle}
               {interface: html}
               {proxy: pop3}
               {services:}

      POPFile Engine v0.22.2 running

      ------------------------------------------------------------
      Status code: -1073741819
      ------------------------------------------------------------
      (report finished 03-Dec-2004 @ 10:26:40)
      ------------------------------------------------------------

      The error code -1073741819 is same as I have experienced on v0.22.1.

      The error can be solved by commenting out the line 106 of POPFile/Mutex.pm (unlink $self->{name__};).

      Naoki

       
      • John Graham-Cumming

        It's really weird to read this message because I awoke in the middle of the night and thought to myself... don't unlink the file in the case that a caller couldn't get the lock.

        That's the problem you are seeing; I will commit a fix and better tests later today.

        Without that does my Mutex fix the problem you were seeing?

        John.

         
    • Manni

      Manni - 2004-12-03

      "OK, I've redone the semaphore stuff myself with a new POPFile module called POPFile::Mutex that implements a flock()-based mutex using the file system. This should give us a cross-thread and cross-process mutex"

      Maybe cross-thread and cross-process, but how about cross-platform?

      Last time I worked with flock() on a Win9x system, Perl woudn't even compile the script. It's been a while though and it works on w2k (and should also work on xp). Does it work on win95 and family?

      Manni

       
      • Brian Smith

        Brian Smith - 2004-12-03

        >>  Does it work on win95 and family? <<

        Unfortunately my mail boxes have not had much traffic since I installed 0.22.2RC2 so it is too early to say for sure.

        On my Win98SE system 0.22.2RC2 has not crashed (yet) but although I have forking enabled it is behaving as if forking is not being used.

        Brian

         
        • John Graham-Cumming

          Ah, but it loaded.  That's important because if flock() were missing the use POPFile::Mutex; should have errored out on start-up.

          John.

           
      • John Graham-Cumming

        Naoki,

        What platform are you on?

        Manni,

        It does appear from the documentation that flock() is not available on Windows 9x systems.  Fuck.  I am so sick of Windows crap like that.

        Anyone,

        Has anyone tried v0.22.2 on a Windows 9x system?

        John.

         
        • Manni

          Manni - 2004-12-03

          I guess you would have to check with an actve Kakasi module on W9x to see the effect. Right?

          Manni

           
        • naoki iimura

          naoki iimura - 2004-12-03

          John,

          I'm using Windows XP SP2.
          The Mutex works partially, but POPFile crashes sometimes.

          I have not tried to use on Windows 9x but the Mutex code seems to have some problems.

          Naoki

           
        • James E Lang

          James E Lang - 2004-12-04

          John,

          Not to be obnoxious about it but one of the things I like about these forums is that the discussion of issues is free of language like you let slip into this thread. There's no way that I know about to go back and edit what you have already posted. I do understand your level of frustration.

          --
          Jim

           
          • John Graham-Cumming

            You are correct, I shouldn't be the one setting a bad example.

            John.

             
    • naoki iimura

      naoki iimura - 2004-12-03

      John,

      Yes, your Mutex almost works, but POPFile sometimes crashes.
      With my change (to not unlink), I have never experienced crashes.

      I've made a test code that try fork() 3 times and use Kakasi's 'Wakachi-gaki' 1000 times in every child process. The test code sometimes crashes with your original Mutex, but with my change it has never crashed.

      I'll test RC2 on Windows 2k (and if I can, on Win 98) this morning (it is 4:30 am in Japanese Standard Time now).

      Naoki

       
      • John Graham-Cumming

        Cool, either you are a true geek to be up at 0430 (as I once was) or you are a Dad :-)

        John.

         
        • rdlin

          rdlin - 2004-12-03

          >Cool, either you are a true geek to be up at 0430 (as I once was) or you are a Dad :-)
          ----

          you took the words right out of my mouth! (or he needs to catch a train to Tokyo).

          rd

           
        • naoki iimura

          naoki iimura - 2004-12-04

          Yeah, I might be a POPFile geek :-)

          I've done the test on Win2k and in Win2k, POPFile also crashes sometimes.
          Commenting out the line 106 of POPFile/Mutex.pm will solve the problem.

          I've made the test code and posted here:
          http://amatubu.skr.jp/?POPFile/TestCodeForForkingProblem

          The code will check the Mutex works correctly.

          Naoki

           

Log in to post a comment.