* Alignment trap - deprecation.pyo
@ 2010-03-13 20:21 ed
2010-03-14 14:58 ` Holger Hans Peter Freyther
2010-03-16 17:54 ` Josh Kropf
0 siblings, 2 replies; 5+ messages in thread
From: ed @ 2010-03-13 20:21 UTC (permalink / raw)
To: openembedded-devel
I am trying to run a simple hello button python program using pygtk.
I have built a minimal-gpe-image for the mini2440.
But when I try and run the helloworld.py from the Pygtk tutorial.
=========================================================
#!/usr/bin/env python
# example helloworld.py
import pygtk
pygtk.require('2.0')
import gtk
class HelloWorld:
# This is a callback function. The data arguments are ignored
# in this example. More on callbacks below.
def hello(self, widget, data=None):
print "Hello World"
def delete_event(self, widget, event, data=None):
# If you return FALSE in the "delete_event" signal handler,
# GTK will emit the "destroy" signal. Returning TRUE means
# you don't want the window to be destroyed.
# This is useful for popping up 'are you sure you want to quit?'
# type dialogs.
print "delete event occurred"
# Change FALSE to TRUE and the main window will not be destroyed
# with a "delete_event".
return False
def destroy(self, widget, data=None):
print "destroy signal occurred"
gtk.main_quit()
def __init__(self):
# create a new window
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
# When the window is given the "delete_event" signal (this is
given
# by the window manager, usually by the "close" option, or on
the
# titlebar), we ask it to call the delete_event () function
# as defined above. The data passed to the callback
# function is NULL and is ignored in the callback function.
self.window.connect("delete_event", self.delete_event)
# Here we connect the "destroy" event to a signal handler.
# This event occurs when we call gtk_widget_destroy() on the
window,
# or if we return FALSE in the "delete_event" callback.
self.window.connect("destroy", self.destroy)
# Sets the border width of the window.
self.window.set_border_width(10)
# Creates a new button with the label "Hello World".
self.button = gtk.Button("Hello World")
# When the button receives the "clicked" signal, it will call
the
# function hello() passing it None as its argument. The hello()
# function is defined above.
self.button.connect("clicked", self.hello, None)
# This will cause the window to be destroyed by calling
# gtk_widget_destroy(window) when "clicked". Again, the destroy
# signal could come from here, or the window manager.
self.button.connect_object("clicked", gtk.Widget.destroy,
self.window)
# This packs the button into the window (a GTK container).
self.window.add(self.button)
# The final step is to display this newly created widget.
self.button.show()
# and the window
self.window.show()
def main(self):
# All PyGTK applications must have a gtk.main(). Control ends
here
# and waits for an event to occur (like a key press or mouse
event).
gtk.main()
# If the program is run directly or passed as an argument to the python
# interpreter then create a HelloWorld instance and show it
if __name__ == "__main__":
hello = HelloWorld()
hello.main()
==============================================================
I get the follow error when I run
#python -v pygtkHelloWorld.py
# /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo
matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.py
import gtk._lazyutils # precompiled
from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo
# /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo
matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.py
import gtk.deprecation # precompiled
from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo
Alignment trap: python (2412) PC=0x40bfa3c4 Instr=0x280069c0
Address=0xffffffff FSR 0x813
Segmentation fault
Does anyone have any ideas why it chokes at deprecation.pyo?????
Thanks
Ed
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: Alignment trap - deprecation.pyo 2010-03-13 20:21 Alignment trap - deprecation.pyo ed @ 2010-03-14 14:58 ` Holger Hans Peter Freyther 2010-03-14 21:51 ` ed 2010-03-16 17:54 ` Josh Kropf 1 sibling, 1 reply; 5+ messages in thread From: Holger Hans Peter Freyther @ 2010-03-14 14:58 UTC (permalink / raw) To: openembedded-devel > # /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo > matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.py > import gtk._lazyutils # precompiled > from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo > # /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo > matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.py > import gtk.deprecation # precompiled > from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo > Alignment trap: python (2412) PC=0x40bfa3c4 Instr=0x280069c0 > Address=0xffffffff FSR 0x813 > Segmentation fault > > > Does anyone have any ideas why it chokes at deprecation.pyo????? No. but you could enable the generation of a coredump with ulimit and then use gdb to figure out where it was generating this alignment trap. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Alignment trap - deprecation.pyo 2010-03-14 14:58 ` Holger Hans Peter Freyther @ 2010-03-14 21:51 ` ed 0 siblings, 0 replies; 5+ messages in thread From: ed @ 2010-03-14 21:51 UTC (permalink / raw) To: openembedded-devel On Sun, 2010-03-14 at 15:58 +0100, Holger Hans Peter Freyther wrote: > > # /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo > > matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.py > > import gtk._lazyutils # precompiled > > from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo > > # /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo > > matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.py > > import gtk.deprecation # precompiled > > from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo > > Alignment trap: python (2412) PC=0x40bfa3c4 Instr=0x280069c0 > > Address=0xffffffff FSR 0x813 > > Segmentation fault > > > > > > Does anyone have any ideas why it chokes at deprecation.pyo????? > > No. but you could enable the generation of a coredump with ulimit and then use > gdb to figure out where it was generating this alignment trap. > > Holger thanks for responding. I know you and everyone else on the list are very busy and I appreciate if I get a response. I try and find help using google but that does not always pan out. So taking your suggestion I am trying to use gdbsever but without much success. This is what I have done. 1. Built image to include gdbserver. 2. Downloaded to my PC python2.6-dbg 3. Downloaded GDB Macros and placed in home/ed/ as .gdbinit 4. On host in terminal window a. $gdb python b. (gdb) target remote 192.168.1.104:2345 c. where 192.168.1.104 is IP address of target board(mini2440) d. Go to target machine and do step 5. e. eventually I get connection timed out. f. I can ping the target machine from the host. 5. On target machine a. Verify that ulimit is set to unlimted b. #gdbserver 192.168.1.100:2345 python pygtkHelloWorld c. where 192.168.1.100 is the IP address of the host machine d. nothing comes back when I enter the above command. I would have thought from reading the wiki page http://en.wikipedia.org/wiki/Gdbserver that I should see something after entering the command. I did an strace on # strace gdbserver 192.168.1.100:2345 python and to see if it would work with just running python. I get the following trace. root@mini2440:~# strace gdbserver 192.168.1.100:2345 python execve("/usr/bin/gdbserver", ["gdbserver", "192.168.1.100:2345", "python"], [/* 12 vars */]) = 0 brk(0) = 0x21000 uname({sys="Linux", node="mini2440", ...}) = 0 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/var/run/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/v4l/half/libthread_db.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v4l/half", 0xbe8ae220) = -1 ENOENT (No such file or directory) open("/lib/tls/v4l/libthread_db.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v4l", 0xbe8ae220) = -1 ENOENT (No such file or directory) open("/lib/tls/half/libthread_db.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/half", 0xbe8ae220) = -1 ENOENT (No such file or directory) open("/lib/tls/libthread_db.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls", 0xbe8ae220) = -1 ENOENT (No such file or directory) open("/lib/v4l/half/libthread_db.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v4l/half", 0xbe8ae220) = -1 ENOENT (No such file or directory) open("/lib/v4l/libthread_db.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v4l", 0xbe8ae220) = -1 ENOENT (No such file or directory) open("/lib/half/libthread_db.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/half", 0xbe8ae220) = -1 ENOENT (No such file or directory) open("/lib/libthread_db.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\17\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=26304, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001c000 mmap2(NULL, 57676, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40025000 mprotect(0x4002b000, 28672, PROT_NONE) = 0 mmap2(0x40032000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_DENYWRITE, 3, 0x5) = 0x40032000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\344K\1\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1127916, ...}) = 0 mmap2(NULL, 1163712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40034000 mprotect(0x40143000, 32768, PROT_NONE) = 0 mmap2(0x4014b000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_DENYWRITE, 3, 0x10f) = 0x4014b000 mmap2(0x4014e000, 8640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_ANONYMOUS, -1, 0) = 0x4014e000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001d000 syscall_983045(0x4001cd40, 0x4001cd40, 0x68c, 0x4001d418, 0x40024060, 0x40024000, 0, 0xf0005, 0x60, 0xffff5874, 0, 0xbe8aeae4, 0, 0xbe8ae7e0, 0x40002010, 0x40002028, 0x20000010, 0x4001cd40, 0xb719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0 mprotect(0x4014b000, 8192, PROT_READ) = 0 mprotect(0x40032000, 4096, PROT_READ) = 0 mprotect(0x40023000, 4096, PROT_READ) = 0 rt_sigaction(SIGIO, {SIG_IGN}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [IO], NULL, 8) = 0 brk(0) = 0x21000 brk(0x42000) = 0x42000 clone(child_stack=0x22068, flags=CLONE_VM|SIGCHLD) = 2898 wait4(2898, <unfinished ... exit status 0> Process 2897 detached ========================== Is there something I have not set up correctly or some step that is not done correctly? Any help will be appreciated. Thanks Ed > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Alignment trap - deprecation.pyo 2010-03-13 20:21 Alignment trap - deprecation.pyo ed 2010-03-14 14:58 ` Holger Hans Peter Freyther @ 2010-03-16 17:54 ` Josh Kropf 2010-03-16 19:12 ` Ed Nelson 1 sibling, 1 reply; 5+ messages in thread From: Josh Kropf @ 2010-03-16 17:54 UTC (permalink / raw) To: openembedded-devel ed, Are you able to use the python interactive shell on your mini2440? I had a similar problem in that python would fail to even start (resulting in an alignment trap). For me simply removing /usr/lib/python2.6/lib-dynload/readline.so kept python from dying on startup. On 03/13/2010 03:21 PM, ed wrote: > I am trying to run a simple hello button python program using pygtk. > > I have built a minimal-gpe-image for the mini2440. > > But when I try and run the helloworld.py from the Pygtk tutorial. > > ========================================================= > > #!/usr/bin/env python > > # example helloworld.py > > import pygtk > pygtk.require('2.0') > import gtk > > class HelloWorld: > > # This is a callback function. The data arguments are ignored > # in this example. More on callbacks below. > def hello(self, widget, data=None): > print "Hello World" > > def delete_event(self, widget, event, data=None): > # If you return FALSE in the "delete_event" signal handler, > # GTK will emit the "destroy" signal. Returning TRUE means > # you don't want the window to be destroyed. > # This is useful for popping up 'are you sure you want to quit?' > # type dialogs. > print "delete event occurred" > > # Change FALSE to TRUE and the main window will not be destroyed > # with a "delete_event". > return False > > def destroy(self, widget, data=None): > print "destroy signal occurred" > gtk.main_quit() > > def __init__(self): > # create a new window > self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) > > # When the window is given the "delete_event" signal (this is > given > # by the window manager, usually by the "close" option, or on > the > # titlebar), we ask it to call the delete_event () function > # as defined above. The data passed to the callback > # function is NULL and is ignored in the callback function. > self.window.connect("delete_event", self.delete_event) > > # Here we connect the "destroy" event to a signal handler. > # This event occurs when we call gtk_widget_destroy() on the > window, > # or if we return FALSE in the "delete_event" callback. > self.window.connect("destroy", self.destroy) > > # Sets the border width of the window. > self.window.set_border_width(10) > > # Creates a new button with the label "Hello World". > self.button = gtk.Button("Hello World") > > # When the button receives the "clicked" signal, it will call > the > # function hello() passing it None as its argument. The hello() > # function is defined above. > self.button.connect("clicked", self.hello, None) > > # This will cause the window to be destroyed by calling > # gtk_widget_destroy(window) when "clicked". Again, the destroy > # signal could come from here, or the window manager. > self.button.connect_object("clicked", gtk.Widget.destroy, > self.window) > > # This packs the button into the window (a GTK container). > self.window.add(self.button) > > # The final step is to display this newly created widget. > self.button.show() > > # and the window > self.window.show() > > def main(self): > # All PyGTK applications must have a gtk.main(). Control ends > here > # and waits for an event to occur (like a key press or mouse > event). > gtk.main() > > # If the program is run directly or passed as an argument to the python > # interpreter then create a HelloWorld instance and show it > if __name__ == "__main__": > hello = HelloWorld() > hello.main() > > ============================================================== > > I get the follow error when I run > #python -v pygtkHelloWorld.py > > # /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo > matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.py > import gtk._lazyutils # precompiled > from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo > # /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo > matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.py > import gtk.deprecation # precompiled > from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo > Alignment trap: python (2412) PC=0x40bfa3c4 Instr=0x280069c0 > Address=0xffffffff FSR 0x813 > Segmentation fault > > > Does anyone have any ideas why it chokes at deprecation.pyo????? > > Thanks > Ed > > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Alignment trap - deprecation.pyo 2010-03-16 17:54 ` Josh Kropf @ 2010-03-16 19:12 ` Ed Nelson 0 siblings, 0 replies; 5+ messages in thread From: Ed Nelson @ 2010-03-16 19:12 UTC (permalink / raw) To: openembedded-devel Josh Kropf wrote: > ed, > > Are you able to use the python interactive shell on your mini2440? I > had a similar problem in that python would fail to even start > (resulting in an alignment trap). > > For me simply removing /usr/lib/python2.6/lib-dynload/readline.so kept > python from dying on startup. > > On 03/13/2010 03:21 PM, ed wrote: >> I am trying to run a simple hello button python program using pygtk. >> >> I have built a minimal-gpe-image for the mini2440. >> >> But when I try and run the helloworld.py from the Pygtk tutorial. >> >> ========================================================= >> >> #!/usr/bin/env python >> >> # example helloworld.py >> >> import pygtk >> pygtk.require('2.0') >> import gtk >> >> class HelloWorld: >> >> # This is a callback function. The data arguments are ignored >> # in this example. More on callbacks below. >> def hello(self, widget, data=None): >> print "Hello World" >> >> def delete_event(self, widget, event, data=None): >> # If you return FALSE in the "delete_event" signal handler, >> # GTK will emit the "destroy" signal. Returning TRUE means >> # you don't want the window to be destroyed. >> # This is useful for popping up 'are you sure you want to >> quit?' >> # type dialogs. >> print "delete event occurred" >> >> # Change FALSE to TRUE and the main window will not be >> destroyed >> # with a "delete_event". >> return False >> >> def destroy(self, widget, data=None): >> print "destroy signal occurred" >> gtk.main_quit() >> >> def __init__(self): >> # create a new window >> self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) >> >> # When the window is given the "delete_event" signal (this is >> given >> # by the window manager, usually by the "close" option, or on >> the >> # titlebar), we ask it to call the delete_event () function >> # as defined above. The data passed to the callback >> # function is NULL and is ignored in the callback function. >> self.window.connect("delete_event", self.delete_event) >> >> # Here we connect the "destroy" event to a signal handler. >> # This event occurs when we call gtk_widget_destroy() on the >> window, >> # or if we return FALSE in the "delete_event" callback. >> self.window.connect("destroy", self.destroy) >> >> # Sets the border width of the window. >> self.window.set_border_width(10) >> >> # Creates a new button with the label "Hello World". >> self.button = gtk.Button("Hello World") >> >> # When the button receives the "clicked" signal, it will call >> the >> # function hello() passing it None as its argument. The >> hello() >> # function is defined above. >> self.button.connect("clicked", self.hello, None) >> >> # This will cause the window to be destroyed by calling >> # gtk_widget_destroy(window) when "clicked". Again, the >> destroy >> # signal could come from here, or the window manager. >> self.button.connect_object("clicked", gtk.Widget.destroy, >> self.window) >> >> # This packs the button into the window (a GTK container). >> self.window.add(self.button) >> >> # The final step is to display this newly created widget. >> self.button.show() >> >> # and the window >> self.window.show() >> >> def main(self): >> # All PyGTK applications must have a gtk.main(). Control ends >> here >> # and waits for an event to occur (like a key press or mouse >> event). >> gtk.main() >> >> # If the program is run directly or passed as an argument to the python >> # interpreter then create a HelloWorld instance and show it >> if __name__ == "__main__": >> hello = HelloWorld() >> hello.main() >> >> ============================================================== >> >> I get the follow error when I run >> #python -v pygtkHelloWorld.py >> >> # /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo >> matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.py >> import gtk._lazyutils # precompiled >> from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_lazyutils.pyo >> # /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo >> matches /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.py >> import gtk.deprecation # precompiled >> from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/deprecation.pyo >> Alignment trap: python (2412) PC=0x40bfa3c4 Instr=0x280069c0 >> Address=0xffffffff FSR 0x813 >> Segmentation fault >> >> >> Does anyone have any ideas why it chokes at deprecation.pyo????? >> >> Thanks >> Ed >> >> >> >> _______________________________________________ >> Openembedded-devel mailing list >> Openembedded-devel@lists.openembedded.org >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel >> > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > I can run python programs but can't run pygtk programs. When I use the python interactive shell I get the Alignment trap then Segment fault when I try and import gtk which is what the deprecation.pyo is doing. >>>import gtk Alignment trap Segment fault. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-03-16 19:17 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-03-13 20:21 Alignment trap - deprecation.pyo ed 2010-03-14 14:58 ` Holger Hans Peter Freyther 2010-03-14 21:51 ` ed 2010-03-16 17:54 ` Josh Kropf 2010-03-16 19:12 ` Ed Nelson
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.