Opened 17 years ago

Closed 17 years ago

#5026 closed defect (fixed)

Crash on Quit

Reported by: bewihelm@… Owned by: lasgouttes
Priority: high Milestone: 1.6.0
Component: general Version: 1.6.0svn
Severity: critical Keywords: crash
Cc:

Description

Recently I've been getting occasional crashes on quit. Using gdb, I see multiple messages like this when
LyX is running:

lyx(98256,0xa019dfa0) malloc: * mmap(size=1206730752) failed (error code=12)
* error: can't allocate region
* set a breakpoint in malloc_error_break to debug

After I quit LyX I get the crash, and I look at the gdb output and see:

QObject: Do not delete object, 'unnamed', during its event handler!
QObject: Do not delete object, 'unnamed', during its event handler!
2008-07-11 12:00:39.845 lyx[98256:813] * _NSAutoreleaseNoPool(): Object 0x1444e40 of class
NSCFArray autoreleased with no pool in place - just leaking
Stack: (0x90e4acdf 0x90d57562 0x931551b8 0x58063a 0x3a58de 0x3a59b3 0x3a5ee4 0x3a610b
0xb74bdd 0xa90a02 0x5b7278 0x60042d 0x367140 0x1107fd 0x117d3b 0x2129 0x2096)
2008-07-11 12:00:39.847 lyx[98256:813]
* _NSAutoreleaseNoPool(): Object 0x1080bf30 of class
NSCFArray autoreleased with no pool in place - just leaking
Stack: (0x90e4acdf 0x90d57562 0x92874867 0x92874557 0x58066a 0x3a58de 0x3a59b3 0x3a5ee4
0x3a610b 0xb74bdd 0xa90a02 0x5b7278 0x60042d 0x367140 0x1107fd 0x117d3b 0x2129 0x2096)
2008-07-11 12:00:39.847 lyx[98256:813] * _NSAutoreleaseNoPool(): Object 0x10633fa0 of class
NSCFSet autoreleased with no pool in place - just leaking
Stack: (0x90e4acdf 0x90d57562 0x9287493e 0x92874557 0x58066a 0x3a58de 0x3a59b3 0x3a5ee4
0x3a610b 0xb74bdd 0xa90a02 0x5b7278 0x60042d 0x367140 0x1107fd 0x117d3b 0x2129 0x2096)
FileName.cpp(498): Could not delete /Users/bennett/tmp/lyx_tmpdir98256yVijKo/lyx_tmpbuf5

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x6163697c
std::_Rb_tree<std::string, std::pair<std::string const, lyx::Messages>,
std::_Select1st<std::pair<std::string const, lyx::Messages> >, std::less<std::string>,
std::allocator<std::pair<std::string const, lyx::Messages> > >::lower_bound (this=0xbffff464,
k=@0xbffff248) at LyX.cpp:2190
2190 { return
lhs.compare(rhs) < 0; }

(Note that I'm not sure if this output appears before or after I attempt to quit.)

Here's the backtrace for the crash:

#0 std::_Rb_tree<std::string, std::pair<std::string const, lyx::Messages>,
std::_Select1st<std::pair<std::string const, lyx::Messages> >, std::less<std::string>,
std::allocator<std::pair<std::string const, lyx::Messages> > >::lower_bound (this=0xbffff464,
k=@0xbffff248) at LyX.cpp:2190
#1 0x00120d74 in std::map<std::string, lyx::Messages, std::less<std::string>,
std::allocator<std::pair<std::string const, lyx::Messages> > >::operator[] (this=0xbffff460,
k=@0xbffff248) at LyX.cpp:2190
#2 0x0010f1b4 in lyx::getGuiMessages () at LyX.cpp:2190
warning: .o file "/Users/bennett/lyx/lyx-devel/src/support/.libs/liblyxsupport.a(gettext.o)" more
recent than executable timestamp
#3 0x00566cef in lyx::_ (str=@0x6163696c) at LyX.cpp:2190
#4 0x0001592f in lyx::Buffer::~Buffer (this=0xefd148) at LyX.cpp:2190
#5 0x916dffdc in cxa_finalize ()
#6 0x916dfed0 in exit ()
#7 0x0000209f in start ()

Change History (6)

comment:1 by Juergen Spitzmueller, 17 years ago

Severity: normalcritical

comment:2 by Uwe Stöhr, 17 years ago

Keywords: crash added
Milestone: 1.6.0
op_sys: MacOS XAll
rep_platform: MacintoshAll

Confirmed on Windows too.

comment:3 by younes, 17 years ago

Probably my fault, I'll have a look in the coming days.

comment:4 by younes, 17 years ago

Although I can't reproduce the crash, the problem is that the Buffer dtor uses
_() while it has already been destroyed.

comment:5 by younes, 17 years ago

OK, this is due to the static Buffer variable in putClipboard(). I'll cure that.

comment:6 by younes, 17 years ago

Resolution: fixed
Status: newclosed

Author: younes
Date: Mon Jul 14 08:29:04 2008
New Revision: 25593

URL: http://www.lyx.org/trac/changeset/25593
Log:
temporarily fix #5026
This will reopen #5010 temporarily. Please don't touch this until I am finished.

Note: See TracTickets for help on using tickets.