Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seg Fault almost every time #9

Open
rdoherty47 opened this issue Nov 11, 2011 · 11 comments
Open

Seg Fault almost every time #9

rdoherty47 opened this issue Nov 11, 2011 · 11 comments

Comments

@rdoherty47
Copy link

Alan,

I've downloaded and had your code working before, but I just redownloaded and built it, everything went smooth, but when I run it now based on the command given in the README, it seg faults when I select the bounding box. In fact, the very first time I ran it, it froze every time i moved the window or tried specifying the bounding box. Now it just seg faults everytime

@alantrrs
Copy link
Owner

Hi could you try debbuging so that I can see when the seg fault occur?

Thanks

Sent from my iPhone

On Nov 11, 2011, at 11:43 AM, rdoherty47
<[email protected]

wrote:

Alan,

I've downloaded and had your code working before, but I just
redownloaded and built it, everything went smooth, but when I run it
now based on the command given in the README, it seg faults when I
select the bounding box. In fact, the very first time I ran it, it
froze every time i moved the window or tried specifying the bounding
box. Now it just seg faults everytime


Reply to this email directly or view it on GitHub:
#9

@rdoherty47
Copy link
Author

Never mind, I used the gdb and was able to get some output, here it is:

Starting program: /home/ryan/OpenTLD/bin/run_tld exec-file /home/ryan/OpenTLD/bin/run_tld
[Thread debugging using libthread_db enabled]
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
Initial Bounding Box = x:220 y:113 h:92 w:90
Created 75688 bounding boxes
Found 0 good boxes, 0 bad boxes
Best Box: 217 109 92 90
Bounding box hull: 2147483647 2147483647 -2147483647 -2147483647

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff51a0899 in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6

@alantrrs
Copy link
Owner

Hi, I can see that the algorithm cant find any good or bad bounding boxes
(Found 0 good boxes, 0 bad boxes). What parameters are you passing to the
program, how are you running it?
I'v seen this error before when the video file is not read correctly.

On Fri, Nov 11, 2011 at 12:23 PM, rdoherty47 <
[email protected]>wrote:

Never mind, I used the gdb and was able to get some output, here it is:

Starting program: /home/ryan/OpenTLD/bin/run_tld exec-file
/home/ryan/OpenTLD/bin/run_tld
[Thread debugging using libthread_db enabled]
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
Initial Bounding Box = x:220 y:113Found 0 good boxes, 0 bad boxes

h:92 w:90

Created 75688 bounding boxes
Best Box: 217 109 92 90
Bounding box hull: 2147483647 2147483647 -2147483647 -2147483647

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff51a0899 in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6


Reply to this email directly or view it on GitHub:
#9 (comment)

Alan I. Torres Nogales

@rdoherty47
Copy link
Author

I just run the first command given in the README to use my laptop webcam... I've had this working before. I thought the seg fault was my fault from playing around with the code a little bit, so i just downloaded a new copy today, but it is still seg faulting. the command i run is ./run_tld -p ../parameters.yml -tl

@alantrrs
Copy link
Owner

What happens when you run it using a video?
by doing..
./run_tld -p ../parameters.yml -s ../_input/motocross.mpg -tl

On Fri, Nov 11, 2011 at 8:10 PM, rdoherty47 <
[email protected]

wrote:

I just run the first command given in the README to use my laptop
webcam... I've had this working before. I thought the seg fault was my
fault from playing around with the code a little bit, so i just downloaded
a new copy today, but it is still seg faulting. the command i run is
./run_tld -p ../parameters.yml -tl


Reply to this email directly or view it on GitHub:
#9 (comment)

Alan I. Torres Nogales

@rdoherty47
Copy link
Author

This is the output:

VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
capture device failed to open!

I tried the command above, but when I looked in the _input directory I noticed there wasn't a file called motocross.mpg... but there was one call motorbike.mp4. Regardless I tried both command, and they resulted in the same error.

@alantrrs
Copy link
Owner

