Aw: Re: Re: Re: GStreamer application access violation in random locations

pfarmer flacone at gmx.de
Wed Jan 6 03:58:30 PST 2016



I can attach a debugger, however I do not have the GStreamer debug build. So at the moment a cannot check whats happening in gst_debug_log_valist().
 
The execution of the version with the protection also crashes:
 

With:
        if (!gst_is_initialized())
        {
            gst_debug_set_default_threshold(GST_LEVEL_MEMDUMP);
            gst_init(NULL, NULL);
            gst_debug_remove_log_function(&gst_debug_log_default);
            gst_debug_add_log_function(&gstLogFunction, NULL, NULL);
        }
e.g.:
Stack Trace (from fault):
[  0] 0x0000000148ae3397   C:\gstreamer\1.0\x86_64\bin\libgstbase-1.0-0.dll+00078743 gst_base_parse_merge_tags+00010871
[  1] 0x0000000167262c57   C:\gstreamer\1.0\x86_64\bin\libgobject-2.0-0.dll+00142423 g_type_class_ref+00001175
[  2] 0x00000001672628fd   C:\gstreamer\1.0\x86_64\bin\libgobject-2.0-0.dll+00141565 g_type_class_ref+00000317
[  3] 0x00000001672628fd   C:\gstreamer\1.0\x86_64\bin\libgobject-2.0-0.dll+00141565 g_type_class_ref+00000317
[  4] 0x000000009f95f3fe C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00193534 gst_element_register+00000382
[  5] 0x000000010c80153c C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\libgstgio.dll+00005436
[  6] 0x000000009f97f5f4 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00325108 gst_pipeline_get_latency+00002244
[  7] 0x000000009f9811c4 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00332228 gst_plugin_register_static_full+00003076
[  8] 0x000000009f98d2bf C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00381631 gst_query_set_context+00000495
[  9] 0x000000009f98e76c C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00386924 gst_registry_remove_plugin+00001660
[ 10] 0x000000009f98e946 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00387398 gst_registry_remove_plugin+00002134
[ 11] 0x000000009f990378 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00394104 gst_update_registry+00002808
[ 12] 0x000000009f931b9b C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00007067
[ 13] 0x000000017c0fb168      C:\gstreamer\1.0\x86_64\bin\libglib-2.0-0.dll+00242024 g_option_context_parse+00000856
[ 14] 0x000000009f932557 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00009559 gst_init_check+00000215
[ 15] 0x000000009f9325a7 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00009639 gst_init+00000023
[ 16] 0x000007fef3f479ea C:\builddbg\sfunc_gstmin.mexw64+00031210 mdlInitializeSampleTimes+00000058
 
 
With:
        if (!gst_is_initialized())
        {
            gst_debug_set_default_threshold(GST_LEVEL_LOG);
            gst_debug_add_log_function(&gstLogFunction, NULL, NULL);
            gst_debug_remove_log_function(&gst_debug_log_default);
            gst_init(NULL, NULL);
        }
I still did not caught any crash. 
 
Unfortunately this did not solve crashing if I add a little bit more to the program.
There I used the same function for initializing GStreamer and added a pipeline with a videotestsrc. Roughly like so:

GstElement* pipeline = gst_pipeline_new("name");
GstBus* bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
gst_bus_set_sync_handler(bus, busCallBack, (gpointer)this, NULL);
gst_object_unref(bus);

The busCallBack function does return GST_BUS_DROP only.

GError* gerr = NULL;
GstElement* bin = gst_parse_bin_from_description("videotestsrc name=src ! capsfilter name=caps ! appsink name=sink", TRUE, NULL);
if (bin == NULL)
{
	printf("Could not parse pipeline: %s", gerr->message);
	g_error_free(gerr);
	return;
}
gst_bin_add(GST_BIN(pipeline), bin);

Stack Trace (from fault):
[  0] 0x00000000a3461486 C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\libgstvideotestsrc.dll+00005254
[  1] 0x00000000a346174f C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\libgstvideotestsrc.dll+00005967
[  2] 0x0000000127e54cab   C:\gstreamer\1.0\x86_64\bin\libgobject-2.0-0.dll+00150699 g_type_create_instance+00000331
[  3] 0x0000000127e3a9d8   C:\gstreamer\1.0\x86_64\bin\libgobject-2.0-0.dll+00043480 g_object_unref+00002072
[  4] 0x0000000127e3c44e   C:\gstreamer\1.0\x86_64\bin\libgobject-2.0-0.dll+00050254 g_object_newv+00000542
[  5] 0x000000013c42eceb C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00191723 gst_element_factory_create+00000523
[  6] 0x000000013c42eeb5 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00192181 gst_element_factory_make+00000229
[  7] 0x000000013c493c8b C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00605323 gst_parse_flags_get_type+00018411
[  8] 0x000000013c494e67 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00609895 gst_parse_flags_get_type+00022983
[  9] 0x000000013c48c72c C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00575276 gst_parse_launch_full+00000124
[ 10] 0x000000013c47fdfe C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00523774 gst_parse_bin_from_description_full+00000302
[ 11] 0x000000013c47ff54 C:\gstreamer\1.0\x86_64\bin\libgstreamer-1.0-0.dll+00524116 gst_parse_bin_from_description+00000020
[ 12] 0x000007fee24cb932 C:\builddbg\sfunc_videotestsrc.mexw64+00047410 VideoTestSrc::setUp+00000130

 
 



Gesendet: Mittwoch, 06. Januar 2016 um 08:56 Uhr
Von: "Sebastian Dröge-3 [via GStreamer-devel]" <ml-node+s966125n4675124h46 at n4.nabble.com>
An: pfarmer <flacone at gmx.de>
Betreff: Re: Aw: Re: Re: GStreamer application access violation in random locations
On Di, 2016-01-05 at 06:13 -0800, pfarmer wrote:
> Thanks!
> It seems to work better.  I noticed though that both logging function
> are active in that case (tested ith a standalone application).
>  
> The crashing does never happend in a standalone application, so
> unfortunetly i cannot reproduce it there.  It may also arrise from
> multiple calling, so I added a protection like so:
> [...]

Does it also not crash with that multiple-call protection if you change
the order to what you had before?

If you can ever catch a crash in a debugger, it would be good to see
what exactly is called there from gst_debug_log_valist().

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
 signature.asc (968 bytes) Download Attachment[http://gstreamer-devel.966125.n4.nabble.com/attachment/4675124/0/signature.asc] 
------------------------------------------------------------

If you reply to this email, your message will be added to the discussion below:http://gstreamer-devel.966125.n4.nabble.com/GStreamer-application-access-violation-in-random-locations-tp4674999p4675124.html[http://gstreamer-devel.966125.n4.nabble.com/GStreamer-application-access-violation-in-random-locations-tp4674999p4675124.html]
To start a new topic under GStreamer-devel, email ml-node+s966125n966125h77 at n4.nabble.com
To unsubscribe from GStreamer application access violation in random locations, click here[http://gstreamer-devel.966125.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4674999&code=ZmxhY29uZUBnbXguZGV8NDY3NDk5OXw2NjU5OTY2Njk=].
NAML[http://gstreamer-devel.966125.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml]




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/GStreamer-application-access-violation-in-random-locations-tp4674999p4675132.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160106/d7ec17d8/attachment-0001.html>


More information about the gstreamer-devel mailing list