On 22/04/16 06:04, Scott Kostyshak wrote:
On Thu, Apr 21, 2016 at 10:02:47PM +1000, bruce muirhead wrote:
On 21/04/16 15:38, Scott Kostyshak wrote:
On Thu, Apr 21, 2016 at 03:22:43PM +1000, bruce muirhead wrote:
On 21/04/16 15:00, Scott Kostyshak wrote:
On Thu, Apr 21, 2016 at 02:26:12PM +1000, bruce muirhead wrote:
On 21/04/16 13:10, Scott Kostyshak wrote:
On Thu, Apr 21, 2016 at 11:51:38AM +1000, bruce muirhead wrote:
On 21/04/16 09:37, Scott Kostyshak wrote:
On Thu, Apr 21, 2016 at 09:20:04AM +1000, bruce muirhead wrote:
On 21/04/16 03:34, Scott Kostyshak wrote:
On Wed, Apr 20, 2016 at 02:39:19PM +0200, Jean-Marc Lasgouttes wrote:
Le 20/04/2016 14:31, bruce muirhead a écrit :
Clearly the problem had to be my particular debian setup.

My first port of call was to change the window manager I have been
using, from xfce running on openbox to xfwm4.

This completely removed the problem, and all is now working as it
should, although I am at a loss in terms of knowing why openbox should
be a problem---it has until very recently been my desktop of choice.
(Obviously, some modification in the openbox version I use.)

That's pretty strange... If you ever find out why openbox does not like this
dialog, there may be something we have to fix on our side.

I have, apparently, been wasting your time, but all I can say is thank
you---without confirmation that the file worked, I would not have found
what was causing my problem.

Don't worry, it is important for us to understand those problems. We've had
several instances where weeks of head scratching lead to discover an actual
bug in our code.

+1 on the contrary, thank you Bruce for helping investigate this issue!

Even though you know the issue has to do with openbox, I think it is
important to know which change in LyX's code triggered the issue.

In my opinion the way to proceed is a git bisect. Now that you have git
set up and you have compiled 2.1.0, here is the procedure:

# will remove any extra files
git clean -xdf
git bisect start
# "good" because you cannot reproduce the bug
git bisect good 2.1.0
# "bad" because you can reproduce the bug
git bisect bad 2.2.0rc1

# chunk label A
# now compile and run LyX, e.g.
# use make -j4 or whatever to speed things up
# sometimes the compilation fails, see below for details on what to do
./autogen.sh && ./configure && make && ./src/lyx
# go have a tea, watch a movie, or eat some ice cream feeling happy with
# yourself because your computer is doing important work so this is not
# wasted time.
# When LyX has compiled (if it compiled successfully), it will
# automatically start (because of the ./src/lyx) so you don't need to
# constantly check back on the terminal.

# now do your manual test of "can you reproduce the bug" ?
# if you do see the bug, then this is a "bad" commit and you run
# git bisect bad
# if you do not see the bug, then this is a "good commit" and you run
# git bisect good
# if you were not able to compile a certain commit, you do not know if
# it is "good" or "bad". In this case do
# git bisect skip

# after the above, you will be taken to a new commit to test whether
# good or bad.
# to be sure, I recommend doing the following:
# this will make sure you do a fresh compile every time.
git clean -xdf

# now go up to chunk label A and start again.

# the output that git provides, should be understandable. It will tell
# you how many times you will need to compile and test, and it will tell
# you which commit is the "bad" one.

Please ask on the list if you have questions.

Scott

When running
git bisect bad 2.2.0rc1
I receive the following message:

Please, commit your changes or stash them before you can switch branches.
Aborting

Please advise.

OK, did you make any changes to the LyX source code? If so, make sure
you back them up. Then, in the instructions above, add

git reset --hard

to every instruction just before every
git clean -xdf

You might need to do
git bisect reset

If you see another problem, post the output (showing if some of the
commands worked and where you are at in the instructions when you run
into the problem).

Thanks,

Scott

Ok, I started the whole process over, from the beginning, i.e., I did a
fresh clone of the git files, and followed your procedure.

The first compilation resulted in the following version

version 2.2.0dev
Built from git commit hash 7f0ac093

which was good. I input the command you gave, and received the following:

bruce@debian:~/lyx$ git bisect good
Bisecting: 755 revisions left to test after this (roughly 10 steps)
error: Your local changes to the following files would be overwritten by
checkout:
        po/ar.gmo
        po/ar.po
        po/ca.gmo
        po/ca.po
        po/cs.gmo
        po/cs.po
        po/da.gmo
        po/da.po
        po/de.gmo
        po/de.po
        po/el.gmo
        po/el.po
        po/en.gmo
        po/en.po
        po/es.gmo
        po/es.po
        po/eu.gmo
        po/eu.po
        po/fi.gmo
        po/fi.po
        po/fr.gmo
        po/fr.po
        po/gl.gmo
        po/gl.po
        po/he.gmo
        po/he.po
        po/hu.gmo
        po/hu.po
        po/ia.gmo
        po/ia.po
        po/id.gmo
        po/id.po
        po/it.gmo
        po/it.po
        po/ja.gmo
        po/ja.po
        po/nb.gmo
        po/nb.po
        po/nl.gmo
        po/nl.po
        po/nn.gmo
        po/nn.po
        po/pl.gmo
        po/pl.po
        po/pt_BR.gmo
        po/pt_BR.po
        po/pt_PT.gmo
        po/pt_PT.po
        po/ro.gmo
        po/ro.po
        po/ru.gmo
        po/ru.po
        po/sk.gmo
        po/sk.po
        po/sr.gmo
        po/sr.po
        po/sv.gmo
        po/sv.po
        po/tr.gmo
        po/tr.po
        po/uk.gmo
        po/uk.po
        po/zh_CN.gmo
        po/zh_CN.po
        po/zh_TW.gmo
        po/zh_TW.po
Please, commit your changes or stash them before you can switch branches.
Aborting

A hard reset returns me to the already tested hash, and so achieves nothing.
And a bisect reset returns me to 2.1.0.

Clearly there is something I need to do before inputing the "bisect good"
command, or perhaps there is something I need to install.

In any event, without knowledge which I do not currently possess, I cannot
continue.

Try doing the "git reset --hard" before "git bisect good".

Scott

"git reset --hard" takes me back to the original head, from which the
problem continues.

Before I arrived at the same message I noted above, I managed to test:

LyX Version 2.2.0dev
(not released yet)
Built from git commit hash 7f0ac093

and it was good.

Reading the git manual and various pages of information has not helped me to
work out what is happening, so I am going to have to leave it here, for now.

OK let's try a fresh start with updated instructions. Please try the
following, and if you get an error, post all of the output (beginning
from the start of the instructions listed below):

# first back up any changees in the LyX source in case you want to keep
# anything. Ask if you need clarification.

# will remove any extra files, and any changes to the LyX source
git clean -xdf
git reset --hard
# possible need the following command if you had started a bisect before
# and want to start over:
git bisect reset

git bisect start
# "good" because you cannot reproduce the bug
git bisect good 2.1.0
# "bad" because you can reproduce the bug
git bisect bad 2.2.0rc1

# chunk label A
# now compile and run LyX, e.g.
# use make -j4 or whatever to speed things up
# sometimes the compilation fails, see below for details on what to
# do
./autogen.sh && ./configure && make && ./src/lyx
# go have a tea, watch a movie, or eat some ice cream feeling happy with
# yourself because your computer is doing important work so this is not
# wasted time.
# When LyX has compiled (if it compiled successfully), it will
# automatically start (because of the ./src/lyx) so you don't need to
# constantly check back on the terminal.

git clean -xdf
git reset --hard

# now do your manual test of "can you reproduce the bug" ?
# if you do see the bug, then this is a "bad" commit and you run
# git bisect bad
# if you do not see the bug, then this is a "good commit" and you run
# git bisect good
# if you were not able to compile a certain commit, you do not know if
# it is "good" or "bad". In this case do
# git bisect skip

# after the above, you will be taken to a new commit to test whether
# good or bad.

# now go up to "chunk label A" and start again.

# the output that git provides, should be understandable. It will tell
# you how many times you will need to compile and test, and it will tell
# you which commit is the "bad" one.

