freenode/#clasp - IRC Chatlog
Search
17:46:29
drmeister
I'm debugging image save/load. I have backtraces so huge that they flash past and I can't pause it - so I take screenshots of the terminal so I can see what's going on.
17:47:36
drmeister
No - I'm using the "tui" mode of "udb" and I have limited control over the output.
17:48:20
drmeister
It gives me a primitive debugging GUI - one of the rare situations where I prefer a GUI over not having one.
17:49:43
drmeister
I have image save/load in place now. I'm saving images and debugging loading them back in now.
17:52:44
drmeister
It's really, really useful to be able to reverse through an error and then go forward through it over and over again.
17:53:17
drmeister
I can also set up hardware watchpoints on memory addresses and trap changes in the memory going in reverse or forward.
17:54:59
drmeister
I was damaging boehm memory structures for a while yesterday. Without the udb debugger it would have been way harder to find the cause.
17:55:42
drmeister
Memory blocks that boehm had allocated for me were showing up in the boehm free lists.
17:56:53
drmeister
There are internal consistency checks? I'm using the one you built in /opt/gc - did you turn them on?
17:57:42
drmeister
If you find it again - give me a heads up and turn on every consistency check there is.
18:01:08
drmeister
I have to debug this in my house as close to the machine as possible because sometimes the output is so voluminous that the bandwidth of the network connection impacts debugging.
18:24:54
scymtym
drmeister: M-x load-theme THEME-NAME RET and later M-x disable-theme THEME-NAME RET is an easy way to try the builtin color themes. you can install more themes with M-x package-list-packages RET
18:27:14
drmeister
Oh - that's helpful - I've been changing the colors in the terminal preferences - but that seems like a losers game.
18:28:06
cracauer
If you are in the terminal then you can turn colors off altogether by setting the terminal type.
18:33:01
drmeister
No way - our ape-like ancestors didn't carefully evolve color vision when they switched to diurnal living to better identify fruits and flowers just so that I would go and switch off color in my terminals.
18:40:48
drmeister
that's probably caught now because you turned on consistency checks. That's a good thing - I think.
18:45:24
drmeister
No - I think it's the allocation lock - I should be holding it when I'm walking the GC managed objects that I just allocated when I loaded the image.
19:17:59
drmeister
cracauer: I'm hitting an assertion failure that may be a bug in boehm when consistency checks are turned up.
19:18:35
drmeister
I say that because they have an assertion test that checks a mark bit and they say in the header that the allocation lock must be held - but it clearly isn't held.
19:19:45
drmeister
I hate to keep bothering you with this - but can I move this boehm source tree into my directories and I'll take over building it?
19:34:04
drmeister
Can I be sure it is building everything - 'make install' after 'make clean' doesn't do much.
23:14:26
drmeister
::notify Bike I hit a potential snag with image save/load. Symbols have thread local symbol values. Image save requires only a single thread is running. So I'm transferring any thread local symbol value into the _GlobalValue slot and setting _BindingIdx to NO_THREAD_LOCAL_BINDINGS. That should do the trick. When the image loads it can start over generating thread local bindings.
23:16:06
drmeister
I don't think I need to save the ThreadLocalState in the image. I think the loaded image can start using a fresh ThreadLocalState.
23:16:33
drmeister
This will be fine as long as the saved image doesn't reference any objects in the ThreadLocalState.