Hi again,

while trying to make my patches explode, I saw yet another old
annoyance: LyX' 
second, third, etc. (forked) thread crashes. Debugging by attaching to
child's 
threads (where you never know which one crashes, others only freeze)
was always 
to complicated ... And main thread (with the docs) is safely protected
by the 
kernel; so it's only an annoyance to see all those render childs sisegv
one 
after the other.

For the first time I got a bit meaningful core dump (though I doubt it
can help 
too much):

Do  12.08.1999: 22.25.30,30 Uhr [D:\XFree86\src\lyx-1.0.3\src]
gdb lyx core
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for
details.
GDB 4.16 (emx), Copyright 1996 Free Software Foundation, Inc...
#0  0x1f49e365 in ?? ()
(gdb) bt
#0  0x1f49e365 in ?? ()
#1  0x6 in ?? ()
#2  0x1f499b33 in ?? ()
#3  0x15eaf in NormalizePath (path=@0x21ee734)
    at D:/XFree86/src/lyx-1.0.3/src/lyx_main.C:592

[Here's my main interest: 

I made NormalizePath() a static function of src/lyx_main.C, as it's
only used 
there. Am I right, that signal handler call (SIGSEGV in some forked
child) 
happened before and my patch can't be the reason for the crash?
]

#4  <signal handler called>                     [(SIGSEGV)]
#5  0x11d6cc in runqueue () at figinset.C:597   [The forked child
to render 
inline]
#6  0x11e191 in addwait (psx=0, psy=0, pswid=367, pshgh=158,
data=0x294920)
    at figinset.C:736
#7  0x11e3ab in getfigdata (wid=162, hgh=69, fname=@0x2945a8, psx=0,
psy=0, 
    pswid=367, pshgh=158, raw_wid=162, raw_hgh=69, angle=0, flags=9
'\t')
    at figinset.C:797
#8  0x121e61 in InsetFig::Recompute (this=0x294580) at figinset.C:1688
#9  0x120294 in InsetFig::Read (this=0x294580, lex=@0x21ef27c)
    at figinset.C:1210
#10 0xb2929 in Buffer::readLyXformat2 (this=0x1c2620, lex=@0x21ef27c, 
    par=0x2944c0) at buffer.C:863
#11 0xb4da5 in Buffer::readFile (this=0x1c2620, lex=@0x21ef27c,
par=0x0)
    at buffer.C:1102
#12 0xe9754 in BufferList::readFile (this=0x150080, s=@0x21efb6c,
ronly=false)
    at bufferlist.C:530
#13 0xea5c8 in BufferList::loadLyXFile (this=0x150080,
filename=@0x21efba8, 
    tolastfiles=false) at bufferlist.C:649
#14 0x8d6ee in Menus::MenuDocu (this=0x1af140, docname=@0x21efc0c)
    at menus.C:1602
#15 0x8d038 in Menus::ShowHelpMenu (ob=0x1b3c00) at menus.C:1577
#16 0x140596f8 in ?? ()
#17 0x14063b55 in ?? ()
#18 0x361ce in LyXGUI::runTime (this=0x179f34) at lyx_gui.C:629
#19 0x1094a in LyX::LyX (this=0x21efd28, argc=0x21efd54,
argv=0x21effb8)
    at D:/XFree86/src/lyx-1.0.3/src/lyx_main.C:146
#20 0x1022d in main (argc=1, argv=0x21effb8)
    at D:/XFree86/src/lyx-1.0.3/src/main.C:55
(gdb) 
(gdb) info locals
No frame selected.
(gdb) up
No stack.
(gdb) up
No stack.

--------------------------
This is the actual dbg session, where childs crashed:

Do  12.08.1999: 22.23.22,52 Uhr [D:\XFree86\src\lyx-1.0.3\src]
gdb
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for
details.
GDB 4.16 (emx), Copyright 1996 Free Software Foundation, Inc.
(gdb) r
Starting program: d:/xfree86/src/lyx-1.0.3/src/lyx -dbg 3
[New thread 1]
[Load DLL: D:\OS2\DLL\DOSCALL1.DLL]  [ BTW: I'm *not* running DOS ;^) 
                                only part of the OS/2 OS call
interface]
[Load DLL: D:\EMX\DLL\EMX.DLL]
[Load DLL: D:\EMX\DLL\EMXLIBCM.DLL]
[.text: 0x1f480000 - 0x1f4a9880]        <-[here's the 'exitus in
tabula' ;) ]
[.data: 0x14250000 - 0x14256060]          [   #0  0x1f49e365 in ?? ()  
    ]
[.bss:  0x14256060 - 0x142597c0]
[Load DLL: D:\XFREE86\DLL\X11.DLL]
[.text: 0x1f2f0000 - 0x1f360d00]
[.data: 0x14240000 - 0x14242da0]
[.bss:  0x14242da0 - 0x14243400]
[Load DLL: D:\XFREE86\DLL\FORMS.DLL]    [static is no difference
here]
[.text: 0x14050000 - 0x14098990]
[.data: 0x140a0000 - 0x140a6670]
[.bss:  0x140a6670 - 0x140b34e0]
[Load DLL: D:\XFREE86\DLL\XPM.DLL]
[.text: 0x1ee90000 - 0x1ee99870]
[.data: 0x14170000 - 0x14170130]
[.bss:  0x14170130 - 0x14170140]
[Load DLL: D:\OS2\DLL\PMMERGE.DLL]
[Load DLL: D:\OS2\DLL\PMSPL.DLL]
[Load DLL: D:\OS2\DLL\PMVIOP.DLL]
[Load DLL: D:\OS2\DLL\SPL1B.DLL]
[Load DLL: D:\OS2\DLL\PMGPI.DLL]
[Load DLL: D:\OS2\DLL\SOFTDRAW.DLL]
[Load DLL: D:\OS2\DLL\PMATM.DLL]
[Load DLL: D:\OS2\DLL\UCONV.DLL]
[Load DLL: D:\OS2\DLL\FREETYPE.DLL]
[Load DLL: D:\OS2\DLL\DISPLAY.DLL]
[Load DLL: D:\OS2\DLL\WINNERMM.DLL]
[Load DLL: D:\OS2\DLL\DSPRES.DLL]
[Load DLL: D:\OS2\DLL\BVHWNDW.DLL]
[Load DLL: D:\TCPIP\DLL\SO32DLL.DLL]    [This is stone-age, yet
rock solid:
[Load DLL: D:\TCPIP\DLL\TCP32DLL.DLL]   kind of bsd3.2-like]
[New thread 2]
[Thread terminated: 1]
[Thread terminated: 2]                  [There were many more
threads IIRC, 
                                        they don't appear?]

Program exited normally.
-----------------------

Greets,
        Arnd




Reply via email to