Skip to content

v3.8.1 + v3.8.2: Fatal: no implicit conversion of StringIO into String #303

@sanjayankur31

Description

@sanjayankur31

Using Git head here (5c38b42). Generating the reports works fine, but using tj3d results in this:

Fatal: no implicit conversion of StringIO into String
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/Daemon.rb:72:in 'IO#reopen'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/Daemon.rb:72:in 'TaskJuggler::Daemon#start'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/WebServer.rb:62:in 'TaskJuggler::WebServer#start'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/apps/Tj3WebD.rb:99:in 'TaskJuggler::Tj3WebD#appMain'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/Tj3AppBase.rb:161:in 'TaskJuggler::Tj3AppBase#main'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/tj3webd.rb:16:in '<top (required)>'
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
/usr/share/gems/gems/taskjuggler-3.8.1/bin/tj3webd:4:in '<top (required)>'
/usr/sbin/tj3webd:25:in 'Kernel#load'
/usr/sbin/tj3webd:25:in '<main>'

*******************************************************************************
You have triggered a bug in TaskJuggler version 3.8.1!
Please see the user manual on how to get this bug fixed!
http://www.taskjuggler.org/tj3/manual/Reporting_Bugs.html#Reporting_Bugs_and_Feature_Requests
*******************************************************************************
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/MessageHandler.rb:301:in 'TaskJuggler::MessageHandlerInstance#addMessage': RuntimeError (RuntimeError)
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/MessageHandler.rb:191:in 'TaskJuggler::MessageHandlerInstance#fatal'
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/MessageHandler.rb:312:in 'TaskJuggler::MessageHandler#fatal'
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/Tj3AppBase.rb:176:in 'TaskJuggler::Tj3AppBase#main'
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/tj3webd.rb:16:in '<top (required)>'
        from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
        from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
        from /usr/share/gems/gems/taskjuggler-3.8.1/bin/tj3webd:4:in '<top (required)>'
        from /usr/sbin/tj3webd:25:in 'Kernel#load'
        from /usr/sbin/tj3webd:25:in '<main>'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/Daemon.rb:72:in 'IO#reopen': no implicit conversion of StringIO into String (TypeError)

      $stdout.reopen(StringIO.new)
                     ^^^^^^^^^^^^
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/Daemon.rb:72:in 'TaskJuggler::Daemon#start'
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/WebServer.rb:62:in 'TaskJuggler::WebServer#start'
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/apps/Tj3WebD.rb:99:in 'TaskJuggler::Tj3WebD#appMain'
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/Tj3AppBase.rb:161:in 'TaskJuggler::Tj3AppBase#main'
        from /usr/share/gems/gems/taskjuggler-3.8.1/lib/tj3webd.rb:16:in '<top (required)>'
        from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
        from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
        from /usr/share/gems/gems/taskjuggler-3.8.1/bin/tj3webd:4:in '<top (required)>'
        from /usr/sbin/tj3webd:25:in 'Kernel#load'
        from /usr/sbin/tj3webd:25:in '<main>'
Fatal: no implicit conversion of StringIO into String
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/Daemon.rb:72:in 'IO#reopen'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/Daemon.rb:72:in 'TaskJuggler::Daemon#start'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/daemon/ProjectBroker.rb:91:in 'TaskJuggler::ProjectBroker#start'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/apps/Tj3Daemon.rb:116:in 'TaskJuggler::Tj3Daemon#appMain'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/taskjuggler/Tj3AppBase.rb:161:in 'TaskJuggler::Tj3AppBase#main'
/usr/share/gems/gems/taskjuggler-3.8.1/lib/tj3d.rb:16:in '<top (required)>'
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
/usr/share/gems/gems/taskjuggler-3.8.1/bin/tj3d:4:in '<top (required)>'
/usr/sbin/tj3d:25:in 'Kernel#load'
/usr/sbin/tj3d:25:in '<main>'

*******************************************************************************
You have triggered a bug in TaskJuggler version 3.8.1!
Please see the user manual on how to get this bug fixed!
http://www.taskjuggler.org/tj3/manual/Reporting_Bugs.html#Reporting_Bugs_and_Feature_Requests
*******************************************************************************

  • Platform: Fedora Linux 42
  • Ruby:
    $ ruby-mri --version
    ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
    

I'll try to strip my project file down to come up with a reproducer and report back.

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