[Gstreamer-bugs] [Bug 145338] New: - [PATCH] Fix a bus error in the optimal scheduler
bugzilla-daemon at bugzilla.gnome.org
bugzilla-daemon at bugzilla.gnome.org
Fri Jul 2 20:57:14 PDT 2004
http://bugzilla.gnome.org/show_bug.cgi?id=145338
GStreamer | gstreamer (core) | Ver: HEAD CVS
Summary: [PATCH] Fix a bus error in the optimal scheduler
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: FreeBSD
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-maint at bugzilla.gnome.org
ReportedBy: marcus at freebsd.org
QAContact: gstreamer-maint at bugzilla.gnome.org
When starting a new game in monkey-bubble 0.3.2 with malloc debugging enabled in
FreeBSD, gstreamer crashes on SIGBUS in the optimal scheduler.
#0 0x28ee1a64 in gst_opt_scheduler_pad_unlink (sched=0x824eb00,
srcpad=0x8261f00, sinkpad=0x8120500) at gstoptimalscheduler.c:2321
l = (GSList *) 0xd0d0d0d0
m = (GList *) 0x0
linkcount = 0
still_link1 = -791621424
still_link2 = 1
group = (GstOptSchedulerGroup *) 0x82671c0
sched = (GstScheduler *) 0xd0d0d0d0
osched = (GstOptScheduler *) 0x824eb00
src_element = (GstElement *) 0x825a200
sink_element = (GstElement *) 0x825c800
group1 = (GstOptSchedulerGroup *) 0x82671c0
group2 = (GstOptSchedulerGroup *) 0x82671c0
#1 0x283365cb in gst_scheduler_pad_unlink (sched=0x824eb00, srcpad=0x8261f00,
sinkpad=0x8120500) at gstscheduler.c:186
sched = (GstScheduler *) 0x824eb00
sclass = (GstSchedulerClass *) 0x82671c0
#2 0x28326c9d in gst_pad_unlink (srcpad=0x8261f00, sinkpad=0x8120500)
at gstpad.c:1010
realsrc = (GstRealPad *) 0x8261f00
realsink = (GstRealPad *) 0x8120500
src_sched = (GstScheduler *) 0x824eb00
---Type <return> to continue, or q <return> to quit---
sink_sched = (GstScheduler *) 0x824eb00
#3 0x283188f7 in gst_element_remove_pad (element=0x825a200, pad=0x8261f00)
at gstelement.c:1181
element = (GstElement *) 0x825a200
pad = (GstPad *) 0x8261f00
#4 0x28f09468 in gst_ogg_demux_get_type ()
from /usr/X11R6/lib/gstreamer-0.8/libgstogg.so
No symbol table info available.
#5 0x28f0a283 in gst_ogg_demux_get_type ()
from /usr/X11R6/lib/gstreamer-0.8/libgstogg.so
No symbol table info available.
#6 0x28f0a3c9 in gst_ogg_demux_get_type ()
from /usr/X11R6/lib/gstreamer-0.8/libgstogg.so
No symbol table info available.
#7 0x2831c7ee in gst_element_set_state (element=0x825a200,
state=GST_STATE_READY) at gstelement.c:2735
oclass = (GstElementClass *) 0x82671c0
curpending = 136684032
return_val = GST_STATE_SUCCESS
#8 0x2830f901 in gst_bin_change_state (element=0x821be00) at gstbin.c:755
old_child_state = GST_STATE_PAUSED
bin = (GstBin *) 0x8250a58
children = (GList *) 0x8250a58
---Type <return> to continue, or q <return> to quit---
child = (GstElement *) 0x825a200
ret = 136737216
old_state = GST_STATE_PAUSED
pending = GST_STATE_READY
have_async = 0
#9 0x28330b0b in gst_pipeline_change_state (element=0x821be00)
at gstpipeline.c:174
No locals.
#10 0x2831c7ee in gst_element_set_state (element=0x821be00,
state=GST_STATE_NULL) at gstelement.c:2735
oclass = (GstElementClass *) 0x82671c0
curpending = GST_STATE_READY
return_val = GST_STATE_SUCCESS
The problem looks to be triggered by the fact that when group->num_elements is
0, group is unref'd, but that is made apparent to the original calling function.
With the attached patch, the crash is fixed. I hope this is the right solution.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are the QA contact for the bug, or are watching the QA contact.
More information about the Gstreamer-bugs
mailing list