Motion crash
Question
I have 3 IP camera axis,whit a opensuse 10.3 distribution
i have configured motion with 3 thread files in daemon mode
the 3 ip camera address is
192.168.0.10
192.168.0.11
192.168.0.12
but later some time iwhen i run ps aux the process motion is not present.
for testing i have running motion in console mode , and later some minutes
crash with one message,
i paste the comfiguration files and the crash error
Motion.conf
#
# This config file was generated by motion 3.2.9
############################################################
# Daemon
############################################################
# Start in daemon (background) mode and release terminal (default: off)
daemon on
# File to store the process ID, also called pid file. (default: not defined)
#process_id_file /var/run/motion.pid
############################################################
# Basic Setup Mode
############################################################
# Start in Setup-Mode, daemon disabled. (default: off)
setup_mode off
###########################################################
# Capture device options
############################################################
# Videodevice to be used for capturing (default /dev/video0)
# for FreeBSD default is /dev/bktr0
videodevice /dev/video0
# Tuner device to be used for capturing using tuner as source (default /dev/tuner0)
# This is ONLY used for FreeBSD. Leave it commented out for Linux
; tunerdevice /dev/tuner0
# The video input to be used (default: 8)
# Should normally be set to 1 for video/TV cards, and 8 for USB cameras
input 8
# The video norm to use (only for video capture and TV tuner cards)
# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL)
norm 0
# The frequency to set the tuner to (kHz) (only for TV tuner cards) (default: 0)
frequency 0
# Rotate image this number of degrees. The rotation affects all saved images as
# well as mpeg movies. Valid values: 0 (default = no rotation), 90, 180 and 270.
rotate 0
# Image width (pixels). Valid range: Camera dependent, default: 352
width 640
# Image height (pixels). Valid range: Camera dependent, default: 288
height 480
# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 2
# Minimum time in seconds between capturing picture frames from the camera.
# Default: 0 = disabled - the capture rate is given by the camera framerate.
# This option is used when you want to capture images at a rate lower than 2 per second.
minimum_frame_time 0
# URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// or file:///)
# Must be a URL that returns single jpeg pictures or a raw mjpeg stream. Default: Not defined
netcam_url http://192.168.0.11/mjpg/video.mjpg
# Username and password for network camera (only if required). Default: not defined
# Syntax is user:password
; netcam_userpass value
# URL to use for a netcam proxy server, if required, e.g. "http://myproxy".
# If a port number other than 80 is needed, use "http://myproxy:1234".
# Default: not defined
; netcam_proxy value
# Let motion regulate the brightness of a video device (default: off).
# The auto_brightness feature uses the brightness option as its target value.
# If brightness is zero auto_brightness will adjust to average brightness value 128.
# Only recommended for cameras without auto brightness
auto_brightness off
# Set the initial brightness of a video device.
# If auto_brightness is enabled, this value defines the average brightness level
# which Motion will try and adjust to.
# Valid range 0-255, default 0 = disabled
brightness 0
# Set the contrast of a video device.
# Valid range 0-255, default 0 = disabled
contrast 0
# Set the saturation of a video device.
# Valid range 0-255, default 0 = disabled
saturation 0
# Set the hue of a video device (NTSC feature).
# Valid range 0-255, default 0 = disabled
hue 0
############################################################
# Round Robin (multiple inputs on same video device name)
############################################################
# Number of frames to capture in each roundrobin step (default: 1)
roundrobin_frames 1
# Number of frames to skip before each roundrobin step (default: 1)
roundrobin_skip 1
# Try to filter out noise generated by roundrobin (default: off)
switchfilter off
############################################################
# Motion Detection Settings:
############################################################
# Threshold for number of changed pixels in an image that
# triggers motion detection (default: 1500)
threshold 1500
# Automatically tune the threshold down if possible (default: off)
threshold_tune off
# Noise threshold for the motion detection (default: 32)
noise_level 32
# Automatically tune the noise threshold (default: on)
noise_tune on
# Enables motion to adjust its detection/noise level for very dark frames
# Don't use this with noise_tune on. (default: off)
night_compensate off
# Despeckle motion image using (e)rode or (d)ilate or (l)abel (Default: not defined)
# Recommended value is EedDl. Any combination (and number of) of E, e, d, and D is valid.
# (l)abeling must only be used once and the 'l' must be the last letter.
# Comment out to disable
despeckle EedDl
# PGM file to use as a sensitivity mask.
# Full path name to. (Default: not defined)
; mask_file value
# Dynamically create a mask file during operation (default: 0)
# Adjust speed of mask changes from 0 (off) to 10 (fast)
smart_mask_speed 0
# Ignore sudden massive light intensity changes given as a percentage of the picture
# area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled
lightswitch 0
# Picture frames must contain motion at least the specified number of frames
# in a row before they are detected as true motion. At the default of 1, all
# motion is detected. Valid range: 1 to thousands, recommended 1-5
minimum_motion_frames 1
# Specifies the number of pre-captured (buffered) pictures from before motion
# was detected that will be output at motion detection.
# Recommended range: 0 to 5 (default: 0)
# Do not use large values! Large values will cause Motion to skip video frames and
# cause unsmooth mpegs. To smooth mpegs use larger values of post_capture instead.
pre_capture 0
# Number of frames to capture after motion is no longer detected (default: 0)
post_capture 0
# Gap is the seconds of no motion detection that triggers the end of an event
# An event is defined as a series of motion images taken within a short timeframe.
# Recommended value is 60 seconds (Default). The value 0 is allowed and disables
# events causing all Motion to be written to one single mpeg file and no pre_capture.
gap 60
# Maximum length in seconds of an mpeg movie
# When value is exceeded a new mpeg file is created. (Default: 0 = infinite)
max_mpeg_time 3600
# Number of frames per second to capture when not detecting
# motion (saves CPU load) (Default: 0 = disabled)
low_cpu 0
# Always save images even if there was no motion (default: off)
output_all off
############################################################
# Image File Output
############################################################
# Output 'normal' pictures when motion is detected (default: on)
# Valid values: on, off, first, best
# When set to 'first', only the first picture of an event is saved.
# Picture with most motion of an event is saved when set to 'best'.
# Can be used as preview shot for the corresponding movie.
output_normal on
# Output pictures with only the pixels moving object (ghost images) (default: off)
output_motion off
# The quality (in percent) to be used by the jpeg compression (default: 75)
quality 75
# Output ppm images instead of jpeg (default: off)
ppm off
############################################################
# FFMPEG related options
# Film (mpeg) file output, and deinterlacing of the video input
# The options movie_filename and timelapse_filename are also used
# by the ffmpeg feature
############################################################
# Use ffmpeg to encode mpeg movies in realtime (default: off)
ffmpeg_cap_new on
# Use ffmpeg to make movies with only the pixels moving
# object (ghost images) (default: off)
ffmpeg_cap_motion off
# Use ffmpeg to encode a timelapse movie
# Default value 0 = off - else save frame every Nth second
ffmpeg_timelapse 0
# The file rollover mode of the timelapse video
# Valid values: hourly, daily (default), weekly-sunday, weekly-monday, monthly, manual
ffmpeg_timelapse_mode daily
# Bitrate to be used by the ffmpeg encoder (default: 400000)
# This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled)
ffmpeg_bps 500000
# Enables and defines variable bitrate for the ffmpeg encoder.
# ffmpeg_bps is ignored if variable bitrate is enabled.
# Valid values: 0 (default) = fixed bitrate defined by ffmpeg_bps,
# or the range 2 - 31 where 2 means best quality and 31 is worst.
ffmpeg_variable_bitrate 0
# Codec to used by ffmpeg for the video compression.
# Timelapse mpegs are always made in mpeg1 format independent from this option.
# Supported formats are: mpeg1 (ffmpeg-0.4.8 only), mpeg4 (default), and msmpeg4.
# mpeg1 - gives you files with extension .mpg
# mpeg4 or msmpeg4 - give you files with extension .avi
# msmpeg4 is recommended for use with Windows Media Player because
# it requires no installation of codec on the Windows client.
# swf - gives you a flash film with extension .swf
# flv - gives you a flash video with extension .flv
# ffv1 - FF video codec 1 for Lossless Encoding ( experimental )
ffmpeg_video_codec mpeg4
# Use ffmpeg to deinterlace video. Necessary if you use an analog camera
# and see horizontal combing on moving objects in video or pictures.
# (default: off)
ffmpeg_deinterlace off
############################################################
# Snapshots (Traditional Periodic Webcam File Output)
############################################################
# Make automated snapshot every N seconds (default: 0 = disabled)
snapshot_interval 0
############################################################
# Text Display
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second, %T = HH:MM:SS,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level, \n = new line,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event - do not use with text_event!
# You can put quotation marks around the text to allow
# leading spaces
############################################################
# Locate and draw a box around the moving object.
# Valid values: on, off and preview (default: off)
# Set to 'preview' will only draw a box in preview_shot pictures.
locate off
# Draws the timestamp using same options as C function strftime(3)
# Default: %Y-%m-%d\n%T = date in ISO format and time in 24 hour clock
# Text is placed in lower right corner
text_right %Y-%m-%d\n%T-%q
# Draw a user defined text on the images using same options as C function strftime(3)
# Default: Not defined = no text
# Text is placed in lower left corner
; text_left CAMERA %t
# Draw the number of changed pixed on the images (default: off)
# Will normally be set to off except when you setup and adjust the motion settings
# Text is placed in upper right corner
text_changes off
# This option defines the value of the special event conversion specifier %C
# You can use any conversion specifier in this option except %C. Date and time
# values are from the timestamp of the first image in the current event.
# Default: %Y%m%d%H%M%S
# The idea is that %C can be used filenames and text_left/right for creating
# a unique identifier for each event.
text_event %Y%m%d%H%M%S
# Draw characters at twice normal size on images. (default: off)
text_double off
############################################################
# Target Directories and filenames For Images And Films
# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename
# you can use conversion specifiers
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event
# Quotation marks round string are allowed.
############################################################
# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
target_dir /videos/camera1
# File path for snapshots (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-snapshot
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot
# File extension .jpg or .ppm is automatically added so do not include this.
# Note: A symbolic link called lastsnap.jpg created in the target_dir will always
# point to the latest snapshot, unless snapshot_filename is exactly 'lastsnap'
snapshot_filename %v-%Y%m%d%H%M%S-snapshot
# File path for motion triggered images (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-%q
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q
# File extension .jpg or .ppm is automatically added so do not include this
# Set to 'preview' together with best-preview feature enables special naming
# convention for preview shots. See motion guide for details
jpeg_filename %v-%Y%m%d%H%M%S-%q
# File path for motion triggered ffmpeg films (mpeg) relative to target_dir
# Default: %v-%Y%m%d%H%M%S
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H%M%S
# File extension .mpg or .avi is automatically added so do not include this
# This option was previously called ffmpeg_filename
movie_filename %v-%Y%m%d%H%M%S
# File path for timelapse mpegs relative to target_dir
# Default: %Y%m%d-timelapse
# Default value is near equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d-timelapse
# File extension .mpg is automatically added so do not include this
timelapse_filename %Y%m%d-timelapse
############################################################
# Live Webcam Server
############################################################
# The mini-http server listens to this port for requests (default: 0 = disabled)
webcam_port 8081
# Quality of the jpeg images produced (default: 50)
webcam_quality 50
# Output frames at 1 fps when no motion is detected and increase to the
# rate given by webcam_maxrate when motion is detected (default: off)
webcam_motion off
# Maximum framerate for webcam streams (default: 1)
webcam_maxrate 1
# Restrict webcam connections to localhost only (default: on)
webcam_localhost on
# Limits the number of images per connection (default: 0 = unlimited)
# Number can be defined by multiplying actual webcam rate by desired number of seconds
# Actual webcam rate is the smallest of the numbers framerate and webcam_maxrate
webcam_limit 0
############################################################
# HTTP Based Control
############################################################
# TCP/IP port for the http server to listen on (default: 0 = disabled)
control_port 8080
# Restrict control connections to localhost only (default: on)
control_localhost on
# Output for http server, select off to choose raw text plain (default: on)
control_html_output on
# Authentication for the http based control. Syntax username:password
# Default: not defined (Disabled)
; control_authentication username:password
############################################################
# Tracking (Pan/Tilt)
############################################################
# Type of tracker (0=none (default), 1=stepper, 2=iomojo, 3=pwc, 4=generic, 5=uvcvideo)
# The generic type enables the definition of motion center and motion size to
# be used with the conversion specifiers for options like on_motion_detected
track_type 0
# Enable auto tracking (default: off)
track_auto off
# Serial port of motor (default: none)
; track_port value
# Motor number for x-axis (default: -1)
track_motorx -1
# Motor number for y-axis (default: -1)
track_motory -1
# Maximum value on x-axis (default: 0)
track_maxx 0
# Maximum value on y-axis (default: 0)
track_maxy 0
# ID of an iomojo camera if used (default: 0)
track_iomojo_id 0
# Angle in degrees the camera moves per step on the X-axis
# with auto-track (default: 10)
# Currently only used with pwc type cameras
track_step_angle_x 10
# Angle in degrees the camera moves per step on the Y-axis
# with auto-track (default: 10)
# Currently only used with pwc type cameras
track_step_angle_y 10
# Delay to wait for after tracking movement as number
# of picture frames (default: 10)
track_move_wait 10
# Speed to set the motor to (stepper motor option) (default: 255)
track_speed 255
# Number of steps to make (stepper motor option) (default: 40)
track_stepsize 40
############################################################
# External Commands, Warnings and Logging:
# You can use conversion specifiers for the on_xxxx commands
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event
# %f = filename with full path
# %n = number indicating filetype
# Both %f and %n are only defined for on_picture_save,
# on_movie_start and on_movie_end
# Quotation marks round string are allowed.
############################################################
# Do not sound beeps when detecting motion (default: on)
# Note: Motion never beeps when running in daemon mode.
quiet on
# Command to be executed when an event starts. (default: none)
# An event starts at first motion detected after a period of no motion defined by gap
; on_event_start value
# Command to be executed when an event ends after a period of no motion
# (default: none). The period of no motion is defined by option gap.
; on_event_end value
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# To give the filename as an argument to a command append it with %f
; on_picture_save value
# Command to be executed when a motion frame is detected (default: none)
; on_motion_detected value
# Command to be executed when a movie file (.mpg|.avi) is created. (default: none)
# To give the filename as an argument to a command append it with %f
; on_movie_start value
# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none)
# To give the filename as an argument to a command append it with %f
; on_movie_end value
############################################################
# Common Options For MySQL and PostgreSQL database features.
# Options require the MySQL/PostgreSQL options to be active also.
############################################################
# Log to the database when creating motion triggered image file (default: on)
;sql_log_image on
# Log to the database when creating a snapshot image file (default: on)
;sql_log_snapshot on
# Log to the database when creating motion triggered mpeg file (default: off)
;sql_log_mpeg off
# Log to the database when creating timelapse mpeg file (default: off)
;sql_log_timelapse off
# SQL query string that is sent to the database
# Use same conversion specifiers has for text features
# Additional special conversion specifiers are
# %n = the number representing the file_type
# %f = filename with full path
# Default value:
# insert into security(camera, filename, frame, file_type, time_stamp, text_event) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
#sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
############################################################
# Database Options For MySQL
############################################################
# Mysql database to log to (default: not defined)
; mysql_db value
# The host on which the database is located (default: localhost)
; mysql_host value
# User account name for MySQL database (default: not defined)
; mysql_user value
# User password for MySQL database (default: not defined)
; mysql_password value
############################################################
# Database Options For PostgreSQL
############################################################
# PostgreSQL database to log to (default: not defined)
; pgsql_db value
# The host on which the database is located (default: localhost)
; pgsql_host value
# User account name for PostgreSQL database (default: not defined)
; pgsql_user value
# User password for PostgreSQL database (default: not defined)
; pgsql_password value
# Port on which the PostgreSQL database is located (default: 5432)
; pgsql_port 5432
############################################################
# Video Loopback Device (vloopback project)
############################################################
# Output images to a video4linux loopback device
# The value '-' means next available (default: not defined)
; video_pipe value
# Output motion images to a video4linux loopback device
# The value '-' means next available (default: not defined)
; motion_video_pipe value
##############################################################
# Thread config files - One for each camera.
# Except if only one camera - You only need this config file.
# If you have more than one camera you MUST define one thread
# config file for each camera in addition to this config file.
##############################################################
# Remember: If you have more than one camera you must have one
# thread file for each camera. E.g. 2 cameras requires 3 files:
# This motion.conf file AND thread1.conf and thread2.conf.
# Only put the options that are unique to each camera in the
# thread config files.
thread /usr/local/etc/thread1.conf
thread /usr/local/etc/thread2.conf
thread /usr/local/etc/thread3.conf
# thread /usr/local/etc/thread4.conf
thread1.conf
# /usr/local/etc/thread1.conf
#
# This config file was generated by motion 3.2.4
###########################################################
# Capture device options
############################################################
# Videodevice to be used for capturing (default /dev/video0)
# for FreeBSD default is /dev/bktr0
videodevice /dev/video0
# The video input to be used (default: 8)
# Should normally be set to 1 for video/TV cards, and 8 for USB cameras
input 8
# Draw a user defined text on the images using same options as C function strftime(3)
# Default: Not defined = no text
# Text is placed in lower left corner
text_left CAMERA 1
############################################################
# Target Directories and filenames For Images And Films
# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename
# you can use conversion specifiers
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event
# Quotation marks round string are allowed.
############################################################
# Target base directory for pictures and films
# Recommended to use absolute patch. (Default: current working directory)
target_dir /video/camera1
netcam_url http://192.168.0.10/mjpg/video.mjpg
############################################################
# Live Webcam Server
############################################################
# The mini-http server listens to this port for requests (default: 0 = disabled)
webcam_port 8081
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# The filename of the picture is appended as an argument for the command.
#on_picture_save /usr/local/motion-extras/camparse1.pl
# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none)
# Filename of movie is appended as an argument for the command.
#on_movie_end /usr/local/motion-extras/mpegparse1.pl
thread2.conf
# /usr/local/etc/thread2.conf
#
# This config file was generated by motion 3.2.4
###########################################################
# Capture device options
############################################################
# Videodevice to be used for capturing (default /dev/video0)
# for FreeBSD default is /dev/bktr0
videodevice /dev/video1
# The video input to be used (default: 8)
# Should normally be set to 1 for video/TV cards, and 8 for USB cameras
input 1
# Draw a user defined text on the images using same options as C function strftime(3)
# Default: Not defined = no text
# Text is placed in lower left corner
text_left CAMERA 2
netcam_url http://192.168.0.11/mjpg/video.mjpg
############################################################
# Target Directories and filenames For Images And Films
# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename
# you can use conversion specifiers
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event
# Quotation marks round string are allowed.
############################################################
# Target base directory for pictures and films
# Recommended to use absolute patch. (Default: current working directory)
target_dir /videos/camera2
############################################################
# Live Webcam Server
############################################################
# The mini-http server listens to this port for requests (default: 0 = disabled)
webcam_port 0
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# The filename of the picture is appended as an argument for the command.
#on_picture_save /usr/local/motion-extras/camparse2.pl
# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none)
# Filename of movie is appended as an argument for the command.
#on_movie_end /usr/local/motion-extras/mpegparse2.pl
thread3.conf
# /usr/local/etc/thread3.conf
#
# This config file was generated by motion 3.2.4
###########################################################
# Capture device options
############################################################
# Videodevice to be used for capturing (default /dev/video0)
# for FreeBSD default is /dev/bktr0
videodevice /dev/video1
# The video input to be used (default: 8)
# Should normally be set to 1 for video/TV cards, and 8 for USB cameras
input 1
# Draw a user defined text on the images using same options as C function strftime(3)
# Default: Not defined = no text
# Text is placed in lower left corner
text_left CAMERA 3
netcam_url http://192.168.0.12/mjpg/video.mjpg
############################################################
# Target Directories and filenames For Images And Films
# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename
# you can use conversion specifiers
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event
# Quotation marks round string are allowed.
############################################################
# Target base directory for pictures and films
# Recommended to use absolute patch. (Default: current working directory)
target_dir /videos/camera3
############################################################
# Live Webcam Server
############################################################
# The mini-http server listens to this port for requests (default: 0 = disabled)
webcam_port 8083
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# The filename of the picture is appended as an argument for the command.
#on_picture_save /usr/local/motion-extras/camparse2.pl
# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none)
# Filename of movie is appended as an argument for the command.
#on_movie_end /usr/local/motion-extras/mpegparse2.pl
this is the error messages in motion console mode
[2] File of type 1 saved to: /videos/camera3/01-20071229164310-01.jpg
*** glibc detected *** motion: free(): invalid pointer: 0x08081b90 ***
======= Backtrace: =========
/lib/libc.so.6[0xb76c34b6]
/lib/libc.so.6(cfree+0x89)[0xb76c5179]
/usr/lib/libavformat.so.52(url_fclose+0x24)[0xb7e06e54]
motion[0x805c881]
motion[0x805c533]
motion[0x804d5f6]
/lib/libpthread.so.0[0xb7ea6192]
/lib/libc.so.6(clone+0x5e)[0xb772002e]
======= Memory map: ========
08048000-08071000 r-xp 00000000 08:01 155675 /usr/local/bin/motion
08071000-08072000 r--p 00028000 08:01 155675 /usr/local/bin/motion
08072000-08074000 rw-p 00029000 08:01 155675 /usr/local/bin/motion
08074000-08173000 rw-p 08074000 00:00 0 [heap]
b3f00000-b3f21000 rw-p b3f00000 00:00 0
b3f21000-b4000000 ---p b3f21000 00:00 0
b4077000-b4081000 r-xp 00000000 08:01 36893 /lib/libgcc_s.so.1
b4081000-b4083000 rw-p 00009000 08:01 36893 /lib/libgcc_s.so.1
b409c000-b46cb000 rw-p b409c000 00:00 0
b46cb000-b46cc000 ---p b46cb000 00:00 0
b46cc000-b4ecc000 rwxp b46cc000 00:00 0
b4ecc000-b54fb000 rw-p b4ecc000 00:00 0
b54fb000-b54fc000 ---p b54fb000 00:00 0
b54fc000-b5cfc000 rwxp b54fc000 00:00 0
b5cfc000-b5cfd000 ---p b5cfc000 00:00 0
b5cfd000-b64fd000 rwxp b5cfd000 00:00 0
b64fd000-b64fe000 ---p b64fd000 00:00 0
b64fe000-b6cfe000 rwxp b64fe000 00:00 0
b6cfe000-b6cff000 ---p b6cfe000 00:00 0
b6cff000-b74ff000 rwxp b6cff000 00:00 0
b74ff000-b7501000 rw-p b74ff000 00:00 0
b7501000-b7505000 r-xp 00000000 08:01 37019 /usr/lib/libogg.so.0.5.3
b7505000-b7507000 rw-p 00003000 08:01 37019 /usr/lib/libogg.so.0.5.3
b7507000-b7589000 r-xp 00000000 08:01 141054 /usr/lib/libx264.so.57
b7589000-b758a000 r--p 00082000 08:01 141054 /usr/lib/libx264.so.57
b758a000-b758b000 rw-p 00083000 08:01 141054 /usr/lib/libx264.so.57
b758b000-b758f000 rw-p b758b000 00:00 0
b758f000-b75c6000 r-xp 00000000 08:01 39116 /usr/lib/libtheora.so.0.2.0
b75c6000-b75c8000 rw-p 00036000 08:01 39116 /usr/lib/libtheora.so.0.2.0
b75c8000-b7605000 r-xp 00000000 08:01 151432 /usr/lib/libmp3lame.so.0.0.0
b7605000-b7606000 r--p 0003d000 08:01 151432 /usr/lib/libmp3lame.so.0.0.0
b7606000-b7608000 rw-p 0003e000 08:01 151432 /usr/lib/libmp3lame.so.0.0.0
b7608000-b7639000 rw-p b7608000 00:00 0
b7639000-b7647000 r-xp 00000000 08:01 151447 /usr/lib/libfaac.so.0.0.0
b7647000-b764b000 rw-p 0000d000 08:01 151447 /usr/lib/libfaac.so.0.0.0
b764b000-b764c000 rw-p b764b000 00:00 0
b764c000-b764e000 r-xp 00000000 08:01 21538 /lib/libdl-2.6.1.so
b764e000-b7650000 rw-p 00001000 08:01 21538 /lib/libdl-2.6.1.so
b7650000-b7659000 r-xp 00000000 08:01 151459 /usr/lib/libavutil.so.49.5.0
b7659000-b765b000 rw-p 00008000 08:01 151459 /usr/lib/libavutil.so.49.5.0
b765b000-b765d000 rw-p b765b000 00:00 0
b765d000-b778a000 r-xp 00000000 08:01 21532 /lib/libc-2.6.1.so
b778a000-b778b000 r--p 0012c000 08:01 21532 /lib/libc-2.6.1.so
b778b000-b778d000 rw-p 0012d000 08:01 21532 /lib/libc-2.6.1.so
b778d000-b7790000 rw-p b778d000 00:00 0
b7790000-b77a1000 r-xp 00000000 08:01 34017 /lib/libz.so.1.2.3
b77a1000-b77a3000 rw-p 00010000 08:01 34017 /lib/libz.so.1.2.3
b77a3000-b7c7a000 r-xp 00000000 08:01 151451 /usr/lib/libavcodec.so.51.48.0
b7c7a000-b7c82000 rw-p 004d6000 08:01 151451 /usr/lib/libavcodec.so.51.48.0
b7c82000-b7dec000 rw-p b7c82000 00:00 0
b7dec000-b7e7b000 r-xp 00000000 08:01 151457 /usr/lib/libavformat.so.52.1.0
b7e7b000-b7e81000 rw-p 0008e000 08:01 151457 /usr/lib/libavformat.so.52.1.0
b7e81000-b7e9f000 r-xp 00000000 08:01 33407 /usr/lib/libjpeg.so.62.0.0
b7e9f000-b7ea1000 rw-p 0001d000 08:01 33407 /usr/lib/libjpeg.so.62.0.0
b7ea1000-b7eb4000 r-xp 00000000 08:01 21558 /lib/libpthread-2.6.1.so
b7eb4000-b7eb6000 rw-p 00013000 08:01 21558 /lib/libpthread-2.6.1.so
b7eb6000-b7eb8000 rw-p b7eb6000 00:00 0
b7eb8000-b7edb000 r-xp 00000000 08:01 21540 /lib/libm-2.6.1.so
b7edb000-b7edd000 rw-p 00022000 08:01 21540 /lib/libm-2.6.1.so
b7edd000-b7ee1000 r-xp 00000000 08:01 85271
Environment
Motion version: |
3.2.9 |
ffmpeg version: |
|
Libraries: |
ffmpeg, mysql, postgresql |
Server OS: |
|
--
DanielePonzoni - 29 Dec 2007
Follow Up
Could you try to get a coredump instead ?
ulimit -c 100000000
./motion
You'll get on motion crash a core file or core.12312 ( where 12312 is the pid of motion ).
--
AngelCarpintero - 29 Dec 2007
Follow Up
I have the same problem.
The problem seems to me has occured after updating a ffmpeg.
Environment
Motion version: |
3.2.8, 3.2.9, 3.9.10 |
ffmpeg version: |
0.4.9.11171-7.1 |
Libraries: |
ffmpeg, mysql, postgresql |
Server OS: |
OpenSuse 10.3 |
Small investigation.
ffmpeg.c
/* Closes a video file. */
void ffmpeg_close(struct ffmpeg *ffmpeg)
{
unsigned int i;
/* close each codec */
if (ffmpeg->video_st) {
pthread_mutex_lock(&global_lock);
avcodec_close(AVSTREAM_CODEC_PTR(ffmpeg->video_st));
pthread_mutex_unlock(&global_lock);
av_freep(&ffmpeg->picture);
motion_log(LOG_ERR, 0, "\nRAF11\n");
free(ffmpeg->video_outbuf);
motion_log(LOG_ERR, 0, "\nRAF11\n");
}
/* write the trailer, if any */
motion_log(LOG_ERR, 0, "\nRAF14\n");
av_write_trailer(ffmpeg->oc);
motion_log(LOG_ERR, 0, "\nRAF14\n");
/* free the streams */
for (i = 0; i < ffmpeg->oc->nb_streams; i++) {
av_freep(&ffmpeg->oc->streams[i]);
}
if (!(ffmpeg->oc->oformat->flags & AVFMT_NOFILE)) {
/* close the output file */
motion_log(LOG_ERR, 0, "\nRAF15\n");
url_fclose(&ffmpeg->oc->pb);
motion_log(LOG_ERR, 0, "\nRAF15\n");
}
run motion -d9
[1] File of type 8 saved to: /weak/video/cam1/01-20080101223845.avi
[1] File of type 32 saved to: /weak/video/cam1/20080101-timelapse.mpg
[1] File of type 1 saved to: /weak/video/cam1/01-20080101223845-09.jpg
RAF11
[1]
RAF11
[1]
RAF14
[1]
RAF14
[1]
RAF15
*** glibc detected *** ./motion: free(): invalid pointer: 0x080950b0 ***
======= Backtrace: =========
/lib/libc.so.6[0xb75fa4b6]
/lib/libc.so.6(cfree+0x89)[0xb75fc179]
/usr/lib/libavformat.so.52(url_fclose+0x24)[0xb7e84e54]
./motion[0x805e4c1]
./motion[0x805e0f3]
./motion[0x804d981]
/lib/libpthread.so.0[0xb7f24192]
/lib/libc.so.6(clone+0x5e)[0xb765702e]
======= Memory map: ========
url_fclose
--
RafisKhayrullin - 01 Jan 2008
Follow Up
heh.
Unfortunately, with version 0.4.9-9.pm.svn20071229 occurs the same.
I have no old version ffmpeg.
--
RafisKhayrullin - 01 Jan 2008
Thanks , to help me to fix that could you tell me what svn version of motion are you running and also what is the output of motion on start :
[0] Processing thread 0 - config file motion.conf
[0] Motion 3.2.10 Started
[0] ffmpeg LIBAVCODEC_BUILD 3352064 LIBAVFORMAT_BUILD 3344896
btw did you get that message on motion build :
ffmpeg.c: In function ‘mpeg1_write_trailer’:
ffmpeg.c:191: warning: passing argument 1 of ‘put_buffer’ from incompatible pointer type
ffmpeg.c:192: warning: passing argument 1 of ‘put_flush_packet’ from incompatible pointer type
ffmpeg.c: In function ‘ffmpeg_close’:
ffmpeg.c:568: warning: passing argument 1 of ‘url_fclose’ from incompatible pointer type
Because it that happens makes sense the problem , otherwise no.
That's because ffmpeg API has changed :
* OLD *
typedef struct AVFormatContext {
const AVClass *av_class; /**< set by av_alloc_format_context */
/* can only be iformat or oformat, not both at the same time */
struct AVInputFormat *iformat;
struct AVOutputFormat *oformat;
void *priv_data;
ByteIOContext pb;
...
* NEW *
typedef struct AVFormatContext {
const AVClass *av_class; /**< set by av_alloc_format_context */
/* can only be iformat or oformat, not both at the same time */
struct AVInputFormat *iformat;
struct AVOutputFormat *oformat;
void *priv_data;
ByteIOContext *pb;
...
--
AngelCarpintero - 01 Jan 2008
Answer
Here is a patch that fix this issue , patch is against svn r292, but easy to port to any other revision.
Please give a try and reopen this SupportQuestion if problem remains.
cd motion/
patch < ffmpeg-AVFormatContext.diff
make distclean ; ./configure ; make
--
AngelCarpintero - 02 Jan 2008
Commited to svn r293, litle fix added in svn r294.
--
AngelCarpintero - 06 Jan 2008