Hi I just re-downloaded and tried the code but it worked fine with both
camera and video inputs. Have you made any change to the parameters.yml
file? or the ffmpeg software?

What OS are you on?

On Sat, Nov 12, 2011 at 12:12 PM, rdoherty47 <
[email protected]

wrote:

This is the output:

VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
capture device failed to open!

I tried the command above, but when I looked in the _input directory I
noticed there wasn't a file called motocross.mpg... but there was one call
motorbike.mp4. Regardless I tried both command, and they resulted in the
same error.


Reply to this email directly or view it on GitHub:
#9 (comment)

Alan I. Torres Nogales

@alantrrs
Copy link
Owner

Could you also try running valgrind on it?

valgrind ./run_tld -p ../parameters.yml -s ../_input/motorbike.mp4 -tl

On Sat, Nov 12, 2011 at 12:43 PM, Alan Torres [email protected]:

Hi I just re-downloaded and tried the code but it worked fine with both
camera and video inputs. Have you made any change to the parameters.yml
file? or the ffmpeg software?

What OS are you on?

On Sat, Nov 12, 2011 at 12:12 PM, rdoherty47 <
[email protected]

wrote:

This is the output:

VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
capture device failed to open!

I tried the command above, but when I looked in the _input directory I
noticed there wasn't a file called motocross.mpg... but there was one call
motorbike.mp4. Regardless I tried both command, and they resulted in the
same error.


Reply to this email directly or view it on GitHub:
#9 (comment)

Alan I. Torres Nogales

Alan I. Torres Nogales

@rdoherty47
Copy link
Author

I haven't changed the parameters.yml at all. When I was compiling the software, I get the printf errors, and add #include <stdio.h> in the necessary files. Does yours compile before fixing those? Also, here is the output from running valgrind on the .mp4 file.... I haven't gotten the seg fault there though, because the video never even opens. Here is the output from valgrind:

