Sponsored Content
Top Forums Shell Programming and Scripting [BASH] Floating point exception Post 302929808 by sea on Friday 26th of December 2014 07:23:04 PM
Old 12-26-2014
[BASH] Floating point exception

Heyas

I have a script (vhs - video handler script, using ffmpeg) to encode videos.
It also encodes a dvd, but until now just non-copy-protected ones, so i've tried to add/implement a vobcopy wrapper to be used by my script.

At first it looked quite fine, but when changing from the first VOB to the 2nd VOB, it copies a few megabytes, and then fails, with said error message.

Here's the output:
Code:
# | vhs (1.2)                              Video Handler Script                              2014-12-27 02:07:34 | #
# | Please select which entry is the DVD:                                                                        | #
1) Avatar
2) Inside_Man
#? 1
# |                                               Encoding Avatar                                                | #
# | Mounted DVD to /run/media/sea/Avatar                                                                [  √   ] | #
# | Please select a method:                                                                                      | #
# | 1) Encode directly from DVD                                                   2) Copy largest files to local | #
# | > 2
# | /home/sea/.cache/Avatar already exists, reuse it? (y/n)                                                    n | #
# | Copy vob files to "/home/sea/.cache/Avatar", this may take a while...                                        | #

# | Copied: AVATAR1-1.vob                                                                               [  √   ] | #
# | pid:20608                               Copying: AVATAR1-2.vob (124M)                               [  /   ] | #
/home/sea/.local/bin/vhs.sh: line 658: 20608 Floating point exception(core dumped) vobcopy -o "$1" 2> "$vTMP"
# | pid:20608                               Copying: AVATAR1-2.vob (130M)                               [  -   ] | #

✘ ~/data/tmp $  cat -n ~/.local/bin/vhs.sh | grep -A44 \ 635
   635		doVobCopy() { # "OUTDIR"
   636		# Uses vobcopy to copy the vobs to OUTDIR
   637		#
   638			[[ -z "$1" ]] && exit 1
   639			declare files
   640			unset files
   641			count=0
   642			
   643			if $showFFMPEG
   644			then	vobcopy -o "$1"
   645			else	# Do the job in the background
   646				vTMP="${TMP}.vobcopy"	# File to 'get' all the output
   647				[[ -f "$vTMP" ]] && rm -f "$vTMP"
   648				touch "$vTMP"
   649	
   650				vobcopy -o "$1" 2>"$vTMP" &
   651				PID=$!
   652				sleep 0.3
   653				
   654				while ps | grep -q $PID
   655				do	# Retrieve the filename and print its filesize to user
   656					FILE=$(tail -n 2 "$vTMP"|grep Outputting|awk '{print $4}')
   657					if [[ ! -z "$FILE" ]] 
   658					then	FILE=$(basename "$FILE")
   659						msg="Copying: $FILE"
   660						msg_P="pid:$PID"
   661	
   662						if echo "${files[@]}" | grep -q "$FILE" 
   663						then	tui-printf "$msg_P" \
   664								"$msg ($(ls -lh $1/$FILE*|awk '{print $5}'))" \
   665								"[  $(tui-indi)   ]"
   666						else	files[${#files[@]}]="$FILE"
   667							[[ $count -gt 0 ]] && \
   668								tui-status 0 "Copied: ${files[ $[ $count - 1 ] ]}"
   669							count=$(($count + 1))
   670							tui-printf "$msg_P" \
   671								"$msg" \
   672								"[  $(tui-indi)   ]"
   673						fi
   674					fi
   675					sleep 0.7
   676				done
   677			fi
   678			rm -f "$vTMP"
   679		}
:) ~/data/tmp $

I've never beofre had a floating point issue., so i'd rather think its a vobcopy issue than mine..
Anyhow, i do not know how to identify a floating point issue, with the above code, there is no math done (but adding 1 to 'c' which was set to 0). but subtracting 1 from ${#files[@]}, but this just happens when its 1 or higher.

Any advice or ideas?
Thank you in advance and happy holidays.

Last edited by sea; 12-26-2014 at 11:28 PM.. Reason: Updated code, strokethrough the vobcopy is cause
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Floating point numeric comparisions in bash

Hi, I am trying to compare 2 floating point numbers 0.8 and 0.15 using bash and get the largest of the two. Can anyone advise. (2 Replies)
Discussion started by: borncrazy
2 Replies

2. Shell Programming and Scripting

BASH: floating point exception

Hi, guys, today, I have copied a simple script which runs correctly on a computer to another one. But, the latter informs me: Floating point exception! @ ./command_module a b c where command_module is the module compiled by myself. So, I have fixed it by following steps: 1.... (5 Replies)
Discussion started by: mapleleaves
5 Replies

3. Linux

Floating point exception !!!

Hi, I have linux fedora 4 ver., 2.6 kernal. And qmail & mysql & samba servers are already configured on this server. When I try to install any package like squidguard ,dansguardian,webmin,rsnapshots with command rpm -ivh . It is giving error as “Floating point exception" Snap View is... (3 Replies)
Discussion started by: ssk01
3 Replies

4. Linux

Floating Point Exception

Hi, I am compiling "HelloWorld" C progam on 32-bit CentOS and i want to execute it on 64-bit CentOS architecture. For that i copied the a.out file from 32-bit to 64-bit machine, but while executing a.out file on 64bit machine I am getting "Floating point exception error". But we can run... (3 Replies)
Discussion started by: Mandar123
3 Replies

5. Shell Programming and Scripting

floating point not recognized by printf in bash

Dear all, I have the following question. Let's say that I have the following script #!/bin/bash value=0.4987865 a=` printf "%6.2f" $value ` b=`echo $value + $value | bc -l` echo $a echo $b exit And the exit is: 0,00 .9975730 Thus, the problem is that the printf order does not... (2 Replies)
Discussion started by: josegr
2 Replies

6. Programming

Floating Point

Anyone help me i cant found the error of floating point if needed, i added the code complete #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> typedef struct { int hh; int mm; int ss; char nom; int punt; }cancion; typedef struct... (9 Replies)
Discussion started by: Slasho
9 Replies

7. Shell Programming and Scripting

[BASH] Regex for floating point number

Hey again, I have a basic regex that tests if a number is a float. Thank you. (5 Replies)
Discussion started by: whyte_rhyno
5 Replies

8. Shell Programming and Scripting

Bash Floating point math with bc

Hello Everyone, I am currently working on a script to calculate optimal tcp window size the formula that I am following is 2 x (bandwith speed /8 * Round Trip Time ) = x This is what I have so far #!/bin/bash echo "Enter connection speed" << Get the speed of the Connection from... (3 Replies)
Discussion started by: bmfmancini
3 Replies

9. Shell Programming and Scripting

Bash script to print the smallest floating point number in a row that is not 0

Hello, I have often found bash to be difficult when it comes to floating point numbers. I have data with rows of tab delimited floating point numbers. I need to find the smallest number in each row that is not 0.0. Numbers can be negative and they do not come in any particular order for a given... (9 Replies)
Discussion started by: LMHmedchem
9 Replies

10. Shell Programming and Scripting

Comparison of floating point numbers in bash

I have the following code snippet in bash if ]; then minm=`echo "$diff" | bc` fi It works well for most of the cases. However lets say diff is -0.17 and minm is -0.0017. In such a case the comparison seems to fail. Is the correct way to compare a mixture of positive and... (12 Replies)
Discussion started by: ngabrani
12 Replies
All times are GMT -4. The time now is 06:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy