libthr and 1:1 threading.
Sean Chittenden
sean at chittenden.org
Wed Apr 2 21:53:55 PST 2003
> I have commited libthr. To try this out you'll need to do the following
>
> 1. cvsup
> 2. rebuild world and kernel
> 3. install world and kernel
> 4. build libthr from src/lib/libthr
> 5. Either replace /usr/lib/libc_r.so.5 with /usr/lib/libthr.so.1 or
> relink your applications against libthr.so.1
>
> This works with mozilla and open office.
Point of reference, it works well with KDE, but there's something
non-kosher someplace. I've been getting this periodically and haven't
tracked down where or why I'm getting it.
On a different note, SCHED_4BSD causes the kernel to hang hard on
KDE's startup during the loading peripherals phase. I'm not home and
don't have any way of debugging this from a remote machine.
Here's the backtrace for konsole.
-sc
0x29063b63 in wait4 () from /usr/lib/libc.so.5
#0 0x29063b63 in wait4 () from /usr/lib/libc.so.5
#1 0x29055035 in waitpid () from /usr/lib/libc.so.5
#2 0x290105e5 in _waitpid (wpid=7, status=0x7, options=7)
at /usr/src/lib/libthr/thread/thr_syscalls.c:386
#3 0x286d7b8a in KCrash::defaultCrashHandler(int) (sig=6) at kcrash.cpp:235
#4 <signal handler called>
#5 0x29063843 in kill () from /usr/lib/libc.so.5
#6 0x29345603 in TEPty::makePty(bool) (this=0xbfbfead8) at TEPty.cpp:534
#7 0x2934568a in TEPty::startPgm(char const*, QValueList<QCString>&, char const*) (this=0x81c7a00, pgm=0x7 <Error reading address 0x7: Bad address>,
args=@0x81c7a28, term=0x8124920 "xterm-color") at TEPty.cpp:550
#8 0x29345eca in TEPty::commSetupDoneC() (this=0x81c7a00) at qcstring.h:295
#9 0x28681189 in KProcess::start(KProcess::RunMode, KProcess::Communication) (
this=0x81c7a00, runmode=7, comm=NoCommunication) at kprocess.cpp:320
#10 0x29344ee6 in TEPty::run(char const*, QStrList&, char const*, bool, char const*, char const*) (this=0x81c7a00,
_pgm=0x7 <Error reading address 0x7: Bad address>, _args=@0x7,
_term=0x7 <Error reading address 0x7: Bad address>, _addutmp=true,
_konsole_dcop=0x7 <Error reading address 0x7: Bad address>,
_konsole_dcop_session=0x7 <Error reading address 0x7: Bad address>)
at TEPty.cpp:321
#11 0x29369979 in TESession::run() (this=0x81cc300) at qcstring.h:295
#12 0x2936b7b9 in TESession::qt_invoke(int, QUObject*) (this=0x81cc300, _id=2,
_o=0xbfbfef30) at session.moc:201
#13 0x28a25308 in QObject::activate_signal(QConnectionList*, QUObject*) ()
from /usr/X11R6/lib/libqt-mt.so.3
#14 0x28cf17ad in QSignal::signal(QVariant const&) ()
from /usr/X11R6/lib/libqt-mt.so.3
#15 0x28a3eca8 in QSignal::activate() () from /usr/X11R6/lib/libqt-mt.so.3
#16 0x28a45a53 in QSingleShotTimer::event(QEvent*) ()
from /usr/X11R6/lib/libqt-mt.so.3
#17 0x289c8535 in QApplication::internalNotify(QObject*, QEvent*) ()
from /usr/X11R6/lib/libqt-mt.so.3
#18 0x289c82fb in QApplication::notify(QObject*, QEvent*) ()
from /usr/X11R6/lib/libqt-mt.so.3
#19 0x2864c1a9 in KApplication::notify(QObject*, QEvent*) (this=0x7,
receiver=0x80ba080, event=0xbfbff1d0) at kapplication.cpp:453
#20 0x289a48d7 in QEventLoop::activateTimers() ()
from /usr/X11R6/lib/libqt-mt.so.3
#21 0x28983cb1 in QEventLoop::processEvents(unsigned) ()
from /usr/X11R6/lib/libqt-mt.so.3
#22 0x289dbf20 in QEventLoop::enterLoop() () from /usr/X11R6/lib/libqt-mt.so.3
#23 0x289dbe58 in QEventLoop::exec() () from /usr/X11R6/lib/libqt-mt.so.3
#24 0x289c86c1 in QApplication::exec() () from /usr/X11R6/lib/libqt-mt.so.3
#25 0x2934a83d in main (argc=7, argv=0x7) at main.cpp:435
#26 0x0804cb16 in launch (argc=1, _name=0x805bc04 "konsole",
args=0x805bc0c "\001", cwd=0x0, envc=1, envs=0x805bc1d "",
reset_env=false, tty=0x0, avoid_loops=false,
startup_id_str=0x7 <Error reading address 0x7: Bad address>)
at kinit.cpp:547
#27 0x0804d906 in handle_launcher_request (sock=7) at kinit.cpp:1021
#28 0x0804de57 in handle_requests (waitForPid=0) at kinit.cpp:1189
#29 0x0804ef43 in main (argc=3, argv=0xbfbffbac, envp=0x7) at kinit.cpp:1540
#30 0x0804b115 in _start ()
--
Sean Chittenden
More information about the freebsd-current
mailing list