==3630== Memcheck, a memory error detector
==3630== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==3630== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==3630== Command: ./run_tld -p ../parameters.yml -s ../input/motorbike.mp4 -tl
==3630==
==3630== Syscall param ioctl(generic) points to uninitialised byte(s)
==3630== at 0x77FD649: syscall (syscall.S:39)
==3630== by 0x126BBAA5: v4l2_fd_open (in /usr/lib/libv4l2.so.0)
==3630== by 0x126BBF28: v4l2_open (in /usr/lib/libv4l2.so.0)
==3630== by 0x5FBF09D: capture_V4L2(CvCaptureCAM_V4L, char
) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FC03BA: CvCaptureCAM_V4L_CPP::open(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FC087A: cvCreateCameraCapture_V4L(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FADC16: cvCreateCameraCapture (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FADF1F: cv::VideoCapture::open(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x42470D: main (in /home/ryan/OpenTLD/bin/run_tld)
==3630== Address 0x7fefff114 is on thread 1's stack
==3630==
==3630== Syscall param ioctl(generic) points to uninitialised byte(s)
==3630== at 0x77FD649: syscall (syscall.S:39)
==3630== by 0x13161BB4: ??? (in /usr/lib/libv4lconvert.so.0)
==3630== by 0x1315383A: v4lconvert_create (in /usr/lib/libv4lconvert.so.0)
==3630== by 0x126BBB3B: v4l2_fd_open (in /usr/lib/libv4l2.so.0)
==3630== by 0x126BBF28: v4l2_open (in /usr/lib/libv4l2.so.0)
==3630== by 0x5FBF09D: capture_V4L2(CvCaptureCAM_V4L, char_) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FC03BA: CvCaptureCAM_V4L_CPP::open(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FC087A: cvCreateCameraCapture_V4L(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FADC16: cvCreateCameraCapture (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FADF1F: cv::VideoCapture::open(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x42470D: main (in /home/ryan/OpenTLD/bin/run_tld)
==3630== Address 0x7feffeed4 is on thread 1's stack
==3630==
==3630== Syscall param ioctl(generic) points to uninitialised byte(s)
==3630== at 0x77FD649: syscall (syscall.S:39)
==3630== by 0x1316205E: ??? (in /usr/lib/libv4lconvert.so.0)
==3630== by 0x1315383A: v4lconvert_create (in /usr/lib/libv4lconvert.so.0)
==3630== by 0x126BBB3B: v4l2_fd_open (in /usr/lib/libv4l2.so.0)
==3630== by 0x126BBF28: v4l2_open (in /usr/lib/libv4l2.so.0)
==3630== by 0x5FBF09D: capture_V4L2(CvCaptureCAM_V4L, char_) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FC03BA: CvCaptureCAM_V4L_CPP::open(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FC087A: cvCreateCameraCapture_V4L(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FADC16: cvCreateCameraCapture (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FADF1F: cv::VideoCapture::open(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x42470D: main (in /home/ryan/OpenTLD/bin/run_tld)
==3630== Address 0x7feffef24 is on thread 1's stack
==3630==
==3630== Syscall param ioctl(generic) points to uninitialised byte(s)
==3630== at 0x77FD649: syscall (syscall.S:39)
==3630== by 0x13161995: ??? (in /usr/lib/libv4lconvert.so.0)
==3630== by 0x13155F8B: v4lconvert_vidioc_g_ctrl (in /usr/lib/libv4lconvert.so.0)
==3630== by 0x126BC719: v4l2_ioctl (in /usr/lib/libv4l2.so.0)
==3630== by 0x5FBEB9F: v4l2_scan_controls(CvCaptureCAM_V4L_) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FBF17A: capture_V4L2(CvCaptureCAM_V4L, char*) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FC03BA: CvCaptureCAM_V4L_CPP::open(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FC087A: cvCreateCameraCapture_V4L(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FADC16: cvCreateCameraCapture (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x5FADF1F: cv::VideoCapture::open(int) (in /usr/local/lib/libopencv_highgui.so.2.3.1)
==3630== by 0x42470D: main (in /home/ryan/OpenTLD/bin/run_tld)
==3630== Address 0x7fefff2a4 is on thread 1's stack
==3630==
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
capture device failed to open!
==3630==
==3630== HEAP SUMMARY:
==3630== in use at exit: 16,842,822 bytes in 1,007 blocks
==3630== total heap usage: 1,424 allocs, 417 frees, 17,333,729 bytes allocated
==3630==
==3630== LEAK SUMMARY:
==3630== definitely lost: 16,777,228 bytes in 2 blocks
==3630== indirectly lost: 0 bytes in 0 blocks
==3630== possibly lost: 0 bytes in 0 blocks
==3630== still reachable: 65,594 bytes in 1,005 blocks
==3630== suppressed: 0 bytes in 0 blocks
==3630== Rerun with --leak-check=full to see details of leaked memory
==3630==
==3630== For counts of detected and suppressed errors, rerun with: -v
==3630== Use --track-origins=yes to see where uninitialised values come from
==3630== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 4 from 4)

@rdoherty47
Copy link
Author

Well, I just deleted my copy again, redownloaded and built it. The tracking using my webcam works now, but the second command to use the input video still doesn't work. same error.

@alantrrs
Copy link
Owner

Great to know that its working with the camera. I included the missing
headers so everything should compile fine now. I don't know why it doesn't
open the input video though. Try moving the video to the same folder as the
executable and just run

./run_tld -p ../parameters.yml -s motorbike.mp4 -tl

Or try it with a different video, I don't have any issues running it with
the video.

On Sat, Nov 12, 2011 at 1:32 PM, rdoherty47 <
[email protected]

wrote:

Well, I just deleted my copy again, redownloaded and built it. The
tracking using my webcam works now, but the second command to use the input
video still doesn't work. same error.


Reply to this email directly or view it on GitHub:
#9 (comment)

Alan I. Torres Nogales

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants