Re: SIGSEGV on master when exporting MergedManuals.lyx in GUI

2021-12-03 Thread Scott Kostyshak
On Fri, Dec 03, 2021 at 11:04:23AM -0500, Scott Kostyshak wrote:

> I have no idea what the root cause is. Reverting that commit, it seems
> to show the output (note that this is regarding the default output,
> which is HTML), but in the terminal I get the following, which I'm not
> sure is relevant:
> 
>   ATTENTION: default value of option mesa_glthread overridden by environment.
>   ATTENTION: default value of option mesa_glthread overridden by environment.
>   ATTENTION: default value of option mesa_glthread overridden by environment.
>   ATTENTION: default value of option mesa_glthread overridden by environment.

After reverting that commit, in addition to the above terminal messages, I also 
see:

  ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, 
messages will be lost

Scott


signature.asc
Description: PGP signature
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: SIGSEGV on master when exporting MergedManuals.lyx in GUI

2021-12-03 Thread Scott Kostyshak
On Fri, Nov 05, 2021 at 12:10:20AM -0400, Scott Kostyshak wrote:
> On Wed, Apr 14, 2021 at 12:45:04PM -0400, Scott Kostyshak wrote:
> > On Tue, Apr 13, 2021 at 07:53:11PM +0100, José Abílio Matos wrote:
> > > On Tuesday, April 13, 2021 5:17:24 PM WEST Scott Kostyshak wrote:
> > > > I get the following terminal messages followed by a SIGSEGV when 
> > > > opening and
> > > > viewing MergedManuals.lyx in the GUI:
> > > > 
> > > >   QSocketNotifier: Invalid socket 16 and type 'Read', disabling...
> > > > 
> > > > Does anyone else see this on master?
> > > > 
> > > > Scott
> > > 
> > > For me it is socket 10. :-)
> > > 
> > > LyX does not crash but it enters an infinite cycle (read that after 5 
> > > minutes 
> > > it continues to output that line) sending that line to stderr.
> > > I am not sure if I am patient enough to wait for infinity before 
> > > recovering 
> > > LyX's control. :-)
> > 
> > Thanks for confirming, José.
> 
> I can still reproduce the infinite cycle (but not the original SIGSEGV) on 
> master.

Bisect leads to the following:

  65b674ba4eff34df1ef7a7cf0f9e6a2585294c00 is the first bad commit
  commit 65b674ba4eff34df1ef7a7cf0f9e6a2585294c00
  Author: Jean-Marc Lasgouttes 
  Date:   Thu Feb 18 15:35:42 2021 +0100
  
  Fix a crash when closing tabs
  
  Although I do not know how to reproduce the crash, the change makes sense.
  
  This is backported from gadmm's lyx-unstable tree
  
https://gitlab.com/gadmm/lyx-unstable/-/commit/261ce4ea98d82625a07f0fcf85e40f9055d2db3b

I have no idea what the root cause is. Reverting that commit, it seems
to show the output (note that this is regarding the default output,
which is HTML), but in the terminal I get the following, which I'm not
sure is relevant:

  ATTENTION: default value of option mesa_glthread overridden by environment.
  ATTENTION: default value of option mesa_glthread overridden by environment.
  ATTENTION: default value of option mesa_glthread overridden by environment.
  ATTENTION: default value of option mesa_glthread overridden by environment.

I don't have a minimal document, but if you just edit MergedManuals.lyx
to remove everything after the introduction.lyx child that reproduces
the issue.

Scott


signature.asc
Description: PGP signature
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Footnote size is larger on master (\normalsize is prepended)

2021-12-03 Thread Scott Kostyshak
On Fri, Dec 03, 2021 at 12:46:13PM +0100, Jean-Marc Lasgouttes wrote:
> Le 31/10/2021 � 18:11, Scott Kostyshak a �crit�:
> > See the attached file. On master, \normalsize is included inside the 
> > footnote, which is different from 2.3.x.
> 
> Here is my take on how to properly fix this issue. I do not know however
> what it does in other situations. Scott, do you have magic scripts and tests
> to see the effect of this?

No magic scripts. All I do is manually compile the 2.3.0 user documents
with 2.3.0 (or 2.3.x) and with master and then run 'diffpdf' on the
results. I'm not sure it makes sense to test that the LaTeX is
equivalent since often there are differences in LyX's LaTeX output that
are expected that do not cause a difference in the PDF output. We could
imagine some automated tests with e.g. 'comparepdf' (a commandline tool)
that I think could check whether the PDF output are the same. We'd have
to disable the date showing up.

Scott

> 
> My belief is that this is the correct way of doing things. Some other parts
> of the code may conflict with that, though.
> 
> I added in the commit message some notes gathered during my research, so
> that they do not get lost.
> 
> JMarc
> 
> -- 
> lyx-devel mailing list
> lyx-devel@lists.lyx.org
> http://lists.lyx.org/mailman/listinfo/lyx-devel



signature.asc
Description: PGP signature
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Footnote size is larger on master (\normalsize is prepended)

2021-12-03 Thread Jean-Marc Lasgouttes

Le 31/10/2021 à 18:11, Scott Kostyshak a écrit :

See the attached file. On master, \normalsize is included inside the footnote, 
which is different from 2.3.x.


Here is my take on how to properly fix this issue. I do not know however 
what it does in other situations. Scott, do you have magic scripts and 
tests to see the effect of this?


My belief is that this is the correct way of doing things. Some other 
parts of the code may conflict with that, though.


I added in the commit message some notes gathered during my research, so 
that they do not get lost.


JMarc

>From 83bfbaf2bd4a0672ee1222f5454859a2dba9db6b Mon Sep 17 00:00:00 2001
From: Jean-Marc Lasgouttes 
Date: Fri, 3 Dec 2021 12:16:40 +0100
Subject: [PATCH] Tentative patch: fix font inside footnote inset

An inset that resets its font (like Footnote) does not care at all
about enclosing font. Therefore the real starting point is the class
default font. This avoid cases where the footnote contents is forced
to \normalsize.

Note that actually \normalfont resets everything but the font size.
This does not matter for footnote (which has its own font size), but
may matter elsewhere.

Concerning local_font: a research that excludes test and assignment
[*] shows that this is only used to remember language, which is a
different story (and not changed by this patch). The only exception
being in InsetMathHull::getCtObject and InsetMathNest::latex to
support change tracking in insets, but I am not 100% sure that this is
required. And historically [**] local_font used to be local_lang; it
may be good to return to this simpler variable later.

[*] git grep local_font src|grep -v 'local_font [!=]*='

[**] before afed118a, which improved support for InsetLine; however,
since 0e7ab29f, InsetLine does not depend on the current font anymore.
---
 src/Paragraph.cpp | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 7fb46aee7d..f78925fafb 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2533,10 +2533,9 @@ void Paragraph::latex(BufferParams const & bparams,
 	pos_type body_pos = beginOfBody();
 	unsigned int column = 0;
 
-	// If we are inside an non inheritFont() inset, the real outerfont is local_font
-	Font const real_outerfont = (!inInset().inheritFont()
- && runparams.local_font != nullptr)
-			? Font(runparams.local_font->fontInfo()) : outerfont;
+	// If we are inside an non inheritFont() inset, the outerfont is the default font
+	Font const real_outerfont =
+		inInset().inheritFont() ? outerfont : Font(bparams.documentClass().defaultfont());
 
 	if (body_pos > 0) {
 		// the optional argument is kept in curly brackets in
-- 
2.25.1

-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel