Skip to content

Bug: Internal server error when trying to remove non existing scene #5

@malliaridis

Description

@malliaridis

Description

When trying to remove a scene that does not exist or when trying to remove a scene twice an internal server error is thrown because of a null pointer exception.

Environment details

Streamlabs OBS Version: 1.4.0
Operating System: Windows

Steps to reproduce the bug

  1. Connect to Streamlabs OBS
  2. Send following request (SceneService.removeScene):
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "removeScene",
  "params": {
    "resource": "ScenesService",
    "args": ["scene_id_that_does_not_exist"]
  }
}
  1. See response:
{"id":8,"jsonrpc":"2.0","error":{"code":-32000,"message":"INTERNAL_SERVER_ERROR Cannot read property 'getModel' of null TypeError: Cannot read property 'getModel' of null
    at ScenesService.removeScene (https://slobs-cdn.streamlabs.com/bundles/renderer.js:1:4384089)
    at Proxy.<anonymous> (https://slobs-cdn.streamlabs.com/bundles/renderer.js:1:4353228)
    at ExternalApiService.handleServiceRequest (https://slobs-cdn.streamlabs.com/bundles/renderer.js:1:4416066)
    at ExternalApiService.handleServiceRequest (https://slobs-cdn.streamlabs.com/bundles/renderer.js:1:4353880)
    at ExternalApiService.executeServiceRequest (https://slobs-cdn.streamlabs.com/bundles/renderer.js:1:4414746)
    at https://slobs-cdn.streamlabs.com/bundles/renderer.js:1:4427036\n    at Array.forEach (<anonymous>)
    at TcpServerService.onRequestHandler (https://slobs-cdn.streamlabs.com/bundles/renderer.js:1:4426581)
    at SockJSConnection.<anonymous> (https://slobs-cdn.streamlabs.com/bundles/renderer.js:1:4425659)
    at SockJSConnection.emit (events.js:315:20)
    at RawWebsocketSessionReceiver.didMessage (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:3012954)
    at WebSocket.<anonymous> (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:3012714)
    at WebSocket.emit (events.js:315:20)
    at WebSocket.dispatchEvent (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:1561544)
    at WebSocket._receiveMessage (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:1559629)
    at Hybi.<anonymous> (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:1557494)
    at Hybi.emit (events.js:327:22)
    at Hybi.<anonymous> (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4826078)
    at pipe (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4843119)
    at Pipeline._loop (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4843256)
    at Pipeline.processIncomingMessage (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4842415)
    at Extensions.processIncomingMessage (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4848355)
    at Hybi._emitMessage (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4825769)
    at Hybi._emitFrame (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4824871)
    at Hybi.parse (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4819035)
    at IO.write (https://slobs-cdn.streamlabs.com/bundles/vendors~renderer.js:2:4836575)
    at Socket.ondata (_stream_readable.js:716:22)
    at Socket.emit (events.js:315:20)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:271:9)
    at Socket.Readable.push (_stream_readable.js:212:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:186:23)"}}

Expected behavior

It is expected that the server throws an INVALID_PARAMS = -32602 error with a message like "Scene not found".

Actual behavior

Internal server error is thrown instaed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions