ORBit/panel segv with multi applets



-----BEGIN PGP SIGNED MESSAGE-----

Hi all,

just added multi-applet support with different applet types to the cpuload
applet; exactly followed example in `APPLET-WRITING'; first instance of
applet works fine - when I add the second instance of the same applet
to the panel, it dumps core.

This is on RH 5.1 with latest everything from CVS including ORBit:

$ gdb panel
[...]
(gdb) run
[...]
started applet, pid: 22997
w: 72 h: 44
message: Initializing CORBA for applet

make_cpuload_applet (--cpu): 0x807caf8
w: 44 h: 44
Saving to [/panel.d/default/]
Saving session: 1Calling sysdeps open function.
 2 3 4
debug: rereading menu
debug: rereading menu
debug: rereading menu
multi applet running, contacting [/home/baulig/INSTALL/bin/cpuload_applet]
applet_start_new_applet (--cpu): (nil)
make_cpuload_applet (--cpu): 0x8079dc8

Program received signal SIGSEGV, Segmentation fault.
0x8065454 in GNOME_Applet_change_orient (_obj=0x0, 
    cookie=0x80948f0 "NjTO9^/SjAEd", applet_id=3, orient=0, ev=0x806c04c)
    at gnome-panel-stubs.c:1243
1243       _ORBIT_send_buffer =
(gdb) bt
#0  0x8065454 in GNOME_Applet_change_orient (_obj=0x0, 
    cookie=0x80948f0 "NjTO9^/SjAEd", applet_id=3, orient=0, ev=0x806c04c)
    at gnome-panel-stubs.c:1243
#1  0x80638fa in send_applet_change_orient (
    ior=0x80bd588 "@\a\b \005\b\001", applet_id=3, orient=0)
    at orbit-glue.c:434
#2  0x804f4ce in orientation_change (applet_id=3, panel=0x809e140)
    at panel.c:236
#3  0x8059f79 in applet_register (ior=0x8103a38 "@\a\b \005\b\001", 
    applet_id=3) at extern.c:283
#4  0x80633ec in server_applet_register (servant=0x806b5ac, 
    ccookie=0x8103a24 "NjTO9^/SjAEd", ior=0x8103a38 "@\a\b \005\b\001", 
    applet_id=3, ev=0xbfffef98) at orbit-glue.c:208
#5  0x8065f07 in skel_GNOME_Panel_applet_register (
    _ORBIT_servant=0x806b5ac, _ORBIT_recv_buffer=0x811ea30, ev=0xbfffef98, 
    applet_register=0x80633ac <server_applet_register>)
    at gnome-panel-skels.c:220
#6  0x4002e730 in ORBit_POA_handle_request (poa=0x8097188, 
    recv_buffer=0x811ea30) at orbit_poa.c:304
#7  0x4002f0b7 in ORBit_handle_incoming_message (recv_buffer=0x811ea30)
    at server.c:66
#8  0x4003d472 in giop_recv_reply_buffer_use (request_id=9, 
    block_for_reply=1) at giop-msg-buffer.c:678
#9  0x8065906 in GNOME_Applet_start_new_applet (_obj=0x8097278, 
    cookie=0x80948f0 "NjTO9^/SjAEd", param=0x8115e00 "--cpu",
ev=0x806c04c)
    at gnome-panel-stubs.c:1476
#10 0x80639b3 in send_applet_start_new_applet (
    ior=0x811f948
"IOR:010000000d000000474e4f4d452f4170706c65740000000001", '0' <repeats 14
times>,
"35000000010100001a000000766f79616765722e686f6d652d6f662d6c696e75782e636f6d00331d0d000000474e4f4d452f4170706c657400", 
    param=0x8115e00 "--cpu") at orbit-glue.c:459
#11 0x8062b3f in mulapp_load_or_add_to_queue (
    path=0x80d0b00 "/home/baulig/INSTALL/bin/cpuload_applet", 
    param=0x8115e00 "--cpu") at mulapp.c:101
#12 0x80627fd in really_exec_prog (applet_id=3, 
    path=0x80d0b00 "/home/baulig/INSTALL/bin/cpuload_applet", 
    param=0x8115e00 "--cpu") at exec-queue.c:52
#13 0x8062988 in exec_prog (applet_id=3, 
    path=0x80d0b00 "/home/baulig/INSTALL/bin/cpuload_applet", 
    param=0x8115e00 "--cpu") at exec-queue.c:128
#14 0x805a1a5 in load_extern_applet (path=0x8119120 "cpuload_applet", 
    params=0x8115e00 "--cpu", pos=0, panel=0x809e140, cfgpath=0x0)
    at extern.c:384
#15 0x805673b in add_applet (w=0x80b835c, data=0x8112280) at menu.c:436
#16 0x402130b7 in gtk_marshal_NONE__NONE (object=0x80b835c, 
    func=0x80566d8 <add_applet>, func_data=0x8112280, args=0xbffff188)
    at gtkmarshal.c:317
#17 0x40238736 in gtk_handlers_run (handlers=0x810f9f8, signal=0xbffff144, 
    object=0x80b835c, params=0xbffff188, after=0) at gtksignal.c:1747
#18 0x40238053 in gtk_signal_real_emit (object=0x80b835c, signal_id=82, 
    params=0xbffff188) at gtksignal.c:1409
#19 0x402366d3 in gtk_signal_emit (object=0x80b835c, signal_id=82)
    at gtksignal.c:507
#20 0x4025de34 in gtk_widget_activate (widget=0x80b835c) at
gtkwidget.c:2145
#21 0x40218232 in gtk_menu_shell_button_release (widget=0x80f8c20, 
    event=0x811d6a8) at gtkmenushell.c:397
#22 0x40212e05 in gtk_marshal_BOOL__POINTER (object=0x80f8c20, 
    func=0x4021810c <gtk_menu_shell_button_release>, func_data=0x0, 
    args=0xbffff4c4) at gtkmarshal.c:32
#23 0x4023808a in gtk_signal_real_emit (object=0x80f8c20, signal_id=26, 
    params=0xbffff4c4) at gtksignal.c:1423
#24 0x402366d3 in gtk_signal_emit (object=0x80f8c20, signal_id=26)
    at gtksignal.c:507
#25 0x4025dd1c in gtk_widget_event (widget=0x80f8c20, event=0x811d6a8)
    at gtkwidget.c:2121
#26 0x402129ee in gtk_propagate_event (widget=0x80b835c, event=0x811d6a8)
    at gtkmain.c:1695
#27 0x402115c4 in gtk_main_iteration_do (blocking=1) at gtkmain.c:723
#28 0x402112ff in gtk_main_iteration () at gtkmain.c:517
#29 0x40211169 in gtk_main () at gtkmain.c:423
#30 0x8063b02 in panel_corba_gtk_main (
    service_name=0x8067ad5 "IDL:GNOME/Panel:1.0") at orbit-glue.c:520
#31 0x804dd0c in main (argc=1, argv=0xbffff9ac) at main.c:236
(gdb) frame
#0  0x8065454 in GNOME_Applet_change_orient (_obj=0x0, 
    cookie=0x80948f0 "NjTO9^/SjAEd", applet_id=3, orient=0, ev=0x806c04c)
    at gnome-panel-stubs.c:1243
1243       _ORBIT_send_buffer =
(gdb) up
#1  0x80638fa in send_applet_change_orient (
    ior=0x80bd588 "@\a\b \005\b\001", applet_id=3, orient=0)
    at orbit-glue.c:434
434       GNOME_Applet_change_orient(appl, cookie, applet_id, orient,
&ev);
(gdb) frame
#1  0x80638fa in send_applet_change_orient (
    ior=0x80bd588 "@\a\b \005\b\001", applet_id=3, orient=0)
    at orbit-glue.c:434
434       GNOME_Applet_change_orient(appl, cookie, applet_id, orient,
&ev);
(gdb) list
429     void
430     send_applet_change_orient (const char *ior, int applet_id,  int
orient)
431     {
432       GNOME_Applet appl = CORBA_ORB_string_to_object(orb, (CORBA_char
*)ior, &ev);
433
434       GNOME_Applet_change_orient(appl, cookie, applet_id, orient,
&ev);
435
436       if(ev._major)
437         panel_clean_applet(applet_id);
438
(gdb) print appl
$1 = 0x0

Well, fine - CORBA_ORB_string_to_object () returns NULL - any ideas why ?

Martin

- -----------------------------------------------------------------
   Martin Baulig - Angewandte Mathematik - Universitaet Trier

   baulig@castor.uni-trier.de, http://www.home-of-linux.org/
   Key: 1024-bit key with ID C8178435 created 1997/01/24 
   ID:  67 C1 84 A0 47 F5 11 C5  5F 68 4C 84 99 05 C3 92
   Finger me for public key or fetch finger.txt from the url above
- ------------------------------------------------------------------


-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: noconv

iQCVAwUBNcDjpIA8K7jIF4Q1AQGxIQQArlHh5d5d0Q2L2dcrwNJnfywAD0j9SegQ
byWKjhv/FR4Nc4mhlK/sXAFCTJkYU8EujT85y46MlAFjtTptyvvqWkV5eto/mPXa
MNu0d/vE8Y/mA44IcJSRXZuxFvrNn5fTbz2CnVjX5X4xvgWjI0uZLKCZ1kY1p/c/
0UK8Gk0Bm10=
=/ASt
-----END PGP SIGNATURE-----



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]