Bug#842513: vlc: immediate crash on launch on powerpc
Robert Ou
rqou at robertou.com
Sat Oct 29 23:16:02 UTC 2016
On Sat, Oct 29, 2016 at 3:43 PM, James Cowgill <jcowgill at 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 at entry=0xae05c8c0) at
components/controller.cpp:649
#2 0x0ea13c1c in AbstractController::createWidget
(this=this at entry=0xae05c8c0, button=button at entry=TELETEXT_BUTTONS,
options=0) at components/controller.cpp:376
#3 0x0ea16dd0 in AbstractController::createAndAddWidget
(this=this at entry=0xae05c8c0,
controlLayout_=controlLayout_ at entry=0xae05c930,
i_index=i_index at entry=-1, i_type=i_type at 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 at 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
More information about the pkg-multimedia-maintainers
mailing list