Web lists-archives.com

RE: Bash seg faulting?

On 1 June Doug Henderson wrote:
> On 1 June 2017 at 18:01, Andy Hall wrote:
> >
> > Here is a strange one.   I have two scripts, conv.sh and conv.bat that do the same thing: scan the current directory for
> > .doc files and convert them to .docx files.  Here are the two scripts.
> >
> > $ cat conv.sh
> > #!/bin/bash
> >
> Try running "cat -e conv.sh" to see if you have dos line endings, e.g.
> CR LF, instead of unix line endings, e.g. LF only.
> If you do, run "dos2unix conv.sh" or "d2u conv.sh" to fix the line
> ending problem. Check that your editor can create files with unix line
> endings, and preserves unix line endings.
> Doug
First of all, the Wordconv.exe converts a .doc file to a .docx file, ostensible writing no output.   However, I find if I change the script to read:


OFFICE_BIN="C:\Program Files (x86)\Microsoft Office\root\Office16"

for doc in *.doc; do
        echo "converting: $doc"
        "$OFFICE_BIN"/Wordconv.exe -oice -nme "$doc" "${doc}x" | od

and run, I don’t get the seg faults, but od is showing no output written as you might expect (as in od <dev/null).

$ conv.sh
converting: Post-Install.doc
converting: Post-InstallB.doc
converting: Post-InstallTest.doc

So something is strange about this particular .exe being executed from bash.  (Remember that the .bat version of conv.sh does not seg fault.

Sending the output of od to /dev/null silences the seg fault and spurious output; provoding a workaround.

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple