MaartenBaert / ssr

SimpleScreenRecorder, a screen recorder for Linux
http://www.maartenbaert.be/simplescreenrecorder/
GNU General Public License v3.0
2.53k stars 287 forks source link

Non-reproducable failure #136

Open DAP-DarkneSS opened 10 years ago

DAP-DarkneSS commented 10 years ago

%simplescreenrecorder ==================== SSR started ==================== SimpleScreenRecorder 0.2.1 Compiled with GCC 4.8.1 Qt: header 4.8.5, lib 4.8.5 libavformat: header 55.19.104, lib 55.19.104 libavcodec: header 55.39.101, lib 55.39.101 libavutil: header 52.48.101, lib 52.48.101 libswscale: header 2.5.101, lib 2.5.101 [PulseAudioConnect] Error: Could not connect! Reason: Отказ в подключении It is possible that your system doesn't use PulseAudio. Try using the ALSA backend instead. [DetectCPUFeatures] CPU features: mmx sse sse2 sse3 [PageRecord::StartPage] Starting page ... [PageRecord::StartPage] Started page. [PageRecord::StartOutput] Starting output ... [Muxer::Init] Using format mp4 (MP4 (MPEG-4 Part 14)). [BaseEncoder::CreateCodec] Using codec libx264 (libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10). [libx264 @ 0x29770c0] using SAR=1/1 [libx264 @ 0x29770c0] using cpu capabilities: MMX2 SSE2Slow SlowCTZ [libx264 @ 0x29770c0] profile High, level 3.2 [libx264 @ 0x29770c0] 264 - core 135 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1,00:0,00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=23,0 qcomp=0,60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1,40 pb_ratio=1,30 aq=1:1,00 [DetectCPUFeatures] CPU features: mmx sse sse2 sse3 simplescreenrecorder: AV/FastResampler.cpp:87: FastResampler::FastResampler(unsigned int, float): Проверочное утверждение «channels != 0» не выполнено. [1] 8510 abort simplescreenrecorder %

MaartenBaert commented 10 years ago

I suppose this happened when you disabled audio? There's a bug in Synchronizer that tries to create a resampler even when audio is disabled, that's causing this bug. Still, you should never have seen that assertion because it is a debugging feature, it should have been disabled. How did you install/compile SSR?

DAP-DarkneSS commented 10 years ago

Nope, I didn't change anything. I packed a newer release to openSUSE package.

MaartenBaert commented 10 years ago

What's the configure line used to compile the package? It should be

./configure --prefix=/usr --disable-assert

I could release a new version, but I've just verified that the bug is completely harmless as long as you have --disable-assert (since the resampler is created but never used). So the easiest solution would be to add that configure flag.

DAP-DarkneSS commented 10 years ago

[ 130s] + ./configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/lib --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --enable-jack

MaartenBaert commented 10 years ago

You should add --disable-assert, assertions shouldn't be there in packaged versions.

Also, --enable-jack is already the default (just like --enable-pulseaudio), so that's not actually needed.

DAP-DarkneSS commented 10 years ago

OK, thank you!

DAP-DarkneSS commented 10 years ago

But debugging enabled is a part of packaging policy. Why should it be disabled for SSR?

MaartenBaert commented 10 years ago

Is it? Are debugging symbols also enabled (i.e. the -g option)?

You could use the version that's currently in the master branch (commit 61e99eb7), it's identical to v0.2.1 except for this one bugfix.

DAP-DarkneSS commented 10 years ago

Yes, it is. Debugging symbols are automatically stripped into different subpackage.

I got a build system error with disable-assert set: [ 378s] I: Program returns random data in a function [ 378s] E: simplescreenrecorder no-return-in-nonvoid-function GUI/MainWindow.cpp:134

OK, I'll try a git snapshot.

MaartenBaert commented 10 years ago

The warning is mostly harmless, but I fixed now (commit 0ed08e5).

DAP-DarkneSS commented 10 years ago

https://pmbs.links2linux.de/package/binaries?package=simplescreenrecorder&project=home%3Adap&repository=openSUSE_13.1 f.e.: debuginfo & debugsource subpackages are created automatically.

DAP-DarkneSS commented 10 years ago

Thanks!

DAP-DarkneSS commented 10 years ago

Sorry, sound is always disabled. But the issue happened only once.

DAP-DarkneSS commented 10 years ago

Tried the freshest snapshot 5 times and failed to reproduce the bug.