added functionality for SAVE button
[dyninst.git] / paradyn / tcl / errorList.tcl
1 #
2 # $Log: errorList.tcl,v $
3 # Revision 1.29  1997/05/02 04:46:02  karavan
4 # added functionality for SAVE button
5 #
6 # changed access for error database size, to support autoload feature.
7 #
8 # Revision 1.28  1997/01/15 00:15:34  tamches
9 # added attach error
10 #
11 # Revision 1.27  1996/07/18 19:39:09  naim
12 # Minor fix to give proper error message when the pvm daemon runs out of
13 # virtual memory - naim
14 #
15 # Revision 1.26  1996/04/30  19:02:23  newhall
16 # added more info. to error #86
17 #
18 # Revision 1.25  1996/04/29  03:29:53  tamches
19 # Removed newlines from description of error msgs
20 #
21 # Revision 1.24  1996/04/04 21:56:40  newhall
22 # added error 97
23 #
24 # Revision 1.23  1996/04/03  14:29:20  naim
25 # Adding error number 96 - naim
26 #
27 #
28
29 #
30 # Error message format:
31 # set pdError(1) { -> Error number 
32 #
33 # { Default error message -> Error message to be displayed when "" is received
34 #                            as a parameter. Detailed information such as
35 #                            specific filenames will be displayed only if this
36 #                            information was included as part of the error
37 #                            message
38 # } {source -> Indicates where the error comes from. "source" can be:
39 #              paradynd = paradyn daemon
40 #              pc = performance consultant
41 #              dm = data manager
42 #              vi = visi interface 
43 #              vm = visi manager
44 #              ui = user interface
45 # } {error type -> information, serious, fatal
46 # } {
47 # Explanation -> Detailed explanation of the error and possible actions to be
48 #                taken by the user
49 # }}
50 #
51 # Call example: 
52 #       showErrorCallback(27, "Executable file /p/paradyn/weird not found");
53 #
54
55 # Note that the default explanations should generally _not_ have a newline in them.
56 # The tk text widget will word wrap just fine on its own.  Putting in newlines forces
57 # a newline at certain points in the text widget---and who's to say that it will be in
58 # the right place since the user can resize the error dialog box to different widths?
59 #
60 # important:  if you add/delete an error, change the error count at the end 
61 #             of this file
62 #
63 set pdError(1) {
64 {Application Process found for machine without paradynd
65 } {paradynd
66 } {serious error
67 } {
68 An application process was found to be running on a machine that had no paradynd process running.  This is a serious error that indicates either a paradynd process could not be started, or that it might have died.  This error should be considered an indication of a bug in the tool.
69 }} 
70
71 set pdError(2) {
72 {Data for unknown metric id}
73 {dm}
74 {serious error}
75 {Data has arrived from a paradynd process for an unknown metric id.  This is a serious error that indicates a bug in the paradyn/paradynd interface.}
76
77
78 set pdError(3) {
79 {Unable to find metric component for sample.}
80 {dm}
81 {serious error}
82 {A sample value has arrive for a metric from a paradynd, but the paradyn process was not expecting a value from this process.  This is a serious internal consistency failure of the paradyn/paradynd interface.}
83
84
85 set pdError(4) {
86 {Unable to connect to new paradyn daemon process.}
87 {paradynd}
88 {serious error}
89 {A request had arrived to start a new paradyn daemon process on a remote machine (either from the user or the system based on adding new hosts), and the paradyn user process was unable to rendezvous with the paradynd process.  This could indicate a network failure, the paradynd process not being installed on the remote machine, or a file permission problem.}
90
91
92 set pdError(5) {
93 {paradynd process has died}
94 {paradynd}
95 {information}
96 {A paradynd process has died somewhere in the system.  This indicates either a network failure, a host failure, or a bug in the paradynd process.}
97
98
99 set pdError(6) {
100 {Unable to start paradynd}
101 {dm}
102 {information}
103 {A request to start a new application process on a machine required that a new paradyn daemon process be started on that machine.  The attempt to start that new paradynd process failed.  This is a continuable error, but does mean that the request application process will NOT be started.  This error can happen if the path for the paradynd is incorrect, if the paradynd binary is not installed on that machine, or if the machine or network is down.}
104
105
106 set pdError(7) {
107 {Auto refinement already enabled}
108 {pc}
109 {serious error}
110 {An attempt to enable automatic refinement was made will automated refinement was already being attempted.}
111
112
113 set pdError(8) {
114 {Unable to find search history graph node}
115 {pc}
116 {information}
117 {An attempt to lookup a search history graph node failed.  The passed integer name of the node was not found in the list of nodes.}
118
119
120 set pdError(9) {
121 {Search history graph ancestor not true}
122 {pc}
123 {information}
124 {An attempt to set the current refinement to a node failed because one of the ancestors of that node is false.  To manually select a SHG node, you must select a node which is true.  In addition, all of its ancestors back to the root must also be true.}
125
126
127 set pdError(10) {
128 {malloc failure}
129 {dm}
130 {fatal error}
131 {Call to malloc failed within a data manager function.}
132
133
134 set pdError(11) {
135 {Application process has exited}
136 {paradynd}
137 {information}
138 {An application process has exited. This situation may be produced, for example, by an unsuccessful request of memory made by this process, or it could be possible that the application just finished. }
139
140
141 set pdError(12) {
142 {malloc failed in VISIthreadchooseMetRes}
143 {vi}
144 {serious error}
145 {Call to malloc failed within a visi-thread function.}
146
147
148 set pdError(13) {
149 {thr_getspecific failed}
150 {vi}
151 {serious error}
152 {Call to thr_getspecific in a visi-thread function failed.}
153
154
155 set pdError(14) {
156 {Unable to start visualization process}
157 {vi}
158 {serious error}
159 {A request to start a new visualization process has failed. Some possible
160 explanations are:
161 (1) the executable for this visi is not well installed, and you should check whether the executable is in the right place,
162 (2) the process you just started is not a visi process, or
163 (3) Paradyn and the visi process are communicating in an incompatible fasion; e.g. mixing release 1.0 of Paradyn and 1.1 of the visi}
164
165
166 set pdError(15) {
167 {Unable to create performance stream}
168 {vi}
169 {serious error}
170 {An attempt to create a performance stream for a new visualization failed.}
171
172
173 set pdError(16) {
174 {Internal error}
175 {vi}
176 {serious error}
177 {Possible causes: bufferSize out of range in VISIthreadDataCallback and remove() in VISIthreadmain. Please, report this error to paradyn@cs.wisc.edu}
178
179
180 set pdError(17) {
181 {Adding new metrics and/or foci failed}
182 {vi}
183 {information}
184 {An incomplete or invalid metric or focus list was returned as a result of
185 attempting to add metrics and/or foci to a visualization.}
186
187
188 set pdError(18) {
189 {malloc failure in visi manager}
190 {vm}
191 {fatal error}
192 {Call to malloc failed within a visi manager function.}
193
194
195 set pdError(19) {
196 {strdup failure}
197 {vm}
198 {fatal error}
199 {Call to strdup failed within a visi manager function.}
200
201
202 set pdError(20) {
203 {Internal error}
204 {vm}
205 {fatal error}
206 {An unrecoverable error occurred within a visi manager function. Please, report this error to paradyn@cs.wisc.edu}
207
208
209 set pdError(21) {
210 {Tcl Command Failure}
211 {ui}
212 {fatal error}
213 {The tcl interpreter has failed. Bad pointer "newptr". Please, report this error to paradyn@cs.wisc.edu}
214
215
216 set pdError(22) {
217 {Tcl Command Failure}
218 {ui}
219 {fatal error}
220 {The tcl interpreter has failed unexpectedly (getMetsAndRes in UIM::chooseMetricsandResources). Please, report this error to paradyn@cs.wisc.edu }
221
222
223 set pdError(23) {
224 {Read error}
225 {paradynd }
226 {information}
227 {Read error in application process.}
228 }
229
230 set pdError(24) {
231 {Unable to read tcl start-up script}
232 {ui}
233 {information}
234 {A tcl error occurred finding or reading the tcl script specified on the paradyn command line with the -s option.}
235
236
237 set pdError(25) {
238 {Unable to define specified process}
239 {ui}
240 {information}
241 {An error occurred while attempting to define an application.  Check directory, check command, and try again.}
242
243
244 set pdError(26) {
245 {unable to attach to specified process}
246 {ui}
247 {information}
248 {An error occurred while attempting to attach to an existing application.  Check the pid, check the machine name (if any), and try again.}
249
250
251 set pdError(27) {
252 {Executable not found.}
253 {paradynd}
254 {information}
255 {The executable you are trying to run does not exist. Check out your filename and path again!}
256 }
257
258 set pdError(28) {
259 {Unable to find symbol.}
260 {paradynd}
261 {information}
262 {Sorry, no more information available.}
263 }
264
265 set pdError(29) {
266 {Function has bad address.}
267 {paradynd}
268 {information}
269 {Sorry, no more information available.}
270 }
271
272 set pdError(30) {
273 {Incorrect version number.}
274 {paradynd}
275 {information}
276 {Sorry, no more information available.}
277 }
278
279 set pdError(31) {
280 {Internal symbol DYNINSTfirst not found.}
281 {paradynd}
282 {serious error}
283 {You have not properly linked your application with the paradyn dyninst library.  Please, refer to the manual pages in order to check how to do this.}
284 }
285
286 set pdError(32) {
287 {Internal symbol DYNINSTend not found.}
288 {paradynd}
289 {serious error}
290 {This is an internal error. Please, report it to paradyn@cs.wisc.edu}
291 }
292
293 set pdError(33) {
294 {Could not find version number in instrumentation.}
295 {paradynd}
296 {information}
297 {Your program might has been linked with the wrong version of the paradyn dyninst library, or it could be a non executable binary file.}
298 }
299
300 set pdError(34) {
301 {Error function without module.}
302 {paradynd}
303 {information}
304 {Sorry, no more information available.}
305 }
306
307 set pdError(35) {
308 {Unable to open PIF file.}
309 {paradynd}
310 {information}
311 {Sorry, no more information available.}
312 }
313
314 #set pdError(36) {
315 #{Internal error: non-aligned length received on traceStream.}
316 #{paradynd}
317 #{serious error}
318 #{Please, report this error to paradyn@cs.wisc.edu}
319 #}
320
321 set pdError(36) {
322 {Received invalid data on trace stream.}
323 {paradynd}
324 {serious error}
325 {Paradyn received invalid data from a process it was tracing. 
326 There may be many different causes to this problem:
327 1. a bug in the application being traced;
328 2. a bug in Paradyn DYNINST library;
329 3. a bug in the instrumentation code inserted into the 
330 application;
331 4. a bug in the paradyn daemon.
332 Please report this error to paradyn@cs.wisc.edu
333 }
334 }
335
336 set pdError(37) {
337 {Internal error: wrong record type on sid}
338 {paradynd}
339 {serious error}
340 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
341 }
342
343 set pdError(38) {
344 {Error in forwarding signal}
345 {paradynd}
346 {serious error}
347 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
348 }
349
350 set pdError(39) {
351 {Internal error: unknown process state }
352 {paradynd}
353 {serious error}
354 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
355 }
356
357 set pdError(40) {
358 {Internal error: unable to detach PID}
359 {paradynd}
360 {serious error}
361 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
362 }
363
364 set pdError(41) {
365 {Unable to open file.}
366 {paradynd}
367 {information}
368 {Sorry, no more information available.}
369 }
370
371 set pdError(42) {
372 {Internal error: unable to parse executable.}
373 {paradynd}
374 {serious error}
375 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
376 }
377
378 set pdError(43) {
379 {Internal error: unable to get loader info about process. }
380 {paradynd}
381 {serious error}
382 {Internal error -- the ptrace PT_LDINFO call failed. Please, report this error to paradyn@cs.wisc.edu}
383 }
384
385 set pdError(44) {
386 {Internal error: error reading header}
387 {paradynd}
388 {serious error}
389 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
390 }
391
392 set pdError(45) {
393 {Internal error: problem with executable header file.}
394 {paradynd}
395 {serious error}
396 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
397 }
398
399 set pdError(46) {
400 {Program not statically linked.}
401 {paradynd}
402 {information}
403 {Sorry, no more information available.}
404 }
405
406 set pdError(47) {
407 {Dump core failed.}
408 {paradynd}
409 {information}
410 {A paradyn daemon could not dump the core image of a process. This problem can happen because paradyn could not open the file, or it could not write to the file.}
411 }
412
413 set pdError(48) {
414 {Symbol table out of order, use -Xlinker -bnoobjreorder}
415 {paradynd}
416 {information}
417 {Sorry, no more information available.}
418 }
419
420 set pdError(49) {
421 {Error reading executable file.}
422 {paradynd}
423 {information}
424 {Sorry, no more information available.}
425 }
426
427 set pdError(50) {
428 {Internal error: Cannot find file in inst-power.C}
429 {paradynd}
430 {serious error}
431 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
432 }
433
434 set pdError(51) {
435 {Internal error: In forkNodeProcesses, parent id unknown.}
436 {paradynd}
437 {serious error}
438 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
439 }
440
441 set pdError(52) {
442 {Internal error: Branch too far.}
443 {paradynd}
444 {serious error}
445 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
446 }
447
448 set pdError(53) {
449 {Internal error: Program text + data is too big for dyninst.}
450 {paradynd}
451 {fatal error}
452 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
453 }
454
455 set pdError(54) {
456 {Warning: Program text + data could be too big for dyninst.}
457 {paradynd}
458 {information}
459 {Sorry, no more information available.}
460 }
461
462 set pdError(55) {
463 {Internal error: Unsupported return.}
464 {paradynd}
465 {fatal error}
466 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
467 }
468
469 set pdError(56) {
470 {Internal error: exec failed in paradynd to start paradyndCM5.}
471 {paradynd}
472 {serious error}
473 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
474 }
475
476 set pdError(57) {
477 {Internal error: could not write all bytes.}
478 {paradynd}
479 {serious error}
480 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
481 }
482
483 set pdError(58) {
484 {Internal error: unable to find process.}
485 {paradynd}
486 {serious error}
487 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
488 }
489
490 set pdError(59) {
491 {Internal error: there are no processes known to this daemon.}
492 {paradynd}
493 {serious error}
494 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
495 }
496
497 set pdError(60) {
498 {Internal error: unable to find thread.}
499 {paradynd}
500 {serious error}
501 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
502 }
503
504 set pdError(61) {
505 {Internal error: disableDataCollection mid not found.}
506 {paradynd}
507 {serious error}
508 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
509 }
510
511 set pdError(62) {
512 {Internal error: cannot continue PID.}
513 {paradynd}
514 {serious error}
515 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
516 }
517
518 set pdError(63) {
519 {Internal error: cannot pause PID.}
520 {paradynd}
521 {serious error}
522 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
523 }
524
525 set pdError(64) {
526 {No function calls in procedure.}
527 {paradynd}
528 {information}
529 {No function calls where found in current procedure.}
530 }
531
532 set pdError(65) {
533 {Sample not for valid metric instance.}
534 {paradynd}
535 {information}
536 {Sorry, no more information available.}
537 }
538
539 set pdError(66) {
540 {Internal error: inferior heap overflow.}
541 {paradynd}
542 {serious error}
543 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
544 }
545
546 set pdError(67) {
547 {Internal error: attempt to free already freed heap entry.}
548 {paradynd}
549 {serious error}
550 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
551 }
552
553 set pdError(68) {
554 {Internal error: unable to start file.}
555 {paradynd}
556 {information}
557 {Sorry, no more information available.}
558 }
559
560 set pdError(69) {
561 {Internal error: ptrace error.}
562 {paradynd}
563 {serious error}
564 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
565 }
566
567 set pdError(70) {
568 {Internal error: execv failed. }
569 {paradynd}
570 {serious error}
571 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
572 }
573
574 set pdError(71) {
575 {Internal error: vfork failed.}
576 {paradynd}
577 {serious error}
578 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
579 }
580
581 set pdError(72) {
582 {Internal error: unable to stat.}
583 {paradynd}
584 {serious error}
585 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
586 }
587
588 set pdError(73) {
589 {Internal error: could not (un)marshall parameters, dumping core.}
590 {paradynd}
591 {serious error}
592 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
593 }
594
595 set pdError(74) {
596 {Internal error: protocol verification failed.}
597 {paradynd}
598 {serious error}
599 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
600 }
601
602 set pdError(75) {
603 {Internal error: cannot do sync call.}
604 {paradynd}
605 {serious error}
606 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
607 }
608
609 set pdError(76) {
610 {Internal error: unknown message tag. }
611 {paradynd}
612 {serious error}
613 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
614 }
615
616 set pdError(77) {
617 {Internal error: handle error called for wrong err_state.}
618 {paradynd}
619 {serious error}
620 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
621 }
622
623 set pdError(78) {
624 {Internal error: problem stopping process.}
625 {paradynd}
626 {serious error}
627 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
628 }
629
630 set pdError(79) {
631 {Internal error: unable to find addr of DYNINSTobsCostLow.}
632 {paradynd}
633 {serious error}
634 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
635 }
636
637 set pdError(80) {
638 {Internal error: unable to find addr of callee process.}
639 {paradynd}
640 {serious error}
641 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
642 }
643
644 set pdError(81) {
645 {Cannot start process on specified host.}
646 {dm}
647 {information}
648 {This error maybe produced by a wrong host name. Paradyn cannot create the
649 process on the host you are specifying.}
650 }
651
652 set pdError(82) {
653 {Trying to run a thread that is not ready yet.}
654 {dm}
655 {information}
656 {You are trying to run a process that it is still being created. Please, wait
657 and try again.}
658 }
659
660 set pdError(83) {
661 {Internal error: Tcl interpreter failed in routine changeApplicState.}
662 {ui}
663 {serious error}
664 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
665 }
666
667 set pdError(84) {
668 {Cannot create new paradyn daemon process.}
669 {dm}
670 {serious error}
671 {An error was detected when a paradyn daemon was being created. Possible explanations for this problem are:
672 (1) unknown host,
673 (2) it is not possible to establish connection with the specified host, or
674 (3) incompatible versions of Paradyn and Paradynd are being used (e.g. release 1.0 of one and release 1.1 of the other).
675 }
676 }
677
678 set pdError(85) {
679 {Error found in metrics specified in the Paradyn configuration file.}
680 {pdMain}
681 {information}
682 {An error was detected when Paradyn was reading the metrics described in 
683 the Paradyn configuration file.}
684 }
685
686 set pdError(86) {
687 {Cannot enable metric}
688 {dm}
689 {information}
690 {Paradyn cannot enable this particular metric. This might be due to constraints in the definition of the metric (e.g. the metric is restricted to the whole program and we have selected a particular process).  Another cause could be if the enable request is for the current phase, and if a new phase was started in the middle of the enable request, then some metric/focus pairs may not have been enabled for the old phase.}
691 }
692
693 set pdError(87) {
694 {Error in external visualization process. }
695 {vi}
696 {information}
697 {An error has occurred during the execution of an external visualization process.}
698 }
699
700 set pdError(88) {
701 {Must define an application before starting the Performance Consultant.}
702 {ui}
703 {information}
704 {No additional information available.}
705 }
706
707 set pdError(89) {
708 {Command line is missing.}
709 {vi}
710 {information}
711 {The command line is missing from your customized PCL file. You cannot start a process without specifing a command line.}
712 }
713
714 set pdError(90) {
715 {The Paradyn daemon you have specified does not exist.}
716 {vi}
717 {information}
718 {The Paradyn daemon you have specified does not exist. Paradyn cannot start without a valid Paradyn daemon. Please, try again.}
719 }
720
721 set pdError(91) {
722 {Paradyn daemon is missing in PCL file.}
723 {vi}
724 {information}
725 {The Paradyn daemon is missing from your customized PCL file. You need to specify a valid Paradyn daemon in order to start an application on a particular machine.}
726 }
727
728 ## MDL errors
729 set pdError(92) {
730 {Error while evaluating metric.}
731 {paradynd}
732 {information}
733 {A error was found while evaluating a metric for a focus.  The metric cannot be enabled for this focus.
734 }
735
736
737 set pdError(93) {
738 {Metric has no constraint that matches focus.}
739 {paradynd}
740 {information}
741 {You tried to enable a metric for a focus, but the metric has no constraint for this focus. Check your focus selection from the where axis.}
742 }
743
744 set pdError(94) {
745 {Too many arguments to function call in instrumentation code.}
746 {paradynd}
747 {serious error}
748 {An instrumentation request includes a function call with too many arguments.  The maximum number of arguments that can be passed to a function is platform dependent.
749 }
750 }
751
752 set pdError(95) {
753 {Unable to find symbol for metric definition.}
754 {paradynd}
755 {information}
756 {Paradyn could not enable a metric because the metric definition has a function call or tries to read the value of a symbol with readSymbol, but paradyn could not find the symbol in the application symbol tables.
757 }
758 }
759
760 set pdError(96) {
761 {Internal error: attempt to free non-defined heap entry.}
762 {paradynd}
763 {serious error}
764 {Internal error. Please, report this error to paradyn@cs.wisc.edu}
765 }
766
767 set pdError(97) {
768 {Maximum number of metric/focus pairs have been enabled by this client}
769 {dm}
770 {information}
771 {Paradyn cannot enable any more metric/focus pairs for this client.  This is due to a upper bound on the number of pairs the client can enable at one time.  Typically, visualization processes have an upper bound on enabled pairs.
772 }
773 }
774
775 set pdError(98) {
776 {paradynd has been terminated}
777 {pd}
778 {serious}
779 {The paradyn daemon has received a SIGTERM signal probably because the PVM daemon has ran out of virtual memory. Please, check the memory usage of your application.
780 }
781 }
782
783 #
784 # be sure to change this value if you add/delete an entry to the database
785 #
786 proc getNumPdErrors {} {
787     return 98
788 }
789
790