HaikuArchives / StreamRadio

Haiku-native application to search for and listen to internet radio stations.
8 stars 11 forks source link

Toggling play/pause crashes #33

Closed humdingerb closed 11 months ago

humdingerb commented 4 years ago

With debuginfo, I get:

state: Call (getNumAvailable() < getNumBlocks())

Frame       IP          Function Name
-----------------------------------------------
00000000    0x60a07112  commpage_syscall + 0x2 
    Disassembly:
        commpage_syscall:
        0x60a07110:             89e1  mov %esp, %ecx
        0x60a07112:             0f34  sysenter  <--

0x722d8c08  0x13c8151   debugger + 0x39 
0x722d8c48  0x13d99d9   __assert_fail + 0x69 
0x722d8c88  0x1454a16   BPrivate::hoardHeap::freeBlock(BPrivate::block&, BPrivate::superblock&, int32, BPrivate::processHeap*) + 0x1ee 
0x722d8cd8  0x14559ec   BPrivate::processHeap::free(void*) + 0x1dc 
0x722d8d08  0x14573f5   free + 0xa9 
0x722d8d40  0x13c5dd7   operator delete(void) + 0x1f 
0x722d8d70  0xf1efc3    _._7BLocker + 0x3f 
0x722d8e70  0x18da147   MainWindow::MessageReceived(BMessage*) + 0xeb7 (/Source/StreamRadio/MainWindow.cpp:314)

If I remove MainWindow.cpp: 315 - 'delete player;' - there's no crash.

I'm not much of a coder, but as 'player' isn't allocated per 'new' on the heap, it doesn't have to be 'delete'd either, right? Or am I missing something?

humdingerb commented 4 years ago

Similar question, see MainWindow.cpp:143.

delete station;
station = existingStation;

Accessing 'station' right after deleting it?

Vidrep commented 4 years ago

I'm seeing this same crash consistently.

Vidrep commented 4 years ago

I built StreamRadio with the “crashEtclean” changes and was not able to replicate this crash or the others.

humdingerb commented 4 years ago

Good. After Jake declares that PR ready for merging, I have a small PR of my own with a suggestion of a small GUI change and then we're ready for a new release, I reckon.

korli commented 11 months ago

Closing as fixed