Schrift
[thread]12075[/thread]

TK Fehler malformed bucket chain in Tcl_DeleteHashEntry

Leser: 1


<< >> 6 Einträge, 1 Seite
Ted
 2008-06-24 16:48
#111436 #111436
User since
2008-01-09
22 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bekomme bei einem Perl TK Programm die folgende Fehlermeldung.

Quote
malformed bucket chain in Tcl_DeleteHashEntry

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


Dabei erzeuge ich eine Referenz auf einen Array.

$Var{Array_ref_drop_variablen} = \@drop_variablen;

Beim ersten Durchgang des TK Programms funktioniert alles einwandfrei. Beim zweiten Durchgang steigt das Programm mit der obigen Fehlermeldung aus.

Ich habe schon versucht den Wert zwischendurch mit undef bzw. das Hashelement mit delete zu löschen, aber beides ändert nichts.

Hat vielleicht jemand eine Idee, wie man das Problem lösen kann.


MfG
renee
 2008-06-24 17:02
#111437 #111437
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kannst Du mal etwas mehr Code zeigen? Möglichst ein kleines Programm, das den Fehler reproduziert...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Ted
 2008-06-24 19:29
#111453 #111453
User since
2008-01-09
22 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich schaffe das heute nicht mehr, aber ich werde es morgen mal versuchen.

MfG
Ted
 2008-06-25 11:40
#111487 #111487
User since
2008-01-09
22 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe mal etwas geschrieben, das dem ursprünglichen Code sehr nahe kommt.

Leider läßt sich dort der Fehler nicht reproduzieren.

Ich poste den Code trotzdem schon mal und schaue noch mal weiter ...

MfG


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/perl

 use strict;
 use warnings;
 
 use Tk;
 use Tk::HList;
 use Tk::Dialog;
 
 my %Var = ( );
 my %Ptk = ( ); 

 tk_main();

 MainLoop();
 
 exit 0;
 
 
 
 sub tk_main {
 
    my $mw = MainWindow->new();
   
    $Ptk{Main_window} = $mw;
    
    tk_start(); 
 }   
 
 sub tk_start {
   
   my @liste = qw(X Y Z); 
   $Var{Array_ref_1} = \@liste; 
   
   $Ptk{Start_f}  = $Ptk{Main_window}->Frame()->pack(-fill => 'x');
   
 
   $Ptk{Start_lb} = $Ptk{Start_f}->Scrolled('Listbox',
                                  -scrollbars => 'oe',
                                  -height     => 6,
                                  -selectmode => 'extended', 
                                 )->pack();             
   
   $Ptk{Start_b} = $Ptk{Start_f}->Button()->pack(); 
   
   $Ptk{Start_lb}->insert('end',@liste);
       
   $Ptk{Start_b}->configure(-text      => 'Weiter',
                               -command   => \&weiter,
                               );  
   
 }
   
 sub weiter {
   
   my @index = $Ptk{Start_lb}->curselection();
   
   $Ptk{Start_f}->destroy(); 
   
   my @auswahl; 
   
   foreach (@index)
   {
      push(@auswahl,$Var{Array_ref_1}->[$_]); 
   }
    
   $Var{Array_ref_2} = \@auswahl; 
   
   nach_weiter();
   
     
 }  
  
 sub nach_weiter {  

   
   foreach ( @{$Var{Array_ref_2}})
   {
     print "$_\n"; 
   }
   
   tk_start();

 }
Ted
 2008-06-25 12:46
#111495 #111495
User since
2008-01-09
22 Artikel
BenutzerIn
[default_avatar]
Ich konnte den Fehler noch weiter eingrenzen und er hat nichts mit den Referenzen zu tun ...

MfG
Ted
 2008-06-25 14:06
#111506 #111506
User since
2008-01-09
22 Artikel
BenutzerIn
[default_avatar]
Ich habe den Fehler endlich gefunden ...
Quote
Font {Arial} 10 {normal} still in cache.

Die folgende Nachricht war für den Fehler verantwortlich.
Ich habe Sie aber nicht weiter beachtet, da ich sie schon öfter mal bekommen habe.
Leider hat Sie genau an dieser Stelle zum Absturz geführt. An anderen Stellen lief das Programm bei der gleichen Meldung einfach weiter ...

Der Fehler entsand bei mir dadurch, dass ein Popup und das Main Window die gleiche Schrift hatten und beide auf den gleichen Hash Wert zugreifen.

MfG


<< >> 6 Einträge, 1 Seite



View all threads created 2008-06-24 16:48.