Access violation rtspsrc set-parameter action signal

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Access violation rtspsrc set-parameter action signal

wilson1994
Hi,

I have a gstreamer application which uses rtspsrc to stream video data, and
to get and set server parameters. For getting/setting parameters I use the
"set-parameter" and "get-parameter" action signals. Also I need to compile
this application for both windows and linux, for which I use meson and
gstreamer 1.16.0 .

In Linux everything works fine. When compiled in Windows, the
"get-parameter" also works, but the "set-parameter" signal causes and access
violation error:

Exception code=0xc0000005 flags=0x0 at 0x00007FF814F00000. Access violation
- attempting to execute data at address 0x00007FF814F00000

A very simple example to reconstruct:

    g_print("going to get parameter\n");
    gboolean dummy;
    GstPromise *promise_get = gst_promise_new();
    g_signal_emit_by_name(source, "get_parameter", "test", NULL,
promise_get, &dummy);
    // -----> works fine
    g_print("going to set parameter\n");
    GstPromise *promise_set = gst_promise_new();
    g_signal_emit_name(source, "set-parameter", "test", "test", NULL,
promise_set);
    // ----> ERROR

Can someone please tell me if this is a bug? I also tried using gstreamer
1.17.0 but the same happens there.

Before switching to meson I used MinGW to compile for windows, and there I
had no problems with "set-parameter" signal.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Access violation rtspsrc set-parameter action signal

wilson1994
This post was updated on .
Here is a dump of the logs concerning rtspsrc of an example where I first
request a parameter and get response, afterwards set a parameter. I see the application receives the set-parameter request, but it crashes before it can send it to server, however I don't see anything suspicious in the logs

12024going to read register
 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:8964:gst_rtspsrc_thread:<ch0_source> got command LOOP
0:00:21.274029000 12024 00000188B6EAEA50 LOG                  rtspsrc
gstrtspsrc.c:1256:get_parameter:<ch0_source> get_parameter: 4096
0:00:21.290061000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0
0:00:21.294687000 12024 00000188B6EAEA50 LOG                  rtspsrc
gstrtspsrc.c:1272:get_parameters:<ch0_source> get_parameters: 1
0:00:21.305984000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5547:gst_rtspsrc_loop_interleaved:<ch0_source> doing receive
with timeout 40 seconds, 976677 usec
0:00:21.310473000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:6007:gst_rtspsrc_loop_send_cmd:<ch0_source> sending cmd
GET_PARAMETER
0:00:21.328046000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5559:gst_rtspsrc_loop_interleaved:<ch0_source> we received a
server message
0:00:21.334478000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:6032:gst_rtspsrc_loop_send_cmd:<ch0_source> cancel previous
request LOOP
0:00:21.339049000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5592:gst_rtspsrc_loop_interleaved:<ch0_source> got data message
0:00:21.349910000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:6040:gst_rtspsrc_loop_send_cmd:<ch0_source> connection flush
busy LOOP
0:00:21.360083000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5357:gst_rtspsrc_handle_data:<ch0_source> pushing data of size
65024 on channel 0
0:00:21.369435000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 1
0:00:21.393335000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:5160:gst_rtspsrc_connection_flush:<ch0_source> connection flush
0:00:21.378851000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5547:gst_rtspsrc_loop_interleaved:<ch0_source> doing receive
with timeout 40 seconds, 903846 usec
0:00:21.419065000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5618:gst_rtspsrc_loop_interleaved:<ch0_source> got interrupted
0:00:21.425884000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6105:gst_rtspsrc_loop:<ch0_source> pausing task, reason
flushing
0:00:21.430860000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6007:gst_rtspsrc_loop_send_cmd:<ch0_source> sending cmd WAIT
0:00:21.441895000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6026:gst_rtspsrc_loop_send_cmd:<ch0_source> ignore, we have a
pending GET_PARAMETER
0:00:21.450886000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6040:gst_rtspsrc_loop_send_cmd:<ch0_source> connection flush
busy LOOP
0:00:21.456343000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 1
0:00:21.469275000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:8964:gst_rtspsrc_thread:<ch0_source> got command GET_PARAMETER
0:00:21.477672000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0
0:00:21.482189000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5160:gst_rtspsrc_connection_flush:<ch0_source> connection flush
0:00:21.503886000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:9349:gst_rtspsrc_get_parameter:<ch0_source> creating server
get_parameter
0:00:21.508449000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0
0:00:21.515329000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:528:default_before_send:<ch0_source> default handler
0:00:21.535838000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:528:default_before_send:<ch0_source> default handler
0:00:21.540687000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6433:gst_rtspsrc_try_send:<ch0_source> sending message
0:00:21.546748000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9605:gst_rtspsrc_print_rtsp_message:<ch0_source>
--------------------------------------------
0:00:21.560963000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9608:gst_rtspsrc_print_rtsp_message:<ch0_source> RTSP request
message 0000003D812FF120
0:00:21.568828000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9609:gst_rtspsrc_print_rtsp_message:<ch0_source>  request line:
0:00:21.586959000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9611:gst_rtspsrc_print_rtsp_message:<ch0_source>    method:
'GET_PARAMETER'
0:00:21.595634000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9612:gst_rtspsrc_print_rtsp_message:<ch0_source>    uri:  
'rtsp://192.168.0.13:8550/api/'
0:00:21.605397000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9614:gst_rtspsrc_print_rtsp_message:<ch0_source>    version:
'1.0'
0:00:21.609440000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9615:gst_rtspsrc_print_rtsp_message:<ch0_source>  headers:
0:00:21.621570000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9589:dump_key_value:<ch0_source>    key: 'Content-Type', value:
'text/parameters'
0:00:21.631298000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9617:gst_rtspsrc_print_rtsp_message:<ch0_source>  body:
0:00:21.643720000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9621:gst_rtspsrc_print_rtsp_message:<ch0_source>  4096:
(7)

..... some incoming video data logs ........


0:00:35.537998000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9627:gst_rtspsrc_print_rtsp_message:<ch0_source> RTSP response
message 0000003D812FF1A0
0:00:35.546915000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9628:gst_rtspsrc_print_rtsp_message:<ch0_source>  status line:
0:00:35.550900000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9629:gst_rtspsrc_print_rtsp_message:<ch0_source>    code:  
'200'
0:00:35.559559000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9630:gst_rtspsrc_print_rtsp_message:<ch0_source>    reason:
'OK'
0:00:35.564766000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9632:gst_rtspsrc_print_rtsp_message:<ch0_source>    version:
'1.0
0:00:35.568755000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9633:gst_rtspsrc_print_rtsp_message:<ch0_source>  headers:
0:00:35.584593000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9589:dump_key_value:<ch0_source>    key: 'CSeq', value: '6'
0:00:35.588465000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9589:dump_key_value:<ch0_source>    key: 'Server', value:
'GStreamer RTSP server'
0:00:35.607110000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9589:dump_key_value:<ch0_source>    key: 'Session', value:
'ySNYIBArnBHWt4Vu'
0:00:35.631536000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9589:dump_key_value:<ch0_source>    key: 'Date', value: 'Wed,
08 Jan 2020 14:11:02 GMT'
0:00:35.636800000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9589:dump_key_value:<ch0_source>    key: 'Content-Length',
value: '16'
0:00:35.644097000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9636:gst_rtspsrc_print_rtsp_message:<ch0_source>  body: length
17
0:00:35.648621000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9639:gst_rtspsrc_print_rtsp_message:<ch0_source>  4096: 28261
(17)
0:00:35.658638000 12024 00000188B6EAF940 LOG                  rtspsrc
gstrtspsrc.c:9697:gst_rtspsrc_print_rtsp_message:<ch0_source>
--------------------------------------------
0:00:35.670976000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6335:gst_rtsp_src_receive_response:<ch0_source> received
response message
0:00:35.676652000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6354:gst_rtsp_src_receive_response:<ch0_source> got response
message 200


readRegister : Register 0x1000 has value 0x6E65

0going to write register:00:35

.685208000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:8964:gst_rtspsrc_thread:<ch0_source> got command LOOP
0:00:35.686674000 12024 00000188B6EAEA50 LOG                  rtspsrc
gstrtspsrc.c:1316:set_parameter:<ch0_source> set_parameter: 16: 10
0:00:35.701489000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0
0:00:35.720578000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5547:gst_rtspsrc_loop_interleaved:<ch0_source> doing receive
with timeout 40 seconds, 951600 usec
0:00:35.720611000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:6007:gst_rtspsrc_loop_send_cmd:<ch0_source> sending cmd
SET_PARAMETER
0:00:35.726100000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5559:gst_rtspsrc_loop_interleaved:<ch0_source> we received a
server message
0:00:35.746434000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:6032:gst_rtspsrc_loop_send_cmd:<ch0_source> cancel previous
request LOOP
0:00:35.754082000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5592:gst_rtspsrc_loop_interleaved:<ch0_source> got data message
0:00:35.759043000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:6040:gst_rtspsrc_loop_send_cmd:<ch0_source> connection flush
busy LOOP
0:00:35.788046000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 1
0:00:35.792078000 12024 00000188B6EAEA50 DEBUG                rtspsrc
gstrtspsrc.c:5160:gst_rtspsrc_connection_flush:<ch0_source> connection flush
Exception code=0xc0000005 flags=0x0 at 0x00007FFFEB1C2D0F. Access violation
- attempting to write data at address 0xFFFFFFFFCCCCCCCC

0:00:35.779435000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5357:gst_rtspsrc_handle_data:<ch0_source> pushing data of size
65024 on channel 0
0:00:35.818967000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5547:gst_rtspsrc_loop_interleaved:<ch0_source> doing receive
with timeout 40 seconds, 853214 usec
0:00:35.824916000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5618:gst_rtspsrc_loop_interleaved:<ch0_source> got interrupted
0:00:35.832254000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6105:gst_rtspsrc_loop:<ch0_source> pausing task, reason
flushing
0:00:35.836955000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6007:gst_rtspsrc_loop_send_cmd:<ch0_source> sending cmd WAIT
0:00:35.848743000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6023:gst_rtspsrc_loop_send_cmd:<ch0_source> ignore, we have a
pending SET_PARAMETER
0:00:35.853598000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:6040:gst_rtspsrc_loop_send_cmd:<ch0_source> connection flush
busy LOOP
0:00:35.864058000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 1
0:00:35.868684000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:8964:gst_rtspsrc_thread:<ch0_source> got command SET_PARAMETER
0:00:35.880931000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0
0:00:35.886091000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5160:gst_rtspsrc_connection_flush:<ch0_source> connection flush
0:00:35.893998000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:9466:gst_rtspsrc_set_parameter:<ch0_source> creating server
set_parameter
0:00:35.902741000 12024 00000188B6EAF940 DEBUG                rtspsrc
gstrtspsrc.c:5157:gst_rtspsrc_connection_flush:<ch0_source> set flushing 0
0:00:37.267162000 12024 00000188B7131680 DEBUG                rtspsrc
gstrtspsrc.c:3187:gst_rtspsrc_sink_chain:<ch0_source> sending 84 bytes RTCP



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel