MARINECAT サポート掲示板
[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

タイトルRe^2: -enable-debugオプションで動作! FC5-i386 & FC5-x86_64 AMD Athlon2800
投稿日: 2006/10/14(Sat) 00:11
投稿者tkco

いやな解決ということなので続報ですw

-O2 試してみた所、英語ファイル名のwavファイルは正常動作します。しかも早い!
ただ日本語ファイル名のwavファイルだと浮動小数点例外がおきます。

そこで−g -DDEBUGオプションを追加しgdb実行したところ、今度は、日本語ファイル名の.wavファイルでも正常動作しました。

そこで
CFLAGS = -c -g $(INC) -O2 -Wall -pipe -DNDEBUG \
としてgdbで実行してみました。

[root@tkc-lnx petit313]# gdb --arg ./gogo /root/temp/petit313/失格.wav
GNU gdb Red Hat Linux (6.3.0.0-1.134.fc5rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /home/tkc/temp/petit313/gogo /root/temp/petit313/失格.wav
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x551000
[Thread debugging using libthread_db enabled]
[New Thread 8870208 (LWP 5393)]
encode /root/temp/petit313/失格.wav to /root/temp/petit313/失格.mp3
GOGO-no-coda ver. 3.13 ( May. 20 2004 ) is a mp3 encoder based on lame 3.88,
which is distributed under LGPL on http://www.mp3dev.org/mp3/ .
See http://member.nifty.ne.jp/~pen/ ,
http://homepage1.nifty.com/herumi/gogo_e.html .
family 6:vendor AMD
extended instruction - MMX EMMX CMOV 3D Now! Ext. 3D Now! SSE SSE2 CLFLUSH
enabled extended instruction - MMX EMMX CMOV 3D Now! Ext. 3D Now! SSE SSE2 CLFLUSH
MPEG 1 layer III j-stereo
inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=128kbps
input file `/root/temp/petit313/失格.wav'
output file `/root/temp/petit313/失格.mp3'

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 8870208 (LWP 5393)]
0x0805eb67 in calc_noise_short (max_index=12, xr=0x262e20, ix=0x26a340,
cod_info=0x2897c8, l3_xmin=0x26cb50, scalefac=0x26c740, xfsf=0x273f50,
res=0xbfc96df0) at engine/quantize_pvt.c:602
602 qtot_noise.mantissa *= qnoise.mantissa;
(gdb) list
597 itmp = *((unsigned int *)&noise);
598 qnoise.exponent = (itmp>>23); /* - 127; ���ȤǤޤȤ��ư��� */
599 itmp = (itmp & ((1<<23)-1)) | (127<<23);
600 qnoise.mantissa = *((float *)&itmp);
601 qtot_noise.exponent += qnoise.exponent;
602 qtot_noise.mantissa *= qnoise.mantissa;
603 if( noise > 1 ){
604 over++;
605 qover_noise.exponent += qnoise.exponent;606 qover_noise.mantissa *= qnoise.mantissa;(gdb) bt
#0 0x0805eb67 in calc_noise_short (max_index=12, xr=0x262e20, ix=0x26a340,
cod_info=0x2897c8, l3_xmin=0x26cb50, scalefac=0x26c740, xfsf=0x273f50,
res=0xbfc96df0) at engine/quantize_pvt.c:602
#1 0x08054d6b in outer_loop (tl=Variable "tl" is not available.
) at engine/quantize.c:491
#2 0x080557bc in CBR_iteration_loop (tl=0x25b010, pe=0xbfc97f8c,
ms_ener_ratio=0xbfc97fbc, mean_bits=0xbfc97fcc) at engine/quantize.c:1244
#3 0x0805065e in lame_encode_mp3_frame (tl=0x25b010) at engine/encoder.c:369
#4 0x08051c91 in encodeframe () at engine/gogo.c:576
#5 0x08051d7c in MPGE_processTrack () at engine/gogo.c:760
#6 0x0804a4ed in main (argc=882398802, argv=0x49101953) at main.c:374
(gdb) q
The program is running. Exit anyway? (y or n) y

CDリッパーはGripを使用しているのですが、[ファイル名に日本語(EUC-JP)を使用する]をチェックし切り出ししています。(そうしないと「.wav」というファイル名になってしまう)FC5の環境はUTF-8なはずなのでこの辺に問題があるのかも?


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
代理サーバー経由のアクセスか、アクセス制限されたホストからのアクセスを検出しました。投稿できません