On Sat, Oct 29, 2016 at 3:43 PM, James Cowgill <jcowg...@debian.org> wrote: > Control: tags -1 help > Control: severity -1 grave > > Hi, > > On 29/10/16 23:00, Robert Ou wrote: >> Package: src:vlc >> Version: 2.2.4-7 >> Severity: normal >> >> Dear Maintainer, >> >> I decided I wanted to test the performance of Debian PowerPC on my >> ancient iMac, and I discovered that vlc will immediately crash with an >> illegal instruction right after showing the "Privacy and Network Access >> Policy" window and before showing the main window. The crashes look like >> the following: >> >> [ 1560.952016] vlc[997]: unhandled signal 4 at 0ea48f58 nip 0ea48f58 lr >> 0ea48f4c code 30001 > > As powerpc is a release architecture, this bug is RC. > > I tried running vlc on partch. It managed to get further, but then > segfaulted inside QT so it's probably a separate issue. I also had to > run it in xvfb so it probably gets different results. > > Specifically what powerpc hardware do you have? Could you run vlc within > gdb to determine which instruction it SIGILLs on (try 'layout asm')?
I was testing on a first-generation iMac with a 333 MHz PowerPC 750 (G3). Running vlc under gdb shows that the crash occurs in libqt4_plugin.so in QRect::adjusted. The crash occurs on a "lvx v0,r10,r5" opcode, which is an Altivec opcode. The G3 however does not support Altivec. Here is a backtrace and some more debug information: 0x0ea11f58 in QRect::adjusted (yp2=-5, xp2=-5, yp1=4, xp1=4, this=0xaf3fd6f0) at /usr/include/powerpc-linux-gnu/qt5/QtCore/qrect.h:382 382 /usr/include/powerpc-linux-gnu/qt5/QtCore/qrect.h: No such file or directory. (gdb) where #0 0x0ea11f58 in QRect::adjusted (yp2=-5, xp2=-5, yp1=4, xp1=4, this=0xaf3fd6f0) at /usr/include/powerpc-linux-gnu/qt5/QtCore/qrect.h:382 #1 AbstractController::telexFrame (this=this@entry=0xae05c8c0) at components/controller.cpp:649 #2 0x0ea13c1c in AbstractController::createWidget (this=this@entry=0xae05c8c0, button=button@entry=TELETEXT_BUTTONS, options=0) at components/controller.cpp:376 #3 0x0ea16dd0 in AbstractController::createAndAddWidget (this=this@entry=0xae05c8c0, controlLayout_=controlLayout_@entry=0xae05c930, i_index=i_index@entry=-1, i_type=i_type@entry=TELETEXT_BUTTONS, i_option=<optimized out>) at components/controller.cpp:181 #4 0x0ea17920 in AbstractController::parseAndCreate (newControlLayout=0xae05c930, config=..., this=0xae05c8c0) at components/controller.cpp:145 #5 ControlsWidget::ControlsWidget (this=0xae05c8c0, _p_i=<optimized out>, b_advControls=<optimized out>, _parent=<optimized out>) at components/controller.cpp:700 #6 0x0e934110 in MainInterface::createMainWidget (this=this@entry=0xaf240990, creationSettings=0xaf2306a0) at main_interface.cpp:491 #7 0x0e934b0c in MainInterface::MainInterface (this=0xaf240990, _p_intf=<optimized out>) at main_interface.cpp:166 #8 0x0e91b8a4 in Thread (obj=0x100c3d30) at qt4.cpp:532 #9 0x0ff73500 in start_thread (arg=0xaf3fe380) at pthread_create.c:335 #10 0x0fe8a9ac in clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S:91 (gdb) x/16i $pc-32 0xea11f38 <AbstractController::telexFrame()+2328>: mr r3,r14 0xea11f3c <AbstractController::telexFrame()+2332>: bl 0xead3400 0xea11f40 <AbstractController::telexFrame()+2336>: mr r4,r23 0xea11f44 <AbstractController::telexFrame()+2340>: addi r3,r1,320 0xea11f48 <AbstractController::telexFrame()+2344>: bl 0xead3860 0xea11f4c <AbstractController::telexFrame()+2348>: lwz r4,-32472(r30) 0xea11f50 <AbstractController::telexFrame()+2352>: addi r10,r1,464 0xea11f54 <AbstractController::telexFrame()+2356>: li r5,-144 => 0xea11f58 <AbstractController::telexFrame()+2360>: lvx v0,r10,r5 0xea11f5c <AbstractController::telexFrame()+2364>: li r14,-128 0xea11f60 <AbstractController::telexFrame()+2368>: mr r3,r21 0xea11f64 <AbstractController::telexFrame()+2372>: lvx v1,0,r4 0xea11f68 <AbstractController::telexFrame()+2376>: mr r4,r26 0xea11f6c <AbstractController::telexFrame()+2380>: vadduwm v0,v0,v1 0xea11f70 <AbstractController::telexFrame()+2384>: stvx v0,r10,r14 0xea11f74 <AbstractController::telexFrame()+2388>: bl 0xeac09b0 (gdb) info reg r0 0xea11f40 245440320 r1 0xaf3fd5b0 2940196272 r2 0xaf405850 2940229712 r3 0xaf3fd6f0 2940196592 r4 0xeb0b790 246462352 r5 0xffffff70 4294967152 r6 0xa0d2763c 2698147388 r7 0x0 0 r8 0x0 0 r9 0x19 25 r10 0xaf3fd780 2940196736 r11 0xdd4c9f0 232049136 r12 0xfe1eac4 266463940 r13 0x100280a0 268599456 r14 0xaf3fd658 2940196440 r15 0xae065950 2919651664 r16 0xaf3fd75c 2940196700 r17 0xae06d610 2919683600 r18 0xae071b60 2919701344 r19 0xaf3fd648 2940196424 r20 0xae054690 2919581328 r21 0xaf3fd654 2940196436 r22 0xae0666e0 2919655136 r23 0xaf3fd6e0 2940196576 r24 0xaf3fd76c 2940196716 r25 0xae05c8c0 2919614656 r26 0xaf3fd700 2940196608 r27 0xaf3fd718 2940196632 r28 0xebc2b3c 247212860 r29 0xebc2a68 247212648 r30 0xebc7064 247230564 r31 0xeb09588 246453640 pc 0xea11f58 0xea11f58 <AbstractController::telexFrame()+2360> msr 0x8d932 579890 cr 0x28008848 671123528 lr 0xea11f4c 0xea11f4c <AbstractController::telexFrame()+2348> ctr 0xdd4c9f0 232049136 xer 0x20000000 536870912 orig_r3 0xe 14 trap 0x700 1792