Scott

Ok, first question: What does "chunk label A" refer to.

It is just a way that I can refer to a previous piece of code. If it is
easier to understand, delete the line
# chunk label A
and where it says
# now go up to "chunk label A" and start again.
instead change that to be
now go back to to the line in the instructions that starts with
"now compile and run LyX"

Does that make sense?

I'm sorry for the unclear instructions. Thanks for sticking with it.

Scott

Ok, process finished.

The insert-citation problem was present in two earlier bisect runs, but was
then fixed, until the very last, at which stage the information provided is:

HEAD is now at 7ffaf4e Review of norwegian layout translations by Helge
bruce@debian:~/lyx$ git bisect bad
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[b5a2f1c7e5caf6f79b6894b562769a5513b7b13f] Fix broken layout of the citation
dialog (#10019)

Then, after compiling again, the following:

bruce@debian:~/lyx$ git reset --hard
HEAD is now at b5a2f1c Fix broken layout of the citation dialog (#10019)
bruce@debian:~/lyx$ git bisect bad
b5a2f1c7e5caf6f79b6894b562769a5513b7b13f is the first bad commit
commit b5a2f1c7e5caf6f79b6894b562769a5513b7b13f
Author: Guillaume Munch <g...@lyx.org>
Date:   Wed Mar 16 21:47:32 2016 +0000

     Fix broken layout of the citation dialog (#10019)

     7b1107d7 introduced the following inconveniences which are regressions
to 2.1:

     * The citation dialog can open with vertical scroll bars in the options

     * The citation dialog can open with horizontal scroll bars, especially
if the
       translated text is longer than the original text (e.g. in FR)

     * Resizing the dialog is inconvenient because it increases the gap
between the
       options. This is unlike before when the dialog could let us see more
of the
       reference list when enlarging.

     This is because the QToolbox that the above commit introduced is not
natively
     aware of the sizes of its page sub-widgets. The widget is not conceived
for this
     use, where the space is scarce.

     Geometry values provided in the ui file (automatically computed by
qtcreator I
     suppose) somehow gave the illusion that it worked, but relying on such
values is
     not portable : it does not take into account the specific theme, font
sizes and
     localization. This explains why it failed on my side and will probably
fail in
     other settings too.

     Luckily, there is a simple way to make QToolbox suitable for the current
use,
     which is to add the "missing link" which computes its size based on the
minimal
     sizes of its pages. The result looks very nice and intuitive. It solves
all the
     aforementioned issues.

:040000 040000 87209a4f5b08317ebb29f4bb7eccd9b552bb8830
29964547351ab2a2e272c1d52b05e2dc1792d0e9 M      src
bruce@debian:~/lyx$


I hope this is the information you need, and that it is helpful.

This helps a lot, Bruce. Thank you.

Guillaume, do you think it is reasonable to revert this commit with
respect to 2.2.0? Even if we were able to quickly fix it, it seems this
might be sensitive code.

Also, since Guillaume had made some improvements to this commit, it
might be nice to know if Bruce still sees the problem on 2.3-staging.
Bruce, can you do the following?
git checkout 2.3-staging
and compile and test there to see if this particular problem occurs?
After that, it is still better for you to test 2.2.0rc1 with the
reversion for future testing as I detailed in the other email.

Scott

2.2.0rc1, with the reversion, works as expected, i.e., citation insets work, >insert>citation... works in both fluxbox and openbox. (No surprise really, that both boxes should behave similarly in respect of this.)

2.3-staging failed to compile with the following messages:

Makefile:2097: recipe for target 'lyx' failed
make[4]: *** [lyx] Error 1
make[4]: Leaving directory '/home/bruce/lyx/src'
Makefile:2825: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/bruce/lyx/src'
Makefile:1658: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/bruce/lyx/src'
Makefile:543: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/bruce/lyx'
Makefile:437: recipe for target 'all' failed
make: *** [all] Error 2

I attempted configuration and compilation after rc1. I was asked to commit changes, and used "git checkout-f" to resolve this. Was this incorrect? In other words, tell me if there is some step I need to take in order for 2.3-staging to compile correctly.

Bruce

Reply via email to