Description of problem: tried firing up tvtime with my winfast 2000 gold dongle Version-Release number of selected component: tvtime-1.0.2-22.fc18 Additional info: backtrace_rating: 4 cmdline: tvtime crash_function: mirror_packed422_inplace_scanline_c executable: /usr/bin/tvtime kernel: 3.7.2-201.fc18.x86_64 remote_result: 616169 uid: 1000 Truncated backtrace: Thread no. 1 (4 frames) #0 mirror_packed422_inplace_scanline_c at speedy.c:543 #1 videofilter_packed422_scanline at videofilter.c:95 #2 tvtime_build_deinterlaced_frame at tvtime.c:479 #3 tvtime_main at tvtime.c:2291
Created attachment 685000 [details] File: backtrace
Created attachment 685001 [details] File: cgroup
Created attachment 685002 [details] File: core_backtrace
Created attachment 685003 [details] File: dso_list
Created attachment 685004 [details] File: environ
Created attachment 685005 [details] File: limits
Created attachment 685006 [details] File: maps
Created attachment 685007 [details] File: open_fds
Created attachment 685008 [details] File: proc_pid_status
Created attachment 685009 [details] File: var_log_messages
I think tvtime is filtering too many scanlines... I may have a patch to fix this.
Wonderfull. Can you give me this patch to test them with tvtime? Thanks Regards
Created attachment 793656 [details] Maybe a patch Here you are. I'm not quite sure about it's correctness: It seems the crash happens at the beginning of the last scanline so I simply skipped the last ones to see what happens. There are no artifacts in the picture and tvtime is not crashing any more in my environment.
Possible cause: In C parameters are essentially local variables which are initialized with values passed in as arguments. This means they exist only for as long as the function is being executed. Your saveframe variable ceases to exist once the function exists and with it the value you assigned. static void save_last_frame( uint8_t *saveframe, uint8_t *curframe, int width, int height, int savestride, int curstride ) { height /= 2; height--; while( height-- ) { blit_packed422_scanline( saveframe, curframe, width ); saveframe += savestride; interpolate_packed422_scanline( saveframe, curframe, curframe + (curstride*2), width ); saveframe += savestride; curframe += (curstride*2); } blit_packed422_scanline( saveframe, curframe, width ); saveframe += savestride; blit_packed422_scanline( saveframe, curframe, width ); saveframe += savestride; /* <-- Assignment of function parameter has no effect outside the function and if( !bottom_field ) { /* Double the bottom scanline. */ blit_packed422_scanline( output, curframe, width ); if( tvtime->outputfilter ) { outputfilter_composite_packed422_scanline( tvtime->outputfilter, output, width, 0, scanline ); } output += outstride; /* <-- Assignment of function parameter has no effect outside the function scanline++; } } tvtime->filtered_curframe = 1; }
It's true that those two lines have no effect which looks suspicious. Let's try to fix it so the assignments really move the pointers.
This message is a reminder that Fedora 18 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 18. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '18'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 18's end of life. Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 18 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 18's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.