Edgewall Software
Modify

Opened 18 years ago

Closed 17 years ago

#3092 closed defect (wontfix)

Segmentation fault when accessing history

Reported by: spam01@… Owned by: Christian Boos
Priority: normal Milestone:
Component: general Version: 0.9.5
Severity: major Keywords: crash
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

I'm running tracd with two projects:

tracd -p 8080 -e /var/trac -a project1,/var/trac/users.htdigest,Project1Realm \
-a project2,/var/trac/users.htdigest,Project2Realm

It worked OK if every project had separate users.htdigest file. I wanted to centralize user administration, so I've merged all htdigest files into one (there are multiple instances of the same user, but with different realms).

Apparently tracd doesn't like it and segfaults when I'm logged in and try to open any page that requires authentication.

Attachments (1)

gdb.log (5.6 KB ) - added by pL 18 years ago.
backtrace from GDB (doesn't look useful…)

Download all attachments as: .zip

Change History (9)

comment:1 by Christopher Lenz, 18 years ago

A traceback of the error would be immensely useful. Or do you mean an actual segfault in native code?

comment:2 by pL, 18 years ago

Yes, I get "Segmentation fault" in terminal. How can I get traceback?

by pL, 18 years ago

Attachment: gdb.log added

backtrace from GDB (doesn't look useful…)

comment:3 by pL, 18 years ago

Component: tracdtimeline
Severity: majornormal
Summary: tracd segfault caused by digest authSegmentation fault when accessing history

I've reverted my changes to htdigest files and I still get segfaults when accessing one of the projects, so my original diagnose is invalid… sorry.

I also get same crash in trac-admin when I run resync:

[New Thread 32769 (LWP 15970)]
[New Thread 16386 (LWP 16002)]
[Thread 16386 (LWP 16002) exited]
[New Thread 32771 (LWP 16035)]
[Thread 32771 (LWP 16035) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 30464)]
0x409e6237 in ?? ()
(gdb) bt
#0  0x409e6237 in ?? ()
#1  0x400ff050 in __JCR_LIST__ () from /usr/lib/libpython2.3.so.1.0
#2  0x407fcf34 in ?? ()
#3  0xbfffd978 in ?? ()
#4  0x400ff050 in __JCR_LIST__ () from /usr/lib/libpython2.3.so.1.0
#5  0x081c5b48 in ?? ()
#6  0x081c5b48 in ?? ()
#7  0xbfffd998 in ?? ()
#8  0x40ac7402 in ?? ()
#9  0x081c5b48 in ?? ()
#10 0x00000024 in ?? ()
#11 0xbfffd998 in ?? ()
#12 0x4010db1e in pthread_setspecific () from /lib/libpthread.so.0
Previous frame inner to this frame (corrupt stack?)

comment:4 by Christian Boos, 18 years ago

In the gdb backtrace, I spotted: This GDB was configured as "i586-suse-linux".

What SuSE version is that? More specifically, what's the output of python -V? If it's 2.3.0+, I'd suggest rebuilding your own python, and try again, as I've also had segfaults with that particular version.

comment:5 by pL, 18 years ago

SuSe 9.1. Python 2.3.3. SQLite 3.2.2.

Is 2.3.3 far enough from 2.3.0, or should I switch to 2.4?

comment:6 by Christian Boos, 18 years ago

Component: timelinegeneral
Keywords: crash added
Owner: changed from Jonas Borgström to Christian Boos
Severity: normalmajor

The bugs I was refering to were fixed in 2.3.3c1 (Release date: 05-Dec-2003), so unless your 2.3.3 is older than that, it must be something else.

Double check the requirements listed for ClearSilver and PySqlite, especially regarding thread-safeness, and report which version you used.

Also, it seems a bit strange to me that trac-admin/resync spawns multiple threads. I'll try to have a look at that later.

comment:7 by pL, 18 years ago

I've tried upgrading to latest stable python 2.3, but that makes dependency hell break lose :(

I've recompiled SQLite with --enable-threadsafe and ran sqlite3 trac.db-old .dump | sqlite3 trac.db

Still crashes.

comment:8 by Christian Boos, 17 years ago

Resolution: wontfix
Status: newclosed

Well, this must have been a very specific issue, since no one else has seen that.

If reopening is needed, please include a C stacktrace (ideally also a Python backtrace), just saying "it crashed" is not helpful… See also TracTroubleshooting#DebuggingSegmentationFaults

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Christian Boos.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Christian Boos to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.