After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 324069 - crash in liboil when loading libgstaudioresample.so plugin
crash in liboil when loading libgstaudioresample.so plugin
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-12-14 14:38 UTC by Jeroen Zwartepoorte
Modified: 2005-12-16 09:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jeroen Zwartepoorte 2005-12-14 14:38:32 UTC
Fresh 0.10 build. On totem startup (happens almost immediately):

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 7323)

  • #0 conv_f32_s32_sse
    at /usr/lib/gcc/i386-redhat-linux/4.0.2/include/xmmintrin.h line 580
  • #1 _oil_test_marshal_function
    at liboilmarshal.c line 57
  • #2 oil_test_check_function
    at liboiltest.c line 236
  • #3 oil_cpu_fault_check_try
    at liboilcpu.c line 473
  • #4 oil_test_check_impl
    at liboiltest.c line 323
  • #5 oil_class_optimize
    at liboilfunction.c line 371
  • #6 oil_optimize_all
    at liboilfunction.c line 194
  • #7 oil_init
    at liboilfunction.c line 143
  • #8 resample_init
    at resample.c line 46
  • #9 plugin_init
    at gstaudioresample.c line 597
  • #10 gst_plugin_register_func
    at gstplugin.c line 260
  • #11 gst_plugin_load_file
    at gstplugin.c line 446
  • #12 gst_registry_scan_path_level
    at gstregistry.c line 805

Comment 1 Jeroen Zwartepoorte 2005-12-14 14:58:21 UTC
This is liboil HEAD btw.
Comment 2 Jeroen Zwartepoorte 2005-12-14 15:19:30 UTC
Totem start ok when compiled against the latest stable liboil (0.3.6)
Comment 3 Tim-Philipp Müller 2005-12-15 21:22:04 UTC
Any reason to keep this open, or can this be closed? (NOTGNOME I presume?)

Comment 4 Jeroen Zwartepoorte 2005-12-15 21:25:37 UTC
Yeah, can be closed. Wise though to file it upstream. I don't have an account on
fdo though (don't want to create one either; i have plenty bugzilla accounts as is).
Comment 5 Eric Anholt 2005-12-16 03:11:25 UTC
Just staring at the code hasn't given me any clues, and oil-inspect on this
function works for me with liboil HEAD (amd64, gcc 3.4.4).  Could you print out
the values of i, tmp_src_array, and tmp_src?

I would be great if you could get backtraces across inline functions like _mm_*.
 Sigh.
Comment 6 David Schleef 2005-12-16 03:26:55 UTC
I fixed it... by removing the offending implementation.
Comment 7 Tim-Philipp Müller 2005-12-16 09:42:57 UTC
If you're still interested:

(gdb) run
Starting program: /usr/local/bin/gst-inspect-0.10 audioresample

===> i=0    tmp_src_array=0xbf991f44        tmp_src=0xbf991f50

Program received signal SIGSEGV, Segmentation fault.

conv_f32_s32_sse (dst=0x80c5518, dst_stride=4, src=0x80c58b0, src_stride=4,
n=100) at xmmintrin.h:580
580       return (__m128) __builtin_ia32_cvtpi2ps ((__v4sf) __A, (__v2si)__B);

(gdb) print tmp_src_array
$1 = {-1210623688, -1080484048, 135136576, -862613052, -2057857035, -1788663646,
1895727319, -2053615418, -1783750715, -2031355357, 950144718, -1410630524,
546237904, -1402226472, -1731294992, -725120815,
  2011388535, 1674015503, 886583388, 80984624, -934110666, -489539248,
453929066, -1978224452, -2010181375, -1428111150, 533747403, 1029062750,
1151068610, -113844886, 1924320766, 1715202710, 678808066,
  1571118414, -94412167, 394183345, -55575984, -67037251, 1656456727,
-931468566, -1760005286, -1413695768, -903485165, -146338111, -757731203,
-332708473, -1099214234, 807266033, 476679619, 1144985288,
  -264479811, -646320917, 1443747194, 78231752, 1536281891, -1548488023,
1081954159, -1450046814, 948084953, 425921367, -1856633458, 1356812242,
1475707132, 918778974, 247429890, -1960378629, -692099937,
  -1211446812}

(gdb) print *tmp_src
$2 = -862613052


Cheers
 -Tim
Comment 8 Tim-Philipp Müller 2005-12-16 09:47:30 UTC
<anholt> but, yeah, close it since the code's gone now