On Thu, 01 Sep 2005 10:30:12 +0300, era+regex=coach@iki.fi wrote:
This is on Ubuntu Linux 5.04, using whatever version was on your site the day before yesterday in the Linux tarball. It doesn't appear to understand the --version switch
No, the switch isn't advertised either.
but I found an "About ..." dialog box which identifies it as version 0.6.7.
OK, that's the newest version.
FWIW, I can't reproduce the problem on a Debian testing system either. Actually, from your error output it looks like some kind of "this is not supposed to happen" thingy which I guess is buried within the internals of the GUI toolkit. Maybe switching to another OpenMotif/Lesstif version will help.
Sorry, I can't be more helpful at the moment.
There are other benefits, such as being able to read the list in a newsreader, via RSS, etc.
Sure. Of course, this only works if you actually send your message to the list... :)
Cheers, Edi.
On Thu, 01 Sep 2005 15:10:47 +0200, "Edi Weitz" edi@agharta.de said:
On Thu, 01 Sep 2005 10:30:12 +0300, era+regex=coach@iki.fi wrote:
This is on Ubuntu Linux 5.04, using whatever version was on your site the day before yesterday in the Linux tarball. It doesn't appear to understand the --version switch
No, the switch isn't advertised either.
Consider this a feature request then.
FWIW, I can't reproduce the problem on a Debian testing system either. Actually, from your error output it looks like some kind of "this is not supposed to happen" thingy which I guess is buried within the internals of the GUI toolkit. Maybe switching to another OpenMotif/Lesstif version will help.
I'm afraid that experimenting with libraries on my production system is not an option for me at the moment. If somebody could see if they can at least repro this with the Ubuntu 5.04 Live CD, that would be helpful.
/* era */
On Fri, 02 Sep 2005 15:51:24 +0300, era+regex=coach@iki.fi wrote:
Consider this a feature request then.
Unlikely to happen. I don't see the need for command line switches in a GUI app. (Besides, at the moment I don't have time to work on the program anyway.)
I'm afraid that experimenting with libraries on my production system is not an option for me at the moment. If somebody could see if they can at least repro this with the Ubuntu 5.04 Live CD, that would be helpful.
I just got a report from someone using Ubuntu 5.04 who said he couldn't reproduce your problem - see attached screen shot.
Cheers, Edi.
On Fri, 02 Sep 2005 15:15:04 +0200, "Edi Weitz" edi@agharta.de said:
On Fri, 02 Sep 2005 15:51:24 +0300, era+regex=coach@iki.fi wrote:
I'm afraid that experimenting with libraries on my production system is not an option for me at the moment. If somebody could see if they can at least repro this with the Ubuntu 5.04 Live CD, that would be helpful.
I just got a report from someone using Ubuntu 5.04 who said he couldn't reproduce your problem - see attached screen shot.
In the screen shot, the email sample appears to be munged -- all the @ characters have been replaced with " at ". I guess this is something the mailing list software might have done. For what it's worth, I've made the file available at the URL below so you (for applicable values of "you" :-) can download it in unmunged form.
I still get the crash even if I similarly mung my copy of the text, though.
The strace output is rather voluminous, so I'd rather not attach it here. Here's a snippet from what seems to me like the critical spot in the trace:
open("/home/era/Software/Edi Weitz/The Regex Coach/Environment/CL-PPCRE-INTERACTIVE/REGEX-INTERFACE/.values", O_RDWR|O_CREAT|O_TRUNC, 0666) = 4 write(4, "(("Window Positions:1920x1440" ("..., 50) = 50 close(4) = 0 setitimer(ITIMER_VIRTUAL, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 gettimeofday({1125993191, 600327}, NULL) = 0 close(3) = 0 gettimeofday({1125993191, 601764}, NULL) = 0 setitimer(ITIMER_VIRTUAL, {it_interval={0, 0}, it_value={0, 100000}}, NULL) = 0 gettimeofday({1125993191, 602617}, NULL) = 0 gettimeofday({1125993191, 603863}, NULL) = 0 setitimer(ITIMER_VIRTUAL, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 setitimer(ITIMER_VIRTUAL, {it_interval={0, 0}, it_value={0, 100000}}, NULL) = 0 gettimeofday({1125993191, 604361}, NULL) = 0 setitimer(ITIMER_VIRTUAL, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 gettimeofday({1125993191, 604506}, NULL) = 0 select(3, [], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1125993191, 604705}, NULL) = 0 setitimer(ITIMER_VIRTUAL, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 gettimeofday({1125993191, 604826}, NULL) = 0 setitimer(ITIMER_VIRTUAL, {it_interval={0, 0}, it_value={0, 100000}}, NULL) = 0 gettimeofday({1125993191, 604925}, NULL) = 0 setitimer(ITIMER_VIRTUAL, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
(Sorry if the line wrapping is weird.)
After this point it's just looping until I kill it.
The full strace is available in http://www.ihme.org/~era/tmp/regex-coach/ -- it turned out the first 5,000 lines were relevant, and the other 100,000 or so were just looping the loop :-/
/* era */
On Tue, 06 Sep 2005 13:49:07 +0300, era+regex=coach@iki.fi wrote:
I still get the crash even if I similarly mung my copy of the text, though.
Please try the version available from
http://weitz.de/files/regex-coach.bz2
and check if it shows the same symptoms. This seems to be a problem related to certain versions of Ubuntu - see
http://thread.gmane.org/gmane.lisp.lispworks.general/4448
for the technical details.
Thanks, Edi.
On Wed, 07 Sep 2005 13:50:42 +0200, "Edi Weitz" edi@agharta.de said:
On Tue, 06 Sep 2005 13:49:07 +0300, era+regex=coach@iki.fi wrote:
I still get the crash even if I similarly mung my copy of the text
Please try the version available from
http://weitz.de/files/regex-coach.bz2
and check if it shows the same symptoms.
It's an improvement. Now, I get an error dialog with the following text:
[title: Message]
X ERROR Display: #S(#:DIS) Error: BadName (named color or font does not exist) Major opcode of failed request: 45 (X_OpenFont)
[OK]
The same message (with "Quitting" prepended) is also printed on standard output (still not standard error) when I click OK. I still have to "killall regex-coach" from another window to terminate it, even though it prints "./regex-coach : Interrupted - quitting" on the last line of output when I press ctrl-C to "really" quit.
It would of course be helpful if it could indicate which font it wants ... but I guess this too may be a feature of LispWorks and not in your code actually. (Any X masochists around who could tell how to find out which font is being requestd with some X tool?)
/* era */
On Wed, 07 Sep 2005 20:19:08 +0300, era+regex=coach@iki.fi wrote:
It's an improvement. Now, I get an error dialog with the following text:
[title: Message]
X ERROR Display: #S(#:DIS) Error: BadName (named color or font does not exist) Major opcode of failed request: 45 (X_OpenFont)
[OK]
The same message (with "Quitting" prepended) is also printed on standard output (still not standard error) when I click OK. I still have to "killall regex-coach" from another window to terminate it, even though it prints "./regex-coach : Interrupted - quitting" on the last line of output when I press ctrl-C to "really" quit.
It would of course be helpful if it could indicate which font it wants ... but I guess this too may be a feature of LispWorks and not in your code actually. (Any X masochists around who could tell how to find out which font is being requestd with some X tool?)
I've uploaded an image with debugging information (about 10MB) to the same address:
http://weitz.de/files/regex-coach.bz2
You /might/ get a more informative error message with that one.
As to why the application doesn't quit when it should - that's another question. Again, I haven't seen that before. Ubuntu seems to be a bit strange. I'm using Debian and I thought they were pretty similar but obviously they aren't.
Thanks for testing, Edi.
On Wed, 07 Sep 2005 19:51:00 +0200, "Edi Weitz" edi@agharta.de said:
On Wed, 07 Sep 2005 20:19:08 +0300, era+regex=coach@iki.fi wrote:
It's an improvement. Now, I get an error dialog
I've uploaded an image with debugging information (about 10MB) to the same address:
http://weitz.de/files/regex-coach.bz2
You /might/ get a more informative error message with that one.
vnix$ ./regex-coach Warning: Unable to find default fallback resources for application class Lispworks Error: An error of type CONDITIONS:ARITHMETIC-TYPE-ERROR occured, arguments : (:EXPECTED-TYPE REAL :DATUM NIL :OPERATION >= :OPERANDS (0 NIL)) 1 (continue) Return a value to use. 2 Supply a new second argument. 3 Destroy element #<CL-PPCRE-INTERACTIVE::YELLOW-NODE-PANE "^(?!(?i:X-UIDL|X-Face|To|Cc|From|Subject|References|In-Reply-To|(?:X-|Resent-|X-Original-)?Message-Id):)[\w-]{1,24}:(?:[^\n]{0,100}|\n[ \t]){0,2}%[A-Z][A-Z_-]" 20EC9CA4>. 4 (abort) Return to event loop.
Type :b for backtrace, :c <option number> to proceed, or :? for other options
CL-USER 1 : 1 > :b Call to "GET-CALL-FRAME" Call to "DEBUG1" Call to "INVOKE-DEBUGGER" Call to "CONDITIONS-ERROR" Call to "REPORT-THE-BINARY-FN-ERROR" Call to "ARGS-TO-BINARY-ARITHMETIC-FN-NOT-OF-TYPE" Call to ">=" Call to "COLLECT-FONT-PROPERTIES" Call to "COMPUTE-FONT-NAME-FROM-FONT-STRUCT" Call to "DEFAULT-ANY-COMPONENTS" Call to "FIND-BEST-FONT" Call to "SIMPLE-PANE-FONT-REPRESENTATION" Call to "(METHOD PANE-INITIAL-FONTLIST PANE-REPRESENTATION . NIL)" Call to "(METHOD PANE-INITIALIZE PANE-REPRESENTATION . NIL)" Call to "(METHOD CREATE-REPRESENTATION (SIMPLE-PANE WINDOW-REPRESENTATION))" Call to "CACHE-MISS-FUNCTION" Call to "(METHOD CREATE ELEMENT . NIL)" Call to Anonymous compiled function #<function 2039F512> Call to "NEXT-METHOD-CALL-1" Call to "(METHOD CREATE AROUND LIBRARY-ELEMENT . NIL)" Call to Anonymous compiled function #<function 200CD202> Call to "CACHE-MISS-FUNCTION" Call to "CACHE-MISS-FUNCTION" Call to "(METHOD MAP-PANE-CHILDREN (LAYOUT T))" Call to "(METHOD REDO-LAYOUT LAYOUT . NIL)" Call to "CACHE-MISS-FUNCTION" Call to "(METHOD CREATE AROUND LAYOUT . NIL)" Call to #<function 200CD202> Call to "CACHE-MISS-FUNCTION" Call to "CACHE-MISS-FUNCTION" Call to "(METHOD MAP-PANE-CHILDREN (LAYOUT T))" Call to "(METHOD REDO-LAYOUT LAYOUT . NIL)" Call to "NEXT-METHOD-CALL-1" Call to "(METHOD REDO-LAYOUT AROUND PINBOARD-LAYOUT . NIL)" Call to #<function 200CD202> Call to "CACHE-MISS-FUNCTION" Call to "(METHOD CREATE AROUND LAYOUT . NIL)" Call to #<function 200CD202> Call to "CACHE-MISS-FUNCTION" Call to "CACHE-MISS-FUNCTION" Call to "(METHOD MAP-PANE-CHILDREN (LAYOUT T))" Call to "(METHOD REDO-LAYOUT LAYOUT . NIL)" Call to "(METHOD CREATE AROUND LAYOUT . NIL)" Call to #<function 200CD202> Call to "(METHOD MAP-PANE-CHILDREN (LAYOUT T))" Call to "(METHOD REDO-LAYOUT LAYOUT . NIL)" Call to "(METHOD CREATE AROUND LAYOUT . NIL)" Call to #<function 200CD202> Call to "(METHOD MAP-PANE-CHILDREN (LAYOUT T))" Call to "(METHOD REDO-LAYOUT LAYOUT . NIL)" Call to "(METHOD INVALIDATE-PANE-CONSTRAINTS-WITH-CONTROL-OVER-REDISPLAY LAYOUT . NIL)" Call to Anonymous compiled function #<function 200732CA> Call to Anonymous compiled function #<function 200AB842> Call to "INVALIDATE-PANE-CONSTRAINTS-WITH-REDISPLAY" Call to "REDISPLAY-LAYOUT-CREATING-UNMAPPED-CHILDREN" Call to "(METHOD SET-LAYOUT-DESCRIPTION (LAYOUT T))" Call to Anonymous compiled function #<function 2007492A> Call to "UPDATE-SWITCHABLE-LAYOUT-VISIBLE-CHILD" Call to "(METHOD (SETF SWITCHABLE-LAYOUT-VISIBLE-CHILD) (T SWITCHABLE-LAYOUT))" Call to Anonymous compiled function #<function 203A3922> Call to "NEXT-METHOD-CALL-3" Call to "(METHOD CAPI-COLLECTION-CALLBACK AROUND (CHOICE T))" Call to Anonymous compiled function #<function 203A2722> Call to "CACHE-MISS-FUNCTION" Call to #<function 2007492A> Call to "IN-PROCESS-CAPI-EVENT-CALLBACK" Call to "LOOP-PROCESS-EVENTS" Call to "INTERFACE-EVENT-LOOP" Call to "INITIALIZE-AND-PROCESS-EVENTS" Call to "(METHOD INTERFACE-PROCESS-WRAPPER (SCREEN-REPRESENTATION T T))" Call to "CACHE-MISS-FUNCTION" Call to "INITIALIZE-PROCESS-STACK . PROCESS-SG-FUNCTION" Call to SYSTEM::%%FIRST-CALL-TO-STACK
CL-USER 2 : 1 >
The X error message is slightly more detailed, but hardly more informative (it adds a hex number which looks like a handle of some sort) and I get a dialog asking whether I want to save some buffers.
/* era */
OK, next step... :)
1. Could you please post the output of
xlsfonts -ll -fn '*-fixed-medium-r-*-14-*'
on your machine?
2. There's another image with debug info (7MB zipped) at
http://weitz.de/files/regex-coach.bz2
that's supposed to write some useful info to the file /tmp/regex-coach.trace. It would be nice if you could try the image and send me the trace file. If the trace file gets very big (> 1MB) ask me off-list for an email address to send it to.
Thanks again, Edi.
On Thu, 08 Sep 2005 13:56:26 +0200, "Edi Weitz" edi@agharta.de said:
- Could you please post the output of xlsfonts -ll -fn '*-fixed-medium-r-*-14-*' on your machine?
- There's another image with debug info (7MB zipped) at http://weitz.de/files/regex-coach.bz2 that's supposed to write some useful info to the file /tmp/regex-coach.trace. It would be nice if you could try the image and send me the trace file. If the trace file gets very big (> 1MB) ask me off-list for an email address to send it to.
Both attached below. The trace is not large at all.
/* era */
On Fri, 09 Sep 2005 14:32:22 +0300, era+regex=coach@iki.fi wrote:
Both attached below. The trace is not large at all.
Thanks. Somehow the answer of Martin Simmons from LispWorks doesn't show up on gmane.org so instead of providing a URL I include it here. I don't think this is something I can change from within my application.
Cheers, Edi.
It looks to me like there is a problem with the font scaler on that machine. Looking at one of the names xlsfonts returned:
-misc-fixed-medium-r-normal--14-110-100-100-c-70-iso8859-1
we see that the 14 is the pixel-size, the 110 is the point-size times 10 and the 100-100 is the x-y resolution in pixels/inch. However, since 1 point is 1/72 inch, we should have the identity:
point-size = 72 x pixel-size / resolution
This computes point-size = 10.08, so point-size times 10 should be 101, not 110! There is a similar inaccuracy with the other fonts listed. In fact, all the "point-size times 10" values are multiples of 10, it looks to me like it is rounding too early.
On Sat, 10 Sep 2005 10:01:04 +0200, "Edi Weitz" edi@agharta.de said:
On Fri, 09 Sep 2005 14:32:22 +0300, era+regex=coach@iki.fi wrote: Somehow the answer of Martin Simmons from LispWorks doesn't show up on gmane.org so instead of providing a URL I include it here.
<...>
1 point is 1/72 inch, we should have the identity: point-size = 72 x pixel-size / resolution
My understanding of this is imperfect, but I think I have an explanation.
While the unit "typographical point" is 1/72 inch (in the American system -- European didot points are a slightly different size) this is not what the font scaler is using. Instead, it uses the display DPI, which can commonly be 72 dpi or 96 dpi, but in this case is something like 120 dpi (another fairly common size). In fact I hand-tweaked the dpi setting in the X server so it's exactly right for my display, and not any particular standard size.
vnix$ xdpyinfo | fgrep -e screen -e dimensions -e resolution default screen number: 0 number of screens: 1 screen #0: print screen: no dimensions: 1920x1440 pixels (410x305 millimeters) resolution: 119x120 dots per inch
In my /etc/X11/xorg.conf file (like XF86Config with XFree86), I have the following hand-addition under Section "Monitor"
# http://www.ubuntuforums.org/showthread.php?t=20976 DisplaySize 409 304 # millimeters
(As you can see, the X server rounds the size I passed in -- I haven't figured out how to make it not do that. Tweaking the numbers ever so slightly causes it to round them to some other random number ...) The link in the comment is to an article which explores some font issues -- it's not particularly well-structured I'm afraid, but that's where I picked this up. (I haven't done most of the other tweaks suggested on that page.)
/* era */