From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Rainer M Krug Newsgroups: gmane.emacs.bugs Subject: bug#21428: 24.5; Crash of emacs on OS X, installed via homebrew cask Date: Mon, 28 Sep 2015 11:33:49 +0200 Message-ID: References: <83zj0gm3yu.fsf@gnu.org> <83y4g0m0js.fsf@gnu.org> <83wpvjnc5m.fsf@gnu.org> <83twqnnbdz.fsf@gnu.org> <837fnhlb3v.fsf@gnu.org> <83y4fvixvx.fsf@gnu.org> <83pp17ismu.fsf@gnu.org> <83lhbvir5b.fsf@gnu.org> <838u7uizqs.fsf@gnu.org> <8337y2imvk.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Trace: ger.gmane.org 1443449755 20486 80.91.229.3 (28 Sep 2015 14:15:55 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 28 Sep 2015 14:15:55 +0000 (UTC) Cc: 21428@debbugs.gnu.org, mituharu+bug-gnu-emacs-mac@math.s.chiba-u.ac.jp To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Sep 28 16:15:46 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZgZDT-0004lV-Mx for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Sep 2015 16:15:44 +0200 Original-Received: from localhost ([::1]:37371 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgZDS-00012E-If for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Sep 2015 10:15:42 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58633) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgUpy-0002af-Ik for bug-gnu-emacs@gnu.org; Mon, 28 Sep 2015 05:35:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZgUpr-0005DD-Nu for bug-gnu-emacs@gnu.org; Mon, 28 Sep 2015 05:35:10 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:57254) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgUpr-0005Cw-Kp for bug-gnu-emacs@gnu.org; Mon, 28 Sep 2015 05:35:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZgUpq-0004a5-T7 for bug-gnu-emacs@gnu.org; Mon, 28 Sep 2015 05:35:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Rainer M Krug Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Sep 2015 09:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21428 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 21428-submit@debbugs.gnu.org id=B21428.144343284217484 (code B ref 21428); Mon, 28 Sep 2015 09:35:02 +0000 Original-Received: (at 21428) by debbugs.gnu.org; 28 Sep 2015 09:34:02 +0000 Original-Received: from localhost ([127.0.0.1]:46225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgUor-0004Xe-CH for submit@debbugs.gnu.org; Mon, 28 Sep 2015 05:34:02 -0400 Original-Received: from mail-wi0-f182.google.com ([209.85.212.182]:35458) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgUoo-0004XS-IS for 21428@debbugs.gnu.org; Mon, 28 Sep 2015 05:34:00 -0400 Original-Received: by wicge5 with SMTP id ge5so96185657wic.0 for <21428@debbugs.gnu.org>; Mon, 28 Sep 2015 02:33:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=Cu3kfLpD/djdVA3LPFlbYWHLIWb0azA3JzCrhyapTxc=; b=JgGsLZXEHgQnLNg/mpUnkAocTLWmik6qSucGRnlAyeQBNwRsSFsRly7ySYvItiL9PW Y62SLdcoAguNaZXnZCB0X0LJR4glWU/PuLyJzuqTYB65LSaWw0D1DCUeoy76B1nc0NAQ YR8nB4/yAoWBb0vPumAfWUHOSJTHkSP7Z/NAxgZV9XeJgVCLnKnO8D3JgrHele3Up6ud euzmgJBEwjIzrwYHp/pSKG7CqLbWv8Oa1S146HGLzAMRi7pSN3q/+/1ezcNFHPdzuKwe vVjm8+eljd5Wq3LfL+xHihQObQTWzk+6CqBfGA50xi+4p4/LepR9s+SvbpL0G6ulF+8T 8Mmw== X-Received: by 10.194.116.106 with SMTP id jv10mr23730847wjb.0.1443432837835; Mon, 28 Sep 2015 02:33:57 -0700 (PDT) Original-Received: from Rainers-MacBook-Pro.local (arn78-1-88-186-171-7.fbx.proxad.net. [88.186.171.7]) by smtp.gmail.com with ESMTPSA id bk4sm11801124wjc.1.2015.09.28.02.33.55 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 Sep 2015 02:33:56 -0700 (PDT) In-Reply-To: <8337y2imvk.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 25 Sep 2015 17:39:43 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:106993 Archived-At: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Rainer M Krug >> Cc: 21428@debbugs.gnu.org, mituharu+bug-gnu-emacs-mac@math.s.chiba-u.ac= .jp >> Date: Fri, 25 Sep 2015 14:30:05 +0200 >>=20 >> ,---- >> | xdisp.c:24333: Emacs fatal error: assertion failed: face !=3D NULL >> |=20 >> | Breakpoint 1, terminate_due_to_signal (sig=3D6, backtrace_limit=3D2147= 483647) at emacs.c:370 >> | 370 signal (sig, SIG_DFL); >> | (gdb) bt >> | #0 terminate_due_to_signal (sig=3D6, backtrace_limit=3D2147483647) at= emacs.c:370 >> | #1 0x00000001002256eb in die (msg=3D0x1003b680a "face !=3D NULL", >> | file=3D0x1003b24f0 "xdisp.c", line=3D24333) at alloc.c:6951 >> | #2 0x0000000100062f17 in get_glyph_face_and_encoding >> | (f=3D0x103811830, glyph=3D0x103c4b060, char2b=3D0x7fff5fbfb310) at >> | xdisp.c:24333 >> | #3 0x00000001000b581d in fill_glyph_string (s=3D0x7fff5fbfb360, >> | face_id=3D50, start=3D34, end=3D71, overlaps=3D0) at xdisp.c:24558 > > OK, I think I've seen enough of these for now, thanks. It seems like > a face is removed from the frame's face cache, but Emacs still thinks > the face is cached and tries to use its (stale) cache slot. The face > is different each time, and there's nothing problematic with the face > itself. > > I took a look at the code, and couldn't find any obvious way this > could happen. I need some way to narrow down the search. So I need > to ask you to try a few things, okay? > > First, I'd like to know whether the line of code marked below is ever > executed: > > static void > uncache_face (struct face_cache *c, struct face *face) > { > int i =3D face->hash % FACE_CACHE_BUCKETS_SIZE; > > if (face->prev) > face->prev->next =3D face->next; > else > c->buckets[i] =3D face->next; > > if (face->next) > face->next->prev =3D face->prev; > > c->faces_by_id[face->id] =3D NULL; > if (face->id =3D=3D c->used) > --c->used; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > } > > This is from xfaces.c, line 4322 with the current Git master. Please > put a breakpoint there, and run Emacs under GDB until it crashes as > before, or until this breakpoint breaks. If it breaks, please show > the backtrace. OK - Emacs crashed again (same pattern) and the breakpoint was triggered: ,---- | xdisp.c:24333: Emacs fatal error: assertion failed: face !=3D NULL |=20 | Breakpoint 1, terminate_due_to_signal (sig=3D6, backtrace_limit=3D2147483= 647) at emacs.c:370 | 370 signal (sig, SIG_DFL); | (gdb) bt | #0 terminate_due_to_signal (sig=3D6, backtrace_limit=3D2147483647) at em= acs.c:370 | #1 0x00000001002256fb in die (msg=3D0x1003b681a "face !=3D NULL", file= =3D0x1003b2500 "xdisp.c", line=3D24333) at alloc.c:6951 | #2 0x0000000100062f27 in get_glyph_face_and_encoding (f=3D0x10182bc30, g= lyph=3D0x11b381d60, char2b=3D0x7fff5fbfaf90) at xdisp.c:24333 | #3 0x00000001000b582d in fill_glyph_string (s=3D0x7fff5fbfafc0, face_id= =3D27, start=3D18, end=3D41, overlaps=3D0) at xdisp.c:24558 | #4 0x000000010006d5d9 in draw_glyphs (w=3D0x10182ac30, x=3D152, row=3D0x= 11b1b9f00, area=3DTEXT_AREA, start=3D0, end=3D41, hl=3DDRAW_NORMAL_TEXT, ov= erlaps=3D0) at xdisp.c:25225 | #5 0x000000010006cf01 in x_write_glyphs (w=3D0x10182ac30, updated_row=3D= 0x11b1b9f00, start=3D0x11b381a00, updated_area=3DTEXT_AREA, len=3D41) at xd= isp.c:27256 | #6 0x0000000100011da8 in update_text_area (w=3D0x10182ac30, updated_row= =3D0x11b1b9f00, vpos=3D29) at dispnew.c:3611 | #7 0x000000010000f962 in update_window_line (w=3D0x10182ac30, vpos=3D29,= mouse_face_overwritten_p=3D0x7fff5fbfbdf2) at dispnew.c:3854 | #8 0x00000001000078b2 in update_window (w=3D0x10182ac30, force_p=3Dtrue)= at dispnew.c:3477 | #9 0x00000001000066bf in update_window_tree (w=3D0x10182ac30, force_p=3D= true) at dispnew.c:3219 | #10 0x000000010000639b in update_frame (f=3D0x10182bc30, force_p=3Dtrue, = inhibit_hairy_id_p=3Dfalse) at dispnew.c:3108 | #11 0x0000000100051fb9 in redisplay_internal () at xdisp.c:13815 | #12 0x0000000100053ad9 in redisplay () at xdisp.c:13059 | #13 0x0000000100184349 in read_char (commandflag=3D1, map=3D4819150115, p= rev_event=3D0, used_mouse_menu=3D0x7fff5fbfefb7, end_time=3D0x0) at keyboar= d.c:2465 | #14 0x000000010017f2a9 in read_key_sequence (keybuf=3D0x7fff5fbff2f0, buf= size=3D30, prompt=3D0, dont_downcase_last=3Dfalse, can_return_switch_frame= =3Dtrue, fix_current_buffer=3Dtrue, prevent_redisplay=3Dfalse) at keyboard.= c:9030 | #15 0x000000010017dba6 in command_loop_1 () at keyboard.c:1348 | #16 0x0000000100260716 in internal_condition_case (bfun=3D0x10017d5b0 , handlers=3D17616, hfun=3D0x100198e20 ) at eval.c:= 1309 | #17 0x0000000100198d1c in command_loop_2 (ignore=3D0) at keyboard.c:1088 | #18 0x000000010025f7de in internal_catch (tag=3D42768, func=3D0x100198cf0= , arg=3D0) at eval.c:1073 | #19 0x000000010017c8f0 in command_loop () at keyboard.c:1067 | #20 0x000000010017c732 in recursive_edit_1 () at keyboard.c:673 | #21 0x000000010017cb23 in Frecursive_edit () at keyboard.c:744 | #22 0x000000010017a6ca in main (argc=3D1, argv=3D0x7fff5fbff8f0) at emacs= .c:1643 |=20 | Lisp Backtrace: | "redisplay_internal (C function)" (0x0) | (gdb) bt full | #0 terminate_due_to_signal (sig=3D6, backtrace_limit=3D2147483647) at em= acs.c:370 | No locals. | #1 0x00000001002256fb in die (msg=3D0x1003b681a "face !=3D NULL", file= =3D0x1003b2500 "xdisp.c", line=3D24333) at alloc.c:6951 | No locals. | #2 0x0000000100062f27 in get_glyph_face_and_encoding (f=3D0x10182bc30, g= lyph=3D0x11b381d60, char2b=3D0x7fff5fbfaf90) at xdisp.c:24333 | face =3D (struct face *) 0x0 | code =3D 0 | #3 0x00000001000b582d in fill_glyph_string (s=3D0x7fff5fbfafc0, face_id= =3D27, start=3D18, end=3D41, overlaps=3D0) at xdisp.c:24558 | glyph =3D (struct glyph *) 0x11b381d60 | last =3D (struct glyph *) 0x11b3821b0 | voffset =3D 0 | glyph_not_available_p =3D false | #4 0x000000010006d5d9 in draw_glyphs (w=3D0x10182ac30, x=3D152, row=3D0x= 11b1b9f00, area=3DTEXT_AREA, start=3D0, end=3D41, hl=3DDRAW_NORMAL_TEXT, ov= erlaps=3D0) at xdisp.c:25225 | face_id =3D 27 | char2b =3D (XChar2b *) 0x7fff5fbfaf90 | first_glyph =3D (struct glyph *) 0x11b381d60 | head =3D (struct glyph_string *) 0x7fff5fbfb6f0 | tail =3D (struct glyph_string *) 0x7fff5fbfafc0 | s =3D (struct glyph_string *) 0x7fff5fbfafc0 | clip_head =3D (struct glyph_string *) 0x0 | clip_tail =3D (struct glyph_string *) 0x0 | i =3D 18 | j =3D 1519995 | x_reached =3D 1 | last_x =3D 2537 | area_left =3D 8 | f =3D (struct frame *) 0x10182bc30 | sa_avail =3D 15992 | sa_count =3D 5 | sa_must_free =3D false | #5 0x000000010006cf01 in x_write_glyphs (w=3D0x10182ac30, updated_row=3D= 0x11b1b9f00, start=3D0x11b381a00, updated_area=3DTEXT_AREA, len=3D41) at xd= isp.c:27256 | x =3D 16779745 | hpos =3D 0 | chpos =3D 14 | #6 0x0000000100011da8 in update_text_area (w=3D0x10182ac30, updated_row= =3D0x11b1b9f00, vpos=3D29) at dispnew.c:3611 | current_row =3D (struct glyph_row *) 0x1045aa300 | desired_row =3D (struct glyph_row *) 0x11b1b9f00 | rif =3D (struct redisplay_interface *) 0x1007d8e98 | changed_p =3D false | #7 0x000000010000f962 in update_window_line (w=3D0x10182ac30, vpos=3D29,= mouse_face_overwritten_p=3D0x7fff5fbfbdf2) at dispnew.c:3854 | current_row =3D (struct glyph_row *) 0x1045aa300 | desired_row =3D (struct glyph_row *) 0x11b1b9f00 | rif =3D (struct redisplay_interface *) 0x1007d8e98 | changed_p =3D false | #8 0x00000001000078b2 in update_window (w=3D0x10182ac30, force_p=3Dtrue)= at dispnew.c:3477 | vpos =3D 29 | i =3D 783 | end =3D (struct glyph_row *) 0x11b1c0300 | mode_line_row =3D (struct glyph_row *) 0x11b1c0300 | header_line_row =3D (struct glyph_row *) 0x11b1b8200 | changed_p =3D true | mouse_face_overwritten_p =3D false | row =3D (struct glyph_row *) 0x11b1b9f00 | yb =3D 1402 | n_updated =3D 0 | desired_matrix =3D (struct glyph_matrix *) 0x101478110 | paused_p =3D false | preempt_count =3D 17 | rif =3D (struct redisplay_interface *) 0x1007d8e98 | #9 0x00000001000066bf in update_window_tree (w=3D0x10182ac30, force_p=3D= true) at dispnew.c:3219 | paused_p =3D false | #10 0x000000010000639b in update_frame (f=3D0x10182bc30, force_p=3Dtrue, = inhibit_hairy_id_p=3Dfalse) at dispnew.c:3108 | paused_p =3D false | root_window =3D (struct window *) 0x10182ac30 | #11 0x0000000100051fb9 in redisplay_internal () at xdisp.c:13815 | gcscrollbars =3D false | f =3D (struct frame *) 0x10182bc30 | w =3D (struct window *) 0x10182ac30 | sw =3D (struct window *) 0x10182ac30 | fr =3D (struct frame *) 0x10182bc30 | pending =3D false | must_finish =3D false | match_p =3D true | tlbufpos =3D { | charpos =3D 774, | bytepos =3D 774 | } | tlendpos =3D { | charpos =3D 269, | bytepos =3D 269 | } | number_of_visible_frames =3D 1 | count =3D 2 | sf =3D (struct frame *) 0x10182bc30 | polling_stopped_here =3D true | tail =3D 4412501059 | frame =3D 4320312373 | consider_all_windows_p =3D true | update_miniwindow_p =3D false | #12 0x0000000100053ad9 in redisplay () at xdisp.c:13059 | No locals. | #13 0x0000000100184349 in read_char (commandflag=3D1, map=3D4819150115, p= rev_event=3D0, used_mouse_menu=3D0x7fff5fbfefb7, end_time=3D0x0) at keyboar= d.c:2465 | echo_current =3D true | c =3D 0 | jmpcount =3D 140734799801360 | local_getcjmp =3D 0x7fff5fbfeba0 | save_jump =3D 0x7fff5fbfeb00 | tem =3D 2 | save =3D 0 | previous_echo_area_message =3D 0 | also_record =3D 0 | reread =3D false | recorded =3D false | polling_stopped_here =3D false | orig_kboard =3D (struct kboard *) 0x101436bb0 | #14 0x000000010017f2a9 in read_key_sequence (keybuf=3D0x7fff5fbff2f0, buf= size=3D30, prompt=3D0, dont_downcase_last=3Dfalse, can_return_switch_frame= =3Dtrue, fix_current_buffer=3Dtrue, prevent_redisplay=3Dfalse) at keyboard.= c:9030 | interrupted_kboard =3D (KBOARD *) 0x101436bb0 | interrupted_frame =3D (struct frame *) 0x10182bc30 | key =3D 140734799802480 | used_mouse_menu =3D false | echo_local_start =3D 0 | last_real_key_start =3D 0 | keys_local_start =3D 0 | new_binding =3D 1062 | count =3D 2 | t =3D 0 | echo_start =3D 0 | keys_start =3D 0 | current_binding =3D 4819150115 | first_event =3D 0 | first_unbound =3D 31 | mock_input =3D 0 | fkey =3D { | parent =3D 4337131763, | map =3D 4337131763, | start =3D 0, | end =3D 0 | } | keytran =3D { | parent =3D 4336943683, | map =3D 4336943683, | start =3D 0, | end =3D 0 | } | indec =3D { | parent =3D 4337131827, | map =3D 4337131827, | start =3D 0, | end =3D 0 | } | shift_translated =3D false | delayed_switch_frame =3D 0 | original_uppercase =3D 0 | original_uppercase_position =3D -1 | dummyflag =3D false | starting_buffer =3D (struct buffer *) 0x112b39c90 | fake_prefixed_keys =3D 0 | #15 0x000000010017dba6 in command_loop_1 () at keyboard.c:1348 | cmd =3D 61397272 | keybuf =3D 0x7fff5fbff2f0 | i =3D 1 | prev_modiff =3D 15153 | prev_buffer =3D (struct buffer *) 0x112b39c90 | already_adjusted =3D false | #16 0x0000000100260716 in internal_condition_case (bfun=3D0x10017d5b0 , handlers=3D17616, hfun=3D0x100198e20 ) at eval.c:= 1309 | val =3D 4303299704 | c =3D (struct handler *) 0x101403dc0 | #17 0x0000000100198d1c in command_loop_2 (ignore=3D0) at keyboard.c:1088 | val =3D 2 | #18 0x000000010025f7de in internal_catch (tag=3D42768, func=3D0x100198cf0= , arg=3D0) at eval.c:1073 | val =3D 0 | c =3D (struct handler *) 0x101404e60 | #19 0x000000010017c8f0 in command_loop () at keyboard.c:1067 | No locals. | #20 0x000000010017c732 in recursive_edit_1 () at keyboard.c:673 | count =3D 1 | val =3D 0 | #21 0x000000010017cb23 in Frecursive_edit () at keyboard.c:744 | count =3D 0 | buffer =3D 0 | #22 0x000000010017a6ca in main (argc=3D1, argv=3D0x7fff5fbff8f0) at emacs= .c:1643 | dummy =3D 140734799806464 | stack_bottom_variable =3D 0 '\0' | do_initial_setlocale =3D true | dumping =3D false | skip_args =3D 0 | rlim =3D { | rlim_cur =3D 8720000, | rlim_max =3D 67104768 | } | no_loadup =3D false | junk =3D 0x0 | dname_arg =3D 0x0 | dname_arg2 =3D 0x7fff5fbff870 "\001" | ch_to_dir =3D 0x0 | original_pwd =3D 0x0 |=20 | Lisp Backtrace: | "redisplay_internal (C function)" (0x0) | (gdb) `---- I am sure the crash occurs again, so please let me know what further info you need from the next crash. > > If this breakpoint never breaks before another crash, please > reconfigure Emacs like this: > > CFLAGS=3D"-ggdb3 -O0" CXXFLAGS=3D"-ggdb3 -O0" LDFLAGS=3D"-ggdb3" ./conf= igure --enable-checking=3D'yes,glyphs' > > then rebuild, and run it after setting these three variables to t: > > inhibit-try-cursor-movement > inhibit-try-window-id > inhibit-try-window-reusing > > This disables some redisplay optimizations, so you might see slow > redisplay; this is normal. What is important is to see whether the > crashes disappear when these variables are set to non-nil values. If > you run for a long time without crashes, then set these variables to > nil, one by one, in the order they are shown above, and each time let > Emacs run enough time for you to be sure the problem doesn't happen, > before you proceed to the next variable. > > I hope these two procedures will collect data that will help me zero > in on the problematic code. > > Thanks. =2D-=20 Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,= UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D): +49 - (0)3 21 21 25 22 44 email: Rainer@krugs.de Skype: RMkrug PGP: 0x0F52F982 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBCAAGBQJWCQmCAAoJENvXNx4PUvmCIP0H/19bRwPpBFujLJa53BRAUl4O oqoQvT41BIGIEZv9QPcKI6jsvN/XHYSVBBTNxPHGTO9OWVtIS/vuh6p3sBz+j/lH 4PsIqRf7zNff+796+JlEDWB72JMXUtp5z27x1rERZ4TavFBmzVYqHkmjoj3H5chu aD6NkdHY1DgJ736JGHUFak8qwNscvB248hZyjPsBiKODokOhpURWUaZ3tGZGXJyk 5OxC2rThiQEgYV+wB9Rc/IGeBOgAANRCsowXddgDrSIIc05GT68fz9nupxJEBbnZ bjga5KfkLCpRuzUOXZBDjeegShnxxUIKBcj8a8BN9ia8qVaa2xEAJqSzUlvxmhk= =Lsfw -----END PGP SIGNATURE----- --=-=-=--