[email protected] wrote:

Oh, i had one of those sudden lightful go-bys by the middle of the
week, even more mysterious with only a backing of a few e-mails
a few years ago.  Good to hear - you are alive! :)

 |I have got FreeBSD 10.2 amd64 and s-nail 14.8.6 compiled from the
 |tarball. .mailrc is following:
 |
 |    set newfolders=maildir
 |    set record=/home/.../sent
 |
 |I am trying to sent a message to myself:
 |
 |    echo doesnot | s-nail -s matter [email protected]
 |
 |Message is sent successfully, ~/sent directory (with tmp, cur, new
 |subdirectories) is created, but no files appearing in it. If I remove
 |newfolder option, then it will create mbox and append message to it
 |without any problems.

Thank you very much for reporting this issue!

 |I tried exactly this tarball (compiling from source) in some GNU/Linux
 |machine with the same .mailrc config. It saves messages in newly created
 |Maildir without any problems.
 |
 |Running s-nail under truss gives the following output (part of it, where
 |Maildir is checked):

 |    lseek(3,0x0,SEEK_END)                            = 142 (0x8e)

Au au au.  Wuff wuff.

 |So, as I understand, stat on tmp/new/cur subdirs worked with success
 |return codes.
 |
 |Reading, searching, checking for the new mail, deleting messages works
 |in those FreeBSD without problems. If I try to "save" message in Maildir
 |folder, then it does nothing, again.
 |
 |I tried chmod a+rwx to this Maildir, but it did not help.
 |
 |Why s-nail is unable to append messages to Maildir? What could cause it?

Yes, you actually ran into an issue of undefined standard
behaviour regarding file offsets and files that have been opened
append-only with O_APPEND.  It was briefly handled by POSIX in May
2009 ([1-3]), the most remarkable sentences being from Eric Blake

  The standard is silent, both behaviors are permitted.  In
  fact, this is the very bug that bit me when I released GNU M4 1.4.10,
  which worked on Linux but failed under BSD.

and Don Cragun

  [.] the above output is one correct result.  The other correct
  result would be for all three reported values to be 0.

Indeed this likely never worked in plain FreeBSD.  And the test (i
cannot say suite yet) doesn't cover it (and will not until for
v15 code).  It worked well with Mac OS X and does with Linux, and
i personally only ever use MBOX, too.  Yes, reading directories is
so painful... :(

It is unlikely that the behaviour will change, but i for one do
consider the output of the following terrible.

  cd /tmp
  cat > test.c <<-EOT
  #include <stdio.h>
  #include <unistd.h>
  int
  main(int argc, char **argv){
          int c;
          FILE *fp;

          fp = fopen("/tmp/bsd-seek-ouch.txt", "a+");
          fputs("Hello, BSD!\n", fp);
          fseek(fp, 0, SEEK_SET);
          if(argc != 1)
                  printf("OFFSET %ld\n", ftell(fp));
          while((c = fgetc(fp)) != EOF)
                  putchar(c);
          fclose(fp);
          unlink("/tmp/bsd-seek-ouch.txt");
          return 0;
  }
  EOT
  cc -o test test.c
  echo one; ./test; echo two; ./test sigh

But well, if it's really like that.  Thanks again for reporting
the fix is on [master] and also attached; it fits for v14.8.6.

  http://permalink.gmane.org/gmane.comp.standards.posix.austin.general/
  plus [1] 433, [2] 434, [3] 435

P.S.: (I'm in the process of setting up a completely new work
environment with KVM and an internal network with a shared file
server, so that testing on other than the main development
platform will be much easier and therefore improve in the future.
And after v14.9 i (take a break and then) throw away anything down
to the core, then rebuild up from that point, also adding tests
along the way.  I should have done so at the very beginning, which
would have been better for me, for S-nail, and for all the users.
But i really didn't know, but maximally had some kind of feeling.
Sorry!)

Ciao!

--steffen

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
S-nail-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/s-nail-users

Reply via email to