bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Segfault in MIDI with empty score via skipTypesetting


From: James
Subject: Re: Segfault in MIDI with empty score via skipTypesetting
Date: Sun, 24 Oct 2021 18:31:55 +0000

Hello,

On 24/10/2021 14:24, David Kastrup wrote:
James <pkx166h@posteo.net> writes:

if I go up the stack a bit

--snip-

(gdb) f 3
#3  0x0000555555705abb in audio_item_less (a=0x555555d37e90,
  b=0x555555d37df0)
     at /home/james/Downloads/git_repos/lilypond-git/lily/midi-walker.cc:54
54        return a->get_column ()->when_ < b->get_column ()->when_;
(gdb) p a
$1 = (Audio_item * const) 0x555555d37e90
(gdb) p b
$2 = (Audio_item * const) 0x555555d37df0

--snip--

and this gives me

--snip--

(gdb) p * (Audio_item *) 0x555555d37e90
$3 = {<Audio_element> = {
     _vptr.Audio_element = 0x555555a796b8 <vtable for Audio_text+16>},
   audio_column_ = 0x0, channel_ = 0}
(gdb) p * (Audio_item *) 0x555555d37df0
$4 = {<Audio_element> = {
     _vptr.Audio_element = 0x555555a796b8 <vtable for Audio_text+16>},
   audio_column_ = 0x0, channel_ = 0}

--snip--

if I see what the code is at this point on midi-walker.cc

--snip--

(gdb) list
49
50      bool
51      audio_item_less (Audio_item *const a,
52                       Audio_item *const b)
53      {
54        return a->get_column ()->when_ < b->get_column ()->when_;
55      }
56
57      Midi_walker::Midi_walker (Audio_staff *audio_staff, Midi_track
*track, int start_tick)
58      {

--snip--

Audio_item is not getting a value set?

Unfortunately that is the limit of my already-limited knowledge :D
As someone who doesn't manage to do anything before having the feeling
to know what I am doing (not that this feeling always stands up to
reality but at least the illusion helps), I am at awe at the lengths
some people manage to go with purportedly limited knowledge.

I cannot take complete credit, as I had some encouragement after a chance encounter from a work colleague (he's a senior C/C++ Windows dev) who happened to spot me online and ask if I was doing anything interesting. He gave me some 'pointers' (pun intended) and cleared up some questions I had about what gdb was showing me.

Anyway I created https://gitlab.com/lilypond/lilypond/-/issues/6202

And I have also found out that I cannot compile master beyond the last
few dev releases without getting a compilation error (probably python
related) when making lilypond. So I cannot usefully git bisect.
I don't think (or at least hope) Python should be an issue regarding
"last few dev releases" since our requirements are roughly "Python 3"
(and have been for some time) and our code base should not significantly
rely on all too new features in order to stay reasonably portable.

I won't derail the thread with these woes, and I'll try again and maybe ask in a new thread with better analysis than just 'compilation error (probably python related)'. It was during the build of some of the font pdb files I seem to recall.


--
Regards

James





reply via email to

[Prev in Thread] Current Thread [Next in Thread]