<div dir="ltr"><div>Hi George, all,</div><div><br></div>For testing I have added an explicit QList out-of-range addressing error just to see what happens on my Fedora system.<div>When configured with "--compile-type=release" the invalid QList access gives some number back.</div><div>When configured with "--compile-type=debug" or without specifying a --compile-type option the invalid QList access fails with the same ASSERT failure "index out of range".</div><div>The actual Qt error is given by the Q_ASSERT_X macro and this macro is documented as follows:<br></div><div><font face="times new roman, serif"><span style="color:rgb(64,66,68);font-size:16px">Q_ASSERT_X is useful for testing pre- and post-conditions during development. It does nothing if </span><code style="margin:0px;padding:0px;border:0px;font-size:16px;vertical-align:baseline;color:rgb(64,66,68)">QT_NO_DEBUG</code><span style="color:rgb(64,66,68);font-size:16px"> was defined during compilation.</span></font></div><div><div>Apparently the mythtv packages for Ubuntu are not compiled for release.<br></div><br></div><div>I have tried to reproduce the problem by setting up two recording rules that keep one recording, but this does not give the ASSERT failure.</div><div>Possibly the ASSERT failure does depend on some other setting in the recording rule?</div><div>Can you give some more details about how the recording rule is configured?</div><div><br></div><div>If the problem cannot be reproduced by me then I can only have a look at a gdb traceback that you provide. </div><div>Attaching gdb to an already started mythbackend as suggested by Mike, before the crucial time of 5:30, sounds like a plan.</div><div><br></div><div>Thanks,</div><div>Klaas.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 2 Nov 2022 at 20:08, Mike Hodson <<a href="mailto:mystica@gmail.com">mystica@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Wed, Nov 2, 2022, 12:40 George Bingham <<a href="mailto:georgeb1962@gmail.com" rel="noreferrer" target="_blank">georgeb1962@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 2, 2022 at 5:18 AM Klaas de Waal <<a href="mailto:klaas.de.waal@gmail.com" rel="noreferrer noreferrer" target="_blank">klaas.de.waal@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><br></div><div>It would be great if you can start mythbackend from gdb and then, when the segfault has happened, create a backtrace like this:</div><div>gdb> bt full</div><div>and attach the output to the ticket.</div><div> </div></div></div></blockquote><div><br></div><div>I am not sure how to run the backend through gdb. Not sure I even have gdb on my system unless it's there by default. (OK, just checked, it is) The backend is started by the system, if there's a simple change I can make to have it launch through gdb automatically I can do that for the next few days, but then I'd need to know how to deal with the output... ??</div></div></div></blockquote></div><div dir="auto"><br></div><div dir="auto">What you could do is attach gdb to the running process after it launches, so you don't have to do anything special to the boot up process.</div><div dir="auto"><br></div><div dir="auto"><a href="https://stackoverflow.com/questions/2308653/can-i-use-gdb-to-debug-a-running-process" target="_blank">https://stackoverflow.com/questions/2308653/can-i-use-gdb-to-debug-a-running-process</a> has a couple good discussions of different ways to do it, from command line options to launching gdb in interactive mode and using commands within it.</div><div dir="auto"><br></div><div dir="auto">You would want to run GDB as the user that is running the myth TV process, so you might need a sudo -u mythtv prefixing the gdb command, or launch a shell as the mythtv user and interact with gdb that way. </div><div dir="auto"><br></div><div dir="auto">That said, I do not know if there are any apparmor permissions or such that might need to be added for the mythtv user to debug its own process, so there is also the slight chance that the easiest way to do this, although theoretically not the safest or most secure, would be to run it as root.</div><div dir="auto"><br></div><div dir="auto">Hope this helps!</div><div dir="auto"><br></div><div dir="auto">Mike</div><div dir="auto"><br></div><div class="gmail_quote" dir="auto"></div></div>
_______________________________________________<br>
mythtv-users mailing list<br>
<a href="mailto:mythtv-users@mythtv.org" target="_blank">mythtv-users@mythtv.org</a><br>
<a href="http://lists.mythtv.org/mailman/listinfo/mythtv-users" rel="noreferrer" target="_blank">http://lists.mythtv.org/mailman/listinfo/mythtv-users</a><br>
<a href="http://wiki.mythtv.org/Mailing_List_etiquette" rel="noreferrer" target="_blank">http://wiki.mythtv.org/Mailing_List_etiquette</a><br>
MythTV Forums: <a href="https://forum.mythtv.org" rel="noreferrer" target="_blank">https://forum.mythtv.org</a><br>
</blockquote